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

Post on 03-Jan-2016

52 views 1 download

description

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Συμφόρηση!

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

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

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

Αλγόριθμος ελέγχου συμφόρησης (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, φάση αργής εκκίνησης

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

TahoeReno

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

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

RTT

RTT

2 RTT + O/R

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

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

2 RTT + O/R

Μοντελοποίηση καθυστέρησης 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]

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

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

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