Δίκτυα Επικοινωνίας Υπολογιστών Ενότητα 13: Στρώμα μεταφοράς

Σχετικά έγγραφα
Δίκτυα Επικοινωνίας Υπολογιστών Ενότητα 3: Εισαγωγή. Μιχαήλ Λογοθέτης Πολυτεχνική Σχολή Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών

Δίκτυα Επικοινωνίας Υπολογιστών Ενότητα 2: Εισαγωγή. Μιχαήλ Λογοθέτης Πολυτεχνική Σχολή Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών

Άσκηση 2. Αν συμβούν 2 duplicate ACKs αντί για timeout τι γίνεται σε αυτή την περίπτωσή;

Εισαγωγή στη Δικτύωση Υπολογιστών

Εισαγωγή στους Αλγορίθμους

Κβαντική Επεξεργασία Πληροφορίας

Διοικητική Λογιστική

Θερμοδυναμική. Ανοικτά Ακαδημαϊκά Μαθήματα. Πίνακες Νερού σε κατάσταση Κορεσμού. Γεώργιος Κ. Χατζηκωνσταντής Επίκουρος Καθηγητής

Εισαγωγή στους Αλγορίθμους

Κβαντική Επεξεργασία Πληροφορίας

Βέλτιστος Έλεγχος Συστημάτων

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 3: Έλεγχοι στατιστικών υποθέσεων

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 1: Καταχώρηση δεδομένων

1 η Διάλεξη. Ενδεικτικές λύσεις ασκήσεων

Λογιστική Κόστους Ενότητα 12: Λογισμός Κόστους (2)

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 2: Περιγραφική στατιστική

Συστήματα Επικοινωνιών

Ενδεικτικές λύσεις ασκήσεων διαχείρισης έργου υπό συνθήκες αβεβαιότητας

Λογιστική Κόστους Ενότητα 8: Κοστολογική διάρθρωση Κύρια / Βοηθητικά Κέντρα Κόστους.

Δυναμική και Έλεγχος E-L Ηλεκτρομηχανικών Συστημάτων

ΗΥ335 - Δίκτυα Υπολογιστών Χειμερινό εξάμηνο Φροντιστήριο Ασκήσεις στο TCP

Εισαγωγή στη Δικτύωση Υπολογιστών

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

Συστήματα Επικοινωνιών

Μαθηματικά Διοικητικών & Οικονομικών Επιστημών

Μηχανολογικό Σχέδιο Ι

Εισαγωγή στους Υπολογιστές

Τίτλος Μαθήματος: Μαθηματική Ανάλυση Ενότητα Γ. Ολοκληρωτικός Λογισμός

Ενότητα. Εισαγωγή στις βάσεις δεδομένων

Εισαγωγή στους Αλγορίθμους

Κβαντική Επεξεργασία Πληροφορίας

Τηλεπικοινωνιακά Δίκτυα Ευρείας Ζώνης Ενότητα 8: MPLS και Τηλεπικοινωνιακή Κίνηση

Μυελού των Οστών Ενότητα #1: Ερωτήσεις κατανόησης και αυτόαξιολόγησης

ΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ. Έλεγχος και Αποφυγή Συμφόρησης στο TCP. Δίκτυα Υπολογιστών

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Έλεγχος και Διασφάλιση Ποιότητας Ενότητα 4: Μελέτη ISO Κουππάρης Μιχαήλ Τμήμα Χημείας Εργαστήριο Αναλυτικής Χημείας

Θεωρία Τηλεπικοινωνιακής Κίνησης Ενότητα 10: Προσέγγιση μειωμένου φορτίου

Συστήματα Επικοινωνιών

Αερισμός. Ενότητα 1: Αερισμός και αιμάτωση. Κωνσταντίνος Σπυρόπουλος, Καθηγητής Σχολή Επιστημών Υγείας Τμήμα Ιατρικής

Βέλτιστος Έλεγχος Συστημάτων

Εφαρμογές των Τεχνολογιών της Πληροφορίας και των Επικοινωνιών στη διδασκαλία και τη μάθηση

Εισαγωγή στην Διοίκηση Επιχειρήσεων

ΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ. Έλεγχος και Αποφυγή Συμφόρησης στο TCP. Δίκτυα Υπολογιστών

