Έλεγχος Συμφόρησης TCP

13
Έλεγχος Συμφόρησης TCP Δίκτυα Υπολογιστών Χειμερινό Εξάμηνο 2008-2009 Μαρία Κουτσογιαννάκη

description

Έλεγχος Συμφόρησης TCP. Δίκτυα Υπολογιστών Χειμερινό Εξάμηνο 2008-2009. Μαρία Κουτσογιαννάκη. Λόγοι συμφόρησης. Ο Host A στέλνει στο δίκτυο δεδομένα με μέσο ρυθμό λ in = # bytes/sec O Host B στέλνει στο δίκτυο δεδομένα με μέσο ρυθμό λ in = # bytes/sec - PowerPoint PPT Presentation

Transcript of Έλεγχος Συμφόρησης TCP

Page 1: Έλεγχος Συμφόρησης  TCP

Έλεγχος Συμφόρησης TCP

Δίκτυα Υπολογιστών 2008-2009Χειμερινό Εξάμηνο

Μαρία Κουτσογιαννάκη

Page 2: Έλεγχος Συμφόρησης  TCP

Λόγοι συμφόρησης Ο Host A στέλνει στο δίκτυο δεδομένα με μέσο ρυθμό

λin = #bytes/sec O Host B στέλνει στο δίκτυο δεδομένα με μέσο ρυθμό

λin = #bytes/sec O Router εξυπηρετεί με ρυθμό C

Page 3: Έλεγχος Συμφόρησης  TCP

– Λόγοι συμφόρησης Απλό Σενάριο Θεωρούμε απεριόριστο buffer οπότε τα πακέτα δεν

χάνονται (δεν έχουμε retransmissions) Ο ρυθμός αποστολής λin παρουσιάζει διακυμάνσεις. Η

μέση του τιμή φαίνεται στο γράφημα. Ο μέσος ρυθμός με τον οποίο λαμβάνει η εφαρμογή στο άλλο άκρο είναι λout

Λόγω ελέγχου ροής του TCP λin = λout

Λόγω ύπαρξης του B, ο router δεν μπορεί να εξυπηρετήσει τον Α με ρυθμό μεγαλύτερο από C/2

Page 4: Έλεγχος Συμφόρησης  TCP

– Λόγοι συμφόρησης Απλό Σενάριο Ο Host Α όταν στέλνει στο δίκτυο με ρυθμό λin κοντά

στα όρια C/2 δημιουργεί καθυστέρηση των πακέτων του Στιγμιαίο λin ≠ στιγμιαίο λout τα πακέτα καθυστερούν

στον buffer του router Η από άκρο-σε-άκρο καθυστέρηση των πακέτων της

εφαρμογής για τον Host A:

Page 5: Έλεγχος Συμφόρησης  TCP

Λόγοι συμφόρησης Αν ο buffer είναι πεπερασμένος, αύξηση της

καθυστέρησης στην ουρά του buffer υπερχείλιση Υπερχείλιση αναμετάδοση χαμένων πακέτων από το

TCP δημιουργία επιπλέον κίνησης στον ήδη congested router

Συμφόρηση!

Page 6: Έλεγχος Συμφόρησης  TCP

Έλεγχος Συμφόρησης TCP Το TCP κάνει έλεγχο ροής όχι μόνο για το καλό της

εφαρμογής αλλά και για το καλό του δικτύου LastByteSent - LastByteAcked <= min{CongWin, RcvWin}

Το παράθυρο συμφόρησης μειώνεται όταν ο αποστολέας ανιχνεύσει συμφόρηση, δηλαδή όταν: λάβει 3 γνωστοποιήσεις για το ίδιο πακέτο λήξει ο μετρητής timeout

Page 7: Έλεγχος Συμφόρησης  TCP

Αλγόριθμος ελέγχου συμφόρησης (1/2) Αρχικοποίηση παραθύρου συμφόρησης και ενός κατωφλίου ssthresh

CongWin = Maximum Segment Size (maximum IP datagram size)

Threshold ssthresh<=advertised window Φάση αργής εκκίνησης

Το CongWin αυξάνεται εκθετικά σε κάθε κύκλο μετάδοσης RTT (διπλασιάζεται) μέχρι ένα κατώφλι ssthresh

Φάση αποφυγής συμφόρησης Το CongWin όταν υπερβεί το ssthresh αυξάνει κατά 1 MSS ανά RTT

Αντίδραση σε συμβάντα λήψης 3 ίδιων ACK Reno: CongWin’ = CongWin/2, ssthresh = CongWin/2, φάση

αποφυγής σύγκρουσης Tahoe: CongWin’ = 1 MSS, ssthresh = CongWin/2, φάση αργής

εκκίνησης Αντίδραση σε συμβάντα λήξης χρόνου

Reno, Tahoe: CongWin’ = 1 MSS, ssthresh = CongWin/2, φάση αργής εκκίνησης

Page 8: Έλεγχος Συμφόρησης  TCP

Αλγόριθμος έλεγχου συμφόρησης (2/2)

TahoeReno

Page 9: Έλεγχος Συμφόρησης  TCP

Μοντελοποίηση καθυστέρησης TCP – χωρίςσυμφόρηση Λανθάνουσα καθυστέρηση (latency) L:

Χρόνος εκκίνησης TCP – χρόνος λήψης αιτούμενου αντικειμένου

RTT

RTT

2 RTT + O/R

Page 10: Έλεγχος Συμφόρησης  TCP

Μοντελοποίηση καθυστέρησης TCP – με στατικό παράθυρο συμφόρησης

Ο εξυπηρετητής δέχεται ACK ενός segment πριν ολοκληρώσει τη μετάδοση του πρώτου παραθύρου

2 RTT + O/R

Page 11: Έλεγχος Συμφόρησης  TCP

Μοντελοποίηση καθυστέρησης TCP – με στατικό παράθυρο συμφόρησης

Ο εξυπηρετητής μεταδίδει το πρώτο παράθυρο και περιμένει ένα ACK για να μπορέσει να μεταδώσει το επόμενο τμήμα

2 RTT + O/R

S/R + RTT - W S/R

* (O/W ) - 1

Latency = 2 RTT + O/R + (K-1)[S/R + RTT - W S/R]

Page 12: Έλεγχος Συμφόρησης  TCP

Μοντελοποίηση καθυστέρησης TCP – με δυναμικό παράθυρο συμφόρησης

Page 13: Έλεγχος Συμφόρησης  TCP

Ασκήσεις Από Δικτύωση Υπολογιστών James Kurose, Keith

Ross Σελ 287 άσκηση 26 Σελ 288 άσκηση 31