Δομές Δεδομένων Ενότητα 1

Διοικητική Λογιστική

Μαθηματικά Διοικητικών & Οικονομικών Επιστημών

Εφαρμογές των Τεχνολογιών της Πληροφορίας και των Επικοινωνιών στη διδασκαλία και τη μάθηση

Βέλτιστος Έλεγχος Συστημάτων

Θερμοδυναμική. Ανοικτά Ακαδημαϊκά Μαθήματα. Πίνακες Νερού Υπέρθερμου Ατμού. Γεώργιος Κ. Χατζηκωνσταντής Επίκουρος Καθηγητής

Δυναμική και Έλεγχος E-L Ηλεκτρομηχανικών Συστημάτων

Γραμμική Άλγεβρα και Μαθηματικός Λογισμός για Οικονομικά και Επιχειρησιακά Προβλήματα

Μαθηματικά Διοικητικών & Οικονομικών Επιστημών

Εισαγωγή στους Αλγορίθμους Ενότητα 10η Άσκηση Αλγόριθμος Dijkstra

Διεθνείς Οικονομικές Σχέσεις και Ανάπτυξη

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Εισαγωγή στους Η/Υ. Ενότητα 2β: Αντίστροφο Πρόβλημα. Δημήτρης Σαραβάνος, Καθηγητής Πολυτεχνική Σχολή Τμήμα Μηχανολόγων & Αεροναυπηγών Μηχανικών

Βάσεις Περιβαλλοντικών Δεδομένων

Ιστορία της μετάφρασης

Διοίκηση Επιχειρήσεων

Λογιστική Κόστους Ενότητα 11: Λογισμός Κόστους (1)

Λογιστική Κόστους Ενότητα 10: Ασκήσεις Προτύπου Κόστους Αποκλίσεων.

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ

Κβαντική Επεξεργασία Πληροφορίας

Πρωτόκολλα Διαδικτύου

Τεχνικό Σχέδιο - CAD

Εισαγωγή στους Αλγορίθμους Ενότητα 9η Άσκηση - Αλγόριθμος Prim

ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ. Έλεγχος και Αποφυγή Συμφόρησης στο TCP. Δίκτυα Υπολογιστών

Διδακτική των εικαστικών τεχνών Ενότητα 1

Ηλεκτρικά Κινητήρια Συστήματα

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Γενική Φυσική Ενότητα: Εισαγωγή στην Ειδική Θεωρία της Σχετικότητας

Δυναμική και Έλεγχος E-L Ηλεκτρομηχανικών Συστημάτων

Δυναμική και Έλεγχος E-L Ηλεκτρομηχανικών Συστημάτων

Εφαρμοσμένη Βελτιστοποίηση

Λειτουργία και εφαρμογές της πολιτιστικής διαχείρισης

Τεχνικό Σχέδιο - CAD. Τόξο Κύκλου. Τόξο Κύκλου - Έλλειψη. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Γραμμική Άλγεβρα και Μαθηματικός Λογισμός για Οικονομικά και Επιχειρησιακά Προβλήματα

Τεχνικό Σχέδιο - CAD

Έλεγχος Ποιότητας Φαρμάκων

Προχωρημένα Θέματα Προγραμματισμού Δικτύων

Βέλτιστος Έλεγχος Συστημάτων

Δυναμική και Έλεγχος E-L Ηλεκτρομηχανικών Συστημάτων

Έλεγχος συµφόρησης µε το Πρωτόκολλο TCP

Μαθηματικά Διοικητικών & Οικονομικών Επιστημών

Διοικητική Λογιστική

Διδακτική των εικαστικών τεχνών Ενότητα 3

Τίτλος Μαθήματος: Μαθηματική Ανάλυση Ενότητα Β. Διαφορικός Λογισμός

Υπολογιστές και ίκτυα Η/Υ.

ΣΥΜΠΕΡΙΦΟΡΑ ΚΑΤΑΝΑΛΩΤΗ

Εκκλησιαστικό Δίκαιο. Ενότητα 10η: Ιερά Σύνοδος της Ιεραρχίας και Διαρκής Ιερά Σύνοδος Κυριάκος Κυριαζόπουλος Τμήμα Νομικής Α.Π.Θ.

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Προγραμματισμός H/Y Ενότητα 4: Δείκτες. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Διδακτική Πληροφορικής

Διεθνείς Οικονομικές Σχέσεις και Ανάπτυξη

Βέλτιστος Έλεγχος Συστημάτων

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 1

Μεθοδολογία Έρευνας Κοινωνικών Επιστημών Ενότητα 2: ΣΥΓΚΕΝΤΡΩΣΗ ΠΛΗΡΟΦΟΡΙΩΝ ΜΑΡΚΕΤΙΝΓΚ Λοίζου Ευστράτιος Τμήμα Τεχνολόγων Γεωπόνων-Kατεύθυνση

Λογιστική Κόστους Ενότητα 11: Λογισμός Κόστους

Transcript:

Δίκτυα Επικοινωνίας Υπολογιστών Ενότητα 13: Στρώμα μεταφοράς Μιχαήλ Λογοθέτης Πολυτεχνική Σχολή Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών

Συνιστώμενο Βιβλίο: Δικτύωση Υπολογιστών Προσέγγιση από Πάνω προς τα Κάτω KUROSE ROSS Τίτλος στην Αγγλική: Computer Networking: A Top Down Approach Επιμέλεια Ελληνικής Μετάφρασης: Μαυρίδης Ιωάννης Φουληράς Παναγιώτης Εκδόσεις : Μ. Γκιούρδας Έκτη Έκδοση Η πλειονότητα των διαφανειών της 13 ης ενότητας αποτελούν προσαρμογή και απόδοση στα ελληνικά των διαφανειών του 3 ου κεφαλαίου που συνοδεύουν το βιβλίο «Computer Networking: A Top Down Approach» J.F Kurose and K.W. Ross, 6/E, Addison Wesley (Copyright Pearson Education Inc). Η παρούσα προσαρμογή βασίζεται σε μεγάλο βαθμό σε απόδοση των διαφανειών αυτών στα ελληνικά, την επιμέλεια της οποίας είχε ο καθηγητής του Καποδιστριακού Πανεπιστημίου Αθηνών, κ. Λάζαρος Μεράκος. 2

Σκοποί ενότητας Κατανόηση των αρχών ελέγχου συμφόρησης Κατανόηση του ελέγχου συμφόρησης του TCP 3

Περιεχόμενα ενότητας Αρχές του Ελέγχου Συμφόρησης Αίτια/κόστη συμφόρησης Προσεγγίσεις στον έλεγχο συμφόρησης Έλεγχος συμφόρησης TCP: προσθετική αύξηση, πολλαπλασιαστική μείωση (AIMD) Αργή εκκίνηση του TCP TCP: ανίχνευση, αντίδραση σε απώλειες TCP: Μετάβαση από αργή εκκίνηση σε αποφυγή συμφόρησης (Slow Start to Congestion Avoidance) Διεκπεραιωτική ικανότητα TCP Δικαιοσύνη του TCP 4

Κεφάλαιο 3: Στρώμα Μεταφοράς 3.1 Υπηρεσίες επιπέδου μεταφοράς 3.2 Πολύπλεξη και αποπολύπλεξη 3.3 Ασυνδεσμική μεταφορά: UDP 3.4 Αρχές της αξιόπιστης μεταφοράς δεδομένων 3.5 Συνδεσμική μεταφορά: TCP Δομή τμήματος Αξιόπιστη μεταφορά δεδομένων Έλεγχος ροής Διαχείριση σύνδεσης 3.6 Αρχές ελέγχου συμφόρησης 3.7 Έλεγχος συμφόρησης του TCP 5

Αρχές του Ελέγχου Συμφόρησης Συμφόρηση: πολλές πηγές που στέλνουν πολλά δεδομένα πολύ γρήγορα για να τα χειριστεί το δίκτυο διαφορετικό από τον έλεγχο ροής! συμπτώματα: χαμένα πακέτα (υπερχείλιση ενταμιευτών στους δρομολογητές) μεγάλες καθυστερήσεις (αναμονή στους ενταμιευτές των δρομολογητών) σημαντικό πρόβλημα! 6

Αίτια/κόστη συμφόρησης: σενάριο 1 Δύο αποστολείς, δύο δέκτες Απεριόριστοι ενταμιευτές, ένας δρομολογητής Χωρητικότητα εξερχόμενης ζεύξης: R Χωρίς αναμεταδόσεις R/2 Host B original data: in Host A unlimited shared output link buffers throughput: out out delay in R/2 in R/2 Μέγιστη διεκπεραιωτική Μεγάλες καθυστερήσεις δεδομένου ικανότητα: R/2 ότι ο ρυθμός άφιξης, λ in, προσεγγίζει την χωρητικότητα 7

Αίτια/κόστη συμφόρησης: σενάριο 2 Ένας δρομολογητής, πεπερασμένοι ενταμιευτές Ο αποστολέας αναμεταδίδει τα χαμένα πακέτα Είσοδος στρώματος εφαρμογής = έξοδος στρώματος εφαρμογής: λ in = λ out Είσοδος στρώματος μεταφοράς περιλαμβάνει αναμεταδόσεις: λ in λ in in : original data ' in : original data, plus retransmitted data out Host A Host B finite shared output link buffers 8

Αίτια/κόστη συμφόρησης: σενάριο 2 (συν.) Ιδανικά: άριστη γνώση Ο αποστολέας στέλνει μόνο όταν οι ενταμιευτές του δρομολογητή είναι διαθέσιμοι R/2 out in R/2 copy in : original data ' in : original data, plus retransmitted data out A free buffer space! finite shared output Host B link buffers 9

Αίτια/κόστη συμφόρησης: σενάριο 2 (συν.) Ιδανικά: γνωστές απώλειες Τα πακέτα μπορούν να χαθούν, όταν όταν οι ενταμιευτές του δρομολογητή είναι πλήρεις Ο αποστολέας ξαναστέλνει το πακέτο μόνο αν γνωρίζει ότι το πακέτο έχει χαθεί copy in : original data ' in : original data, plus retransmitted data out A no buffer space! Host B 10

Αίτια/κόστη συμφόρησης: σενάριο 2 (συν.) Ιδανικά: γνωστές απώλειες Τα πακέτα μπορούν να χαθούν, όταν όταν οι ενταμιευτές του δρομολογητή είναι πλήρεις Ο αποστολέας ξαναστέλνει το πακέτο μόνο αν γνωρίζει ότι το πακέτο έχει χαθεί R/2 out in R/2 Όταν στέλνουμε με R/2, κάποια πακέτα είναι επαναμεταδόσεις αλλά ισχύει ότι asymptotic goodput =R/2 (γιατί;) copy in : original data ' in : original data, plus retransmitted data out A no buffer space! Host B 11

Αίτια/κόστη συμφόρησης: σενάριο 2 (συν.) Ρεαλιστικά: διπλότυπα Τα πακέτα μπορούν να χαθούν, απορριφθούν στον δρομολογητή λόγω πληρότητας των ενταμιευτών Στον αποστολέα συμβαίνει πρόωρη λήξη χρόνου οπότε φτάνει στον παραλήπτη τόσο το πακέτο αρχικών δεδομένων όσο και η επαναμετάδοση R/2 out in R/2 Όταν στέλνουμε με R/2, κάποια πακέτα είναι επαναμεταδόσεις συμπεριλαμβανομένων των αναπαραγόμενων (duplicated) που έχουν παραδοθεί! copy timeout in ' in out A free buffer space! Host B 12

Αίτια/κόστη συμφόρησης: σενάριο 2 (συν.) Ρεαλιστικά: διπλότυπα Τα πακέτα μπορούν να χαθούν, απορριφθούν στον δρομολογητή λόγω πληρότητας των ενταμιευτών Στον αποστολέα συμβαίνει πρόωρη λήξη χρόνου οπότε φτάνει στον παραλήπτη τόσο το πακέτο αρχικών δεδομένων όσο και η επαναμετάδοση out R/2 in R/2 Όταν στέλνουμε με R/2, κάποια πακέτα είναι επαναμεταδόσεις συμπεριλαμβανομένων των αναπαραγόμενων (duplicated) που έχουν παραδοθεί! Κόστη συμφόρησης: Ο αποστολέας πρέπει να κάνει επαναμεταδόσεις για να αντισταθμίσει τα απορριφθέντα (χαμένα) πακέτα Άχρηστες επαναμεταδόσεις από τον αποστολέα: η ζεύξη μεταφέρει πολλαπλά αντίγραφα ενός πακέτου Μείωση διεκπεραιωτικής ικανότητας 13

Αίτια/κόστη της συμφόρησης: σενάριο 3 Τέσσερεις αποστολείς Ε: τι συμβαίνει καθώς το in και Διαδρομές πολλαπλών τμημάτων το in αυξάνουν; Λήξη χρόνου/αναμετάδοση A: καθώς το κόκκινο λ in αυξάνει, όλα τα μπλε πακέτα που φθάνουν στην πάνω ουρά απορρίπτονται,blue throughput 0 in : original data ' in : original data, plus Host A out Host B retransmitted data finite shared output link buffers Host D Host C 14

Αίτια/κόστη της συμφόρησης: σενάριο 3 C/2 out in C/2 Ένα άλλο κόστος της συμφόρησης: όταν ένα πακέτο χάνεται, η upstream (αντιρευματική) χωρητικότητα που χρησιμοποιήθηκε για τη μετάδοσή του έχει σπαταληθεί! 15

Προσεγγίσεις στον έλεγχο συμφόρησης Από άκρο σε άκρο έλεγχος συμφόρησης: καμιά άμεση ανάδραση από το δίκτυο η συμφόρηση συνάγεται από τις απώλειες, καθυστερήσεις που παρατηρούν τα τερματικά συστήματα προσέγγιση που ακολουθεί το TCP Έλεγχος συμφόρησης επιβοηθούμενος από το δίκτυο: οι δρομολογητές παρέχουν ανάδραση στα τερματικά συστήματα ένα bit που υποδεικνύει συμφόρηση (SNA, DECbit, TCP/IP ECN, ATM) σαφής ρυθμός με τον οποίο ο αποστολέας θα πρέπει να στέλνει 16

Μελέτη περίπτωσης: Έλεγχος συμφόρησης ABR: available bit rate (διαθέσιμος ρυθμός bit): ελαστική υπηρεσία Αν η διαδρομή του αποστολέα είναι υποφορτωμένη ( underloaded ): Ο αποστολέας θα πρέπει να χρησιμοποιήσει όσο από το διαθέσιμο εύρος ζώνης επιθυμεί/μπορεί Αν η διαδρομή του αποστολέα είναι σε συμφόρηση: Ο αποστολέας ρυθμίζει το ρυθμό μετάδοσης στον ελάχιστο ATM ABR RM (resource management) cells (κελιά διαχείρισης πόρων): Στέλνονται από τον αποστολέα, διaσπαρμένα σε κελιά δεδομένων Κάποια bits στο RM cell τίθενται από τους μεταγωγούς (επιβοηθούμενο από το δίκτυο) NI bit: όχι αύξηση στο ρυθμό (μέτρια συμφόρηση) CI bit: ένδειξη συμφόρησης Τα RM cells επιστρέφονται στον αποστολέα από το δέκτη, με τα bits άθικτα εγγυημένο ρυθμό 17

Μελέτη περίπτωσης: Έλεγχος συμφόρησης ATM ABR RM cell data cell πεδίο ER (explicit rate): δύο bytes στο κελί RM μεταγωγός με συμφόρηση μπορεί να θέσει χαμηλότερη τιμή του ER στο κελί έτσι ο ρυθμός αποστολής του αποστολέα ισούται με το μέγιστο υποστηριζόμενο ρυθμό στη διαδρομή EFCI bit στα κελιά δεδομένων: τίθεται 1 σε μεταγωγό με συμφόρηση αν το κελί δεδομένων που προηγείται του κελιού RM έχει το EFCI ίσο με 1, ο προορισμός θέτει 1 το CI bit στο κελί RM που στέλνει πίσω 18

Κεφάλαιο 3: Στρώμα Μεταφοράς 3.1 Υπηρεσίες επιπέδου μεταφοράς 3.2 Πολύπλεξη και αποπολύπλεξη 3.3 Ασυνδεσμική μεταφορά: UDP 3.4 Αρχές της αξιόπιστης μεταφοράς δεδομένων 3.5 Συνδεσμική μεταφορά: TCP Δομή τμήματος Αξιόπιστη μεταφορά δεδομένων Έλεγχος ροής Διαχείριση σύνδεσης 3.6 Αρχές ελέγχου συμφόρησης 3.7 Έλεγχος συμφόρησης του TCP 19

Έλεγχος συμφόρησης TCP: προσθετική αύξηση, πολλαπλασιαστική μείωση (AIMD) Προσέγγιση: αύξηση ρυθμού μετάδοσης αποστολέα (μέγεθος παραθύρου), ανίχνευση του χρησιμοποιήσιμου εύρους ζώνης, μέχρι να εμφανιστεί απώλεια προσθετική αύξηση (additive increase): αύξηση του cwnd (CongWin) κατά 1 MSS κάθε RTT μέχρι να εμφανιστεί απώλεια πολλαπλασιαστική μείωση (multiplicative decrease) : μείωση του CongWin στο μισό μετά από απώλεια AIMD «πριονωτή» συμπεριφορά cwnd: TCP sender congestion window size Προσθετική αύξηση μεγέθους παραθύρου. Μέχρι να υπάρξει απώλεια (τότε μειώνει το παράθυρο στο μισό) time 20

Έλεγχος συμφόρησης TCP: λεπτομέρειες sender sequence number space cwnd last byte ACKed last byte sent Ο αποστολέας περιορίζει την μετάδοση: sent, notyet ACKed ( inflight ) LastByteSent- LastByteAcked < cwnd TCP ρυθμός αποστολής: περίπου: στέλνει CongWin bytes, περιμένει RTT για ACKs, τότε στέλνει περισσότερα bytes rate ~ cwnd RTT bytes/sec Cwnd είναι δυναμικό, συνάρτηση της παρατηρούμενης συμφόρησης του δικτύου 21

Αργή εκκίνηση του TCP Όταν ξεκινά η σύνδεση, ο ρυθμός αυξάνεται εκθετικά μέχρι την πρώτη απώλεια: αρχικά CongWin = 1 MSS το CongWin διπλασιάζεται σε κάθε RTT γίνεται αυξάνοντας το CongWin με κάθε ACK που λαμβάνεται Σύνοψη: αρχικός ρυθμός αργός, αλλά ανεβαίνει εκθετικά γρήγορα Host A RTT Host B time 22

Αργή εκκίνηση του TCP(συν.) Όταν ξεκινά η σύνδεση, CongWin = 1 MSS Π.Χ.: MSS = 500 bytes & RTT = 200 msec Αρχικός ρυθμός = 20 kbps (500bytes*8bits/byte*1/0.2sec) Το διαθέσιμο εύρος ζώνης ενδέχεται να είναι >> MSS/RTT Είναι επιθυμητή η γρήγορη επίτευξη ενός σεβαστού ρυθμού 23

TCP: ανίχνευση, αντίδραση σε απώλειες οι απώλειες υποδεικνύονται από τα timeout: το CongWin ορίζεται σε 1 MSS στη συνέχεια το παράθυρο αυξάνεται εκθετικά (όπως στην αργή εκκίνηση) μέχρι ένα κατώφλι (Threshold), μετά αυξάνεται γραμμικά απώλειες υποδεικνύονται από 3 διπλότυπα ACK: TCP RENO διπλότυπα ACKs υποδεικνύουν δίκτυο ικανό να παραδώσει ορισμένα τμήματα το CongWin μειώνεται στο μισό παράθυρο, μετά αυξάνεται γραμμικά TCP Tahoe πάντα θέτει το CongWin στο 1 (timeout ή 3 διπλά ACK) 24

TCP: Μετάβαση από αργή εκκίνηση σε αποφυγή συμφόρησης (Slow Start to Congestion Avoidance) Ε: Πότε θα πρέπει να γίνει η αλλαγή από εκθετική σε γραμμική αύξηση; A: Όταν το CongWin γίνει το 1/2 της τιμής του πριν το timeout. Υλοποίηση: Μεταβλητό κατώφλι Threshold (ssthresh) Σε γεγονός απώλειας, το Threshold τίθεται στο 1/2 του CongWin πριν το γεγονός της απώλειας 25

Σύνοψη: Έλεγχος συμφόρησης TCP cwnd = 1 MSS ssthresh = 64 KB dupackcount = 0 timeout ssthresh = cwnd/2 cwnd = 1 MSS dupackcount = 0 retransmit missing segment dupackcount == 3 ssthresh= cwnd/2 cwnd = ssthresh + 3 retransmit missing segment duplicate ACK dupackcount++ slow start New ACK! new ACK cwnd = cwnd+mss dupackcount = 0 transmit new segment(s), as allowed cwnd > ssthresh timeout ssthresh = cwnd/2 cwnd = 1 MSS dupackcount = 0 retransmit missing segment timeout ssthresh = cwnd/2 cwnd = 1 dupackcount = 0 retransmit missing segment fast recovery new ACK cwnd = cwnd + MSS (MSS/cwnd) dupackcount = 0 transmit new segment(s), as allowed cwnd = ssthresh dupackcount = 0 congestion avoidance New ACK! New ACK. New ACK! duplicate ACK dupackcount++ dupackcount == 3 ssthresh= cwnd/2 cwnd = ssthresh + 3 retransmit missing segment duplicate ACK cwnd = cwnd + MSS transmit new segment(s), as allowed 26

Σύνοψη: Έλεγχος Συμφόρησης του TCP (2) Όταν το CongWin είναι κάτω από το Threshold, ο αποστολέας είναι στη φάση αργής εκκίνησης, το παράθυρο αυξάνεται εκθετικά. Όταν το CongWin είναι πάνω από το Threshold, ο αποστολέας είναι στη φάση αποφυγής συμφόρησης, το παράθυρο αυξάνεται γραμμικά. Όταν εμφανιστεί τριπλό διπλότυπο ACK, το Threshold τίθεται σε CongWin/2 και το CongWin τίθεται σε Threshold. Όταν εμφανιστεί timeout, το Threshold τίθεται σε CongWin/2 και το CongWin τίθεται σε 1 MSS. 27

Έλεγχος συμφόρησης του αποστολέα TCP (3) 28

Διεκπεραιωτική ικανότητα TCP Ποιά είναι η διεκπεραιωτική ικανότητα του TCP ως συνάρτηση του μεγέθους παραθύρου και του RTT; Αγνοώντας την αργή εκκίνηση, υποθέτοντας ότι υπάρχουν πάντα δεδομένα για αποστολή Έστω W το μέγεθος παραθύρου (σε bytes) όταν εμφανίζεται απώλεια. Μέσο μέγεθος παραθύρου (# εν πτήσει bytes) είναι ¾ W Μέση διεκπεραιωτική ικανότητα: ¾ W ανά RTT avg TCP thruput = 3 4 W RTT bytes/sec W W/2 29

Μέλλον του TCP: TCP πάνω από «μεγάλου μήκους, χοντρές σωληνώσεις» ( long, fat pipes ) Παράδειγμα: τμήματα 1500 byte, 100ms RTT, επιθυμητή διεκπεραιωτική ικανότητα 10 Gbps Απαιτούμενο μέγεθος παραθύρου W = 83,333 «ενπτήσει» τμήματα Διεκπεραιωτική ικανότητα ως συνάρτηση της πιθανότητας απώλειας τμημάτων, L: TCP throughput = 1.22. MSS RTT L για να επιτευχθεί διεκπεραιωτική ικανότητα 10 Gbps απαιτείται ρυθμός απωλειών L = 2 10 10 πολύ μικρός ρυθμός απωλειών! Νέες εκδόσεις του TCP για υψηλές ταχύτητες 30

Δικαιoσύνη του TCP Στόχος δικαιοσύνης: αν K συνδέσεις TCP μοιράζονται την ίδια μποτιλιαρισμένη ζεύξη (bottleneck link) εύρους ζώνης R, καθεμία θα έπρεπε να έχει μέσο ρυθμό R/K TCP connection 1 TCP connection 2 bottleneck router capacity R 31

Γιατί είναι το TCP δίκαιο; Δύο ανταγωνιζόμενες συνδέσεις: Η προσθετική αύξηση δίνει κλίση 1, καθώς αυξάνει η διεκπεραιωτική ικανότητα Η πολλαπλασιαστική μείωση μειώνει αναλογικά τη διεκπεραιωτική ικανότητα R Ίσο μερίδιο εύρους ζώνης απώλεια: μείωση παραθύρου κατά παράγοντα 2 Αποφυγή συμφόρησης: προσθετική αύξηση απώλεια: μείωση παραθύρου κατά παράγοντα 2 Αποφυγή συμφόρησης: προσθετική αύξηση Connection 1 throughput R 32

Δικαιοσύνη (συνέχεια) Δικαιοσύνη και UDP Οι εφαρμογές πολυμέσων συχνά δε χρησιμοποιούν TCP Δεν θέλουν έλεγχο του ρυθμού από τον έλεγχο συμφόρησης Αντί αυτού, UDP: αποστολή audio/video με σταθερό ρυθμό, ανοχή σε απώλειες πακέτων Δικαιοσύνη και παράλληλες συνδέσεις TCP Μία εφαρμογή μπορεί να ανοίξει πολλαπλές παράλληλες συνδέσεις μεταξύ δύο υπολογιστών Οι Web browsers το κάνουν Παράδειγμα: ζεύξη ρυθμού R που υποστηρίζει 9 συνδέσεις Νέα εφαρμογή ζητά 1 σύνδεση TCP, παίρνει ρυθμό R/10 Νέα εφαρμογή ζητά 11 συνδέσεις TCP, παίρνει ρυθμό R/2! 33

Τέλος Ενότητας

Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στo πλαίσιo του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα Πανεπιστημίου Πατρών» έχει χρηματοδοτήσει μόνο την αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 35

Σημειώματα 36

Σημείωμα Ιστορικού Εκδόσεων Έργου Το παρόν έργο αποτελεί την έκδοση 1.00. 37

Σημείωμα Αναφοράς Copyright Πανεπιστήμιο Πατρών, Μιχαήλ Λογοθέτης. «Δίκτυα Επικοινωνίας Υπολογιστών. Στρώμα μεταφοράς». Έκδοση: 1.0. Πάτρα 2015. Διαθέσιμο από τη δικτυακή διεύθυνση: https://eclass.upatras.gr/courses/ee604/ 38

Σημείωμα Αδειοδότησης Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης Creative Commons Αναφορά, Μη Εμπορική Χρήση Παρόμοια Διανομή 4.0 [1] ή μεταγενέστερη, Διεθνής Έκδοση. Εξαιρούνται τα αυτοτελή έργα τρίτων π.χ. φωτογραφίες, διαγράμματα κ.λ.π., τα οποία εμπεριέχονται σε αυτό και τα οποία αναφέρονται μαζί με τους όρους χρήσης τους στο «Σημείωμα Χρήσης Έργων Τρίτων». [1] http://creativecommons.org/licenses/by nc sa/4.0/ Ως Μη Εμπορική ορίζεται η χρήση: που δεν περιλαμβάνει άμεσο ή έμμεσο οικονομικό όφελος από την χρήση του έργου, για το διανομέα του έργου και αδειοδόχο που δεν περιλαμβάνει οικονομική συναλλαγή ως προϋπόθεση για τη χρήση ή πρόσβαση στο έργο που δεν προσπορίζει στο διανομέα του έργου και αδειοδόχο έμμεσο οικονομικό όφελος (π.χ. διαφημίσεις) από την προβολή του έργου σε διαδικτυακό τόπο Ο δικαιούχος μπορεί να παρέχει στον αδειοδόχο ξεχωριστή άδεια να χρησιμοποιεί το έργο για εμπορική χρήση, εφόσον αυτό του ζητηθεί. 39

Διατήρηση Σημειωμάτων Οποιαδήποτε αναπαραγωγή ή διασκευή του υλικού θα πρέπει να συμπεριλαμβάνει: το Σημείωμα Αναφοράς το Σημείωμα Αδειοδότησης τη δήλωση Διατήρησης Σημειωμάτων το Σημείωμα Χρήσης Έργων Τρίτων (εφόσον υπάρχει) μαζί με τους συνοδευόμενους υπερσυνδέσμους. 40

Σημείωμα Χρήσης Έργων Τρίτων Το Έργο αυτό κάνει χρήση του ακόλουθου έργου: Εικόνες/Σχήματα/Διαγράμματα/Φωτογραφίες/Πίνακες [1] J. Kurose and K. Ross, Δικτύωση Υπολογιστών Προσέγγιση από Πάνω προς τα Κάτω, 6 η έκδοση, Γκιούρδας, 2013 41