Πρωτόκολλο TCP Διάλεξη ΙΙI



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

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

Δίκτυα Επικοινωνιών ΙΙ: Transmission Control Protocol

Improving the performance of TCP in the case of packet reordering. Στρατάκη Μαρία

Τρίτη Πρόοδος [110 μονάδες] Απαντήσεις

4.1.1 Πρωτόκολλο TCP - Δομή πακέτου

Πρωτόκολλο TCP Διάλεξη Ι

Λύση: Λύση: Λύση: Λύση:

Κεφάλαιο 1 Το Πρωτόκολλο TCP (Transmission Control Protocol)

Δίκτυα Υπολογιστών Λύσεις σειράς ασκήσεων επανάληψης

Transmission Control Protocol. Transmission Control Protocol

Σχήμα 1: TCP αποστολέας με παράθυρο αποστολέα = 1

Περιεχόμενα. Κεφάλαιο 1 Εισαγωγή σε Έννοιες των Δικτύων Υπολογιστών Κεφάλαιο 2 Αξιοπιστία Κεφάλαιο 3 Αλγόριθμοι Πολλαπλής Πρόσβασης...

Εισαγωγή - ορολογία. Προώθηση (forwarding): Δρομολόγηση (routing):

7.4 Πρωτόκολλο UDP. 3. Στη περίπτωση που ένα μήνυμα χωράει σε ένα τμήμα, χρησιμοποιούμε το πρωτόκολλο TCP.

Πρωτόκολλα Επικοινωνίας Πρωτόκολλο IP

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΔΙΚΤΥΩΝ

Δίκτυα Επικοινωνιών Δίκτυα Υπολογιστών Στρώμα Μεταφοράς (2) Διδάσκοντες: Δρ. Ευγενία Αδαμοπούλου, Δρ. Κώστας Δεμέστιχας

ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ / ΕΠΑΛ(Α & Β ΟΜΑΔΑ) ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 11/12/2011 ΑΠΑΝΤΗΣΕΙΣ

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ 7ο ΚΕΦΑΛΑΙΟ

Δίκτυα Απευθείας Ζεύξης. Επικοινωνία µεταξύ δύο υπολογιστών οι οποίοι είναι απευθείας συνδεδεµένοι.

ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ ΣΤΑ ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ Γ Τάξη Ε.Π.Α.Λ.

ΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ Ασκήσεις για το φυσικό στρώμα. λ από τον ρυθμό μετάδοσής της. Υποθέτοντας ότι ο κόμβος A

ΔΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ Ασκήσεις για το φυσικό στρώμα

ΤΕΛΟΣ 1ΗΣ ΑΠΟ 5 ΣΕΛΙ ΕΣ

Σχήμα 1: TCP αποστολέας με παράθυρο αποστολέα = 1

Δίκτυα Θεωρία

Κεφάλαιο 7.3. Πρωτόκολλο TCP

7.3 Πρωτόκολλο TCP. 1. Το TCP πρωτόκολλο παρέχει υπηρεσίες προσανατολισµένες σε σύνδεση. Σ Λ

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

Α2. Να γράψετε τους αριθμούς 1-5 από τη Στήλη Α και δίπλα το γράμμα της Στήλης Β που δίνει τη σωστή αντιστοίχηση.

ΚΕΦΑΛΑΙΟ 11: Διαδικασία Μετάδοσης Δεδομένων Εισαγωγή

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

Δίκτυα Απευθείας Ζεύξης

Τι είναι το πρωτόκολλο Διαδικτύου (Internet Protocol, IP);

ΟΜΟΣΠΟΝ ΙΑ ΕΚΠΑΙ ΕΥΤΙΚΩΝ ΦΡΟΝΤΙΣΤΩΝ ΕΛΛΑ ΟΣ (Ο.Ε.Φ.Ε.) ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2012 ΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ / ΕΙ ΙΚΟΤΗΤΑΣ

Επίπεδο Δικτύου: Διαδικτύωση

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΔΙΚΤΥΩΝ

Alternating Bit Protocol (ABP)

ΗΜΥ 654: ίκτυα Υπολογιστών Τελική Εξέταση 8 εκεµβρίου 2004 Η εξέταση αποτελείται από δύο µέρη. Απαντήστε όλες τις ερωτήσεις του Μέρους Ι και 3 από

3.3 Πρωτόκολλα ανεύρεσης και απόδοσης διευθύνσεων, Address Resolution Protocol (ARP) και Dynamic Host Configuration Protocol (DHCP)

Δίκτυα Επικοινωνιών Δίκτυα Υπολογιστών και Στρώμα Μεταφοράς Διδάσκοντες: Δρ. Ευγενία Αδαμοπούλου, Δρ. Κώστας Δεμέστιχας

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

α. Συνόδου β. Μεταφοράς γ. Δικτύου δ. Διασύνδεσης δεδομένων ε. Φυσικού Επιπέδου (Μονάδες 5)

Επίπεδο Μεταφοράς (Transport Layer)

Θέματα Πανελλαδικών Εξετάσεων

Γενικές Αρχές. Τεχνολογία ικτύων Επικοινωνιών ΙΙ

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

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

ιαδίκτυα & Ενδοδίκτυα Η/Υ

Λουκάς Ελευθέριος

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

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

7.5 Πρωτόκολλο IP. & Ερωτήσεις

Είναι η διαδικασία εύρεσης της διαδρομής που πρέπει να ακολουθήσει ένα πακέτο για να φτάσει στον προορισμό του. Η διαδικασία αυτή δεν είναι πάντα

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

Εργαστήριο 4 Πρωτόκολλα Δρομολόγησης

Δίκτυα Επικοινωνίας Υπολογιστών

Διάρθρωση. Δίκτυα Υπολογιστών Επικοινωνία από άκρο σε άκρο. Επικοινωνία από άκρο σε άκρο. Διάρθρωση

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

Άσκηση 1. (σημειώστε πως 1KB = 2 10 bytes, 1Mbps = 10 6 bits/sec).

1 Ερωτήσεις σωστό-λάθος

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ 7ο ΚΕΦΑΛΑΙΟ

3.2 Το αυτοδύναμο πακέτο IP (datagram) Δομή πακέτου

7.9 ροµολόγηση. Ερωτήσεις

Επίπεδο Μεταφοράς (Transport Layer)

Εργαστήριο Wireshark: TCP

Συνοπτική Μεθοδολογία Ασκήσεων Κεφαλαίου 7. Ασκήσεις στο IP Fragmentation

MF = 0 Μήκος Επικεφαλίδας = 5

Δίκτυα Υπολογιστών Ενότητα 7: Internet Control Message Protocol - ICMP

Με λίγα λόγια, το TCP/IP καθορίζει τον τρόπο που πακετάρονται και μεταφέρονται τα δεδομένα της σύνδεσής μας.

Δίκτυα Υπολογιστών Εμβάθυνση και Ασκήσεις στο Επίπεδο Μεταφοράς και στο Επίπεδο Εφαρμογής Ιωάννης Κορίνθιος Δρ. Ηλεκτρολόγος Μηχανικός ΕΜΠ

Εργαστήριο Ethereal: TCP

Δίκτυα Υπολογιστών. Ασκήσεις επανάληψης

Εγγυημένη ποιότητα υπηρεσίας

Επαναληπτικό µάθηµα επί των αρχών λειτουργίας του ιαδικτύου. ρ. Κωνσταντίνος Σ. Χειλάς. Ethernet

Πρωτόκολλα επανεκποµπής

HY-335a Project: microtcp 1, μία lightweight TCP βιβλιοθήκη

Πρωτόκολλο ARP. Γεωργιλά Χιονία Καθηγήτρια Πληροφορικής ΠΕ1901

Τη φυσική (MAC) διεύθυνση που δίνει ο κατασκευαστής του δικτυακού υλικού στις συσκευές του (π.χ. στις κάρτες δικτύου). Η περιοχή διευθύνσεων που

Δίκτυα Υπολογιστών Επίπεδο Μεταφοράς Ιωάννης Κορίνθιος Δρ. Ηλεκτρολόγος Μηχανικός ΕΜΠ

Φροντιστήριο στο Mac Layer Καραγκούνης Δημήτρης

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

Εργαστήριο ίκτυα Η/Υ ΙΙΙ

Επίπεδο ύνδεσης Δεδομένων (Data Link Layer DLL)

7.7 Πρωτόκολλο ARP. 1. Το πρωτόκολλο ARP μετατρέπει τις διευθύνσεις IP στις αντίστοιχες φυσικές. Σ Λ

Δίκτυα Υπολογιστών Ενότητα 5: User Datagram Protocol - UDP

Σύντομη παρουσίαση των εργαλείων/εντολών telnet, ping, traceroute nslookup και nmap, zenmap

επιστρέφει το αμέσως μεγαλύτερο από το x στοιχείο του S επιστρέφει το αμέσως μικρότερο από το x στοιχείο του S

ΔΊΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΏΝ ΔΊΚΤΥΑ ΥΠΟΛΟΓΙΣΤΏΝ ΚΑΙ ΣΤΡΏΜΑ ΜΕΤΑΦΟΡΆΣ ΔΙΔΆΣΚΟΝΤΕΣ: ΔΡ. ΕΥΓΕΝΊΑ ΑΔΑΜΟΠΟΎΛΟΥ, ΔΡ. ΚΏΣΤΑΣ ΔΕΜΈΣΤΙΧΑΣ

ΔΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ Ασκήσεις στα Τοπικά Δίκτυα

ΕΚΦΩΝΗΣΕΙΣ ΘΕΜΑ Α. α. Πριν εμφανιστεί η τεχνολογία ISDN οι υπηρεσίες φωνής, εικόνας και δεδομένων απαιτούσαν διαφορετικά δίκτυα.

Επαναληπτικές Ασκήσεις Μαθήματος

ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Queuing Systems

Ιόνιο Πανεπιστήµιο Τµήµα Πληροφορικής Συστήµατα Επικοινωνίας. Μοντέλο TCP/IP. Ενότητα E. Πόσοι εµπλέκονται σε ένα Σύστηµα Επικοινωνίας

ΤΙΤΛΟΣ ΜΑΘΗΜΑΤΟΣ: Δίκτυα Μεταγωγής & Τεχνικές Μεταγωγής Σε Δίκτυα Ευρείας Περιοχής

Άσκηση Διάλεξης 5. Router. Δεδομένα: Οι ζεύξεις ειναι τεχνολογίας ενσύρματου Ethernet των 10 Mbps και 100 Mbps αντίστοιχα.

... Αν ν = 16 εγκαταλείπει τις προσπάθειες μετάδοσης του πακέτου. Τοπολογία Διαύλου (BUS).

Τρίτη Σειρά Ασκήσεων ΑΣΚΗΣΗ 1 ΑΣΚΗΣΗ 1 ΛΥΣΗ ΑΣΚΗΣΗ 2

Transcript:

Πρωτόκολλο TCP Διάλεξη ΙΙI

Χρόνος επαναμετάδοσης Στην προηγούμενη διάλεξη είδαμε ότι: Η πρόβλεψη του χρόνου επαναμετάδοσης ενός πακέτου βάσει του εκθετικού μέσου παρατηρημένου χρόνου παράδοσης παλιότερων επιβεβαιώσεων είναι ακριβέστερη απόότιηπρόβλεψηβάσειτουαπλούμέσου παρατηρημένου χρόνου Αυτό οφείλεται στο ότι: O εκθετικός μέσος όρος δίνει μεγαλύτερη βαρύτητα σε πρόσφατους παρατηρημένους χρόνους παράδοσης πακέτων επιβεβαίωσης

Χρόνος επαναμετάδοσης Οι πιο πρόσφατοι χρόνοι παράδοσης είναι γενικά ενδεικτικότεροι για τις τρέχουσες συνθήκες συμφόρησης που επικρατούν στο διαδίκτυο Ακόμα όμως και οι προβλέψεις βάσει του εκθετικού μέσου όρου δεν παρέχουν ικανοποιητική ακρίβεια όταν οι διακυμάνσεις που παρατηρούνται στους χρόνους παράδοσης παλιότερων επιβεβαιώσεων είναι μεγάλες

Χρόνος επαναμετάδοσης Οι διακυμάνσεις αυτές μπορεί να οφείλονται: Σε αλλαγές στις συνθήκες που επικρατούν στο διαδίκτυο Στο γεγονός ότι ο παραλήπτης ενδεχομένως να επιλέξει να μην αποστείλει αμέσως επιβεβαίωση για κάθε πακέτο που παραλαμβάνει

Χρόνος επαναμετάδοσης Σε διακυμάνσεις στο μέγεθος των πακέτων Το μέγεθος ενός πακέτου είναι ένας από τους παράγοντες που καθορίζουν το χρόνο που απαιτείται για την αποστολή του και συνεπώς επηρεάζει και το χρόνο παράδοσης του αντίστοιχου πακέτου επιβεβαίωσης Όσο πιο αργός είναι ο ρυθμός αποστολής δεδομένων σε σχέση με το ρυθμό μεταγωγής δεδομένων τόσο περισσότερο το μέγεθος ενός πακέτου επηρεάζει το χρόνο λήψης του αντίστοιχου πακέτου επιβεβαίωσης

Χρόνος επαναμετάδοσης Αλγόριθμος Jacobson Επιχειρεί να προβλέψει τη διακύμανση που ενδέχεται να παρατηρηθεί στο χρόνο παράδοσης πακέτων επιβεβαίωσης Η διακύμανση είναι ανάμεσα: στον πραγματικό χρόνο παράδοσης του πακέτου επιβεβαίωσης για το πακέτο k στην πρόβλεψη του χρόνου αυτού βάσει του εκθετικού μέσου παρατηρημένου χρόνου παράδοσης πακέτων επιβεβαίωσης

Χρόνος επαναμετάδοσης Αλγόριθμος Jacobson Η πρόβλεψη αυτή στηρίζεται σε ήδη παρατηρημένες διακυμάνσεις Έστω το πακέτο k+1 (k 0) Η διακύμανση δίνεται από την παρακάτω σχέση: SERR = RTT k + 1 k + 1 SRTT k

Χρόνος επαναμετάδοσης Αλγόριθμος Jacobson όπου: SRTT k η πρόβλεψη του χρόνου παράδοσης της επιβεβαίωσης του πακέτου k+1 βάσει του εκθετικού μέσου χρόνου παράδοσης των τελευταίων k πακέτων επιβεβαίωσης RTT k+1 ο πραγματικός χρόνος παράδοσης της επιβεβαίωσης για το πακέτο k+1

Χρόνος επαναμετάδοσης Αλγόριθμος Jacobson Έστω ότι ο αποστολέας αποστέλλει το πακέτο k+1 (k 0) Ηπρόβλεψητης διακύμανσης για το χρόνο παράδοσης της επιβεβαίωσης για το πακέτο αυτό στηρίζεται στις διακυμάνσεις που έχουν ήδη παρατηρηθεί στους αντίστοιχους χρόνους παράδοσης επιβεβαιώσεων προηγούμενων πακέτων

Χρόνος επαναμετάδοσης Αλγόριθμος Jacobson Και στην περίπτωση αυτή η πρόβλεψη της διακύμανσης γίνεται βάσει της εκθετικής μέσης παρατηρημένης διακύμανσης στους παλιότερους χρόνους παράδοσης πακέτων επιβεβαίωσης Αυτό οφείλεται στο ότι: O εκθετικός μέσος όρος δίνει μεγαλύτερη βαρύτητα σε πρόσφατες παρατηρημένες διακυμάνσεις Οι πιο πρόσφατες διακυμάνσεις είναι γενικά ενδεικτικότερες για προβλέψεις

Χρόνος επαναμετάδοσης Αλγόριθμος Jacobson Η εκθετική μέση παρατηρημένη διακύμανση δίνεται από τη σχέση: SDEV k + 1 = ( 1 h) SDEVk + h SERRk + 1 όπου (1-h) = α Όσο παλιότερα έχει παρατηρηθεί μία διακύμανση τόσο μικρότερος είναι συντελεστής με τον οποίο και πολλαπλασιάζεται

Χρόνος επαναμετάδοσης Αλγόριθμος Jacobson Ο χρόνος επαναμετάδοσης για το πακέτο k+1 δίνεται από τη σχέση: όπου RTO k + + = SRTT f SDEV 1 k + 1 k + 1 SRTT k+1 η πρόβλεψη του χρόνου παράδοσης της επιβεβαίωσης για το πακέτο k+1

Χρόνος επαναμετάδοσης Αλγόριθμος Jacobson SDEV k+1 η πρόβλεψη για τη διακύμανση που αναμένεται να παρατηρηθεί ανάμεσα: Στον πραγματικό χρόνο παράδοσης της επιβεβαίωσης του πακέτου αυτού Στην πρόβλεψη για το χρόνο αυτό Οι παρακάτω τιμές προτείνονται για τις σταθερές: f=4 h=0.25 α=0.875

Χρόνος επαναμετάδοσης Αλγόριθμος Jacobson Ο αλγόριθμος του Jacobson (1988) υπολογίζει το χρόνο επαναμετάδοσης ενός πακέτου βάσει των παραπάνω τύπων Έχει παρατηρηθεί ότι ο αλγόριθμος αυτός βελτιώνει σημαντικά την απόδοση του πρωτοκόλλου TCP

Πολιτική επαναμετάδοσης Ας υποθέσουμε ότι η επιβεβαίωση για το πακέτο i καθυστερεί περισσότερο από το χρονικό όριο RTO i με αποτέλεσμα ο αποστολέας να προβεί σε επαναμετάδοση του πακέτου i Η επαναμετάδοση του πακέτου i πρέπει και αυτή να συσχετισθεί με κάποιο χρονικό όριο RTO i γιατηλήψηενός(νέου) πακέτου επιβεβαίωσης

Πολιτική επαναμετάδοσης Το RTO i πρέπει να είναι μεγαλύτερο από το RTO i για τους εξής λόγους: Η επιβεβαίωση του αρχικού πακέτου καθυστέρησε πέρα του RTO i πιθανά λόγω περισσότερης από την αναμενόμενη συμφόρησης στο δίκτυο Εάν δεν αυξηθεί το RTO i πιθανότατα θα οδηγηθούμε σε δεύτερη επαναμετάδοση

Πολιτική επαναμετάδοσης Ας υποθέσουμε ότι ένας αριθμός ενεργών TCP συνδέσεων δημιουργεί μία περιοχή συμφόρησης στο διαδίκτυο Πολλά πακέτα αποστέλλονται στους προορισμούς τους την ίδια περίπου χρονική στιγμή Η συμφόρηση αυτή έχει ως αποτέλεσμα την καθυστέρηση αρκετών πακέτων Η καθυστερήσεις αυτές πιθανότατα θα προκαλέσουν αρκετές επαναποστολές πακέτων

Πολιτική επαναμετάδοσης Εάν οι επαναποστολές αυτές γίνουν στον ίδιο περίπου χρόνο δηλαδή μετά από περίπου χρόνο RTO i πιθανότατα θα προκαλέσουν νέες συνθήκες συμφόρησης στην ίδια περιοχή του διαδικτύου Σε περίπτωση επαναμετάδοσης λοιπόν ο αποστολέας πρέπει να περιμένει περισσότερο χρόνο προτού προβεί σε νέα επαναμετάδοση

Πολιτική επαναμετάδοσης RTO = q RTO k + 1 k +1 όπου RTO k+1 είναι ο νέος χρόνος επαναμετάδοσης Συνήθως q=2 Η παραπάνω σχέση αυξάνει εκθετικά το χρόνο αναμονής μετά από κάθε επαναμετάδοση

Πολιτική επαναμετάδοσης Αλγόριθμος Karn Ο αλγόριθμος του Jacobson στηρίζει τις προβλέψεις του σε όλους τους προηγούμενους χρόνους παράδοσης πακέτων επιβεβαίωσης Αυτό μπορεί να οδηγήσει σε ανακριβείς προβλέψεις σε περίπτωση που υπάρξουν επαναμεταδόσεις

Πολιτική επαναμετάδοσης Αλγόριθμος Karn Ας υποθέσουμε ότι η επιβεβαίωση του πακέτου k+1 (k 0) καθυστερεί περισσότερο από RTO k+1 Ο αποστολέας προβαίνει σε επαναμετάδοση του πακέτου Μετά από κάποιο χρονικό διάστημα ο αποστολέας λαμβάνει επιβεβαίωση για το πακέτο k+1

Πολιτική επαναμετάδοσης Αλγόριθμος Karn Δύο περιπτώσεις υπάρχουν: Η επιβεβαίωση αντιστοιχεί στην πρώτη αποστολή του πακέτου Ο χρόνος παράδοσης (RTT) πρέπει να μετρηθεί από τη στιγμή της πρώτης μετάδοσης του πακέτου Η επιβεβαίωση αντιστοιχεί στη δεύτερη αποστολή του πακέτου Ο χρόνος παράδοσης (RTT) μετράει από τη στιγμή επαναμετάδοσης του πακέτου

Πολιτική επαναμετάδοσης Αλγόριθμος Karn Ο αποστολέας δεν μπορεί να γνωρίζει ποια από τις δύο περιπτώσεις ισχύει Εάν ισχύει η 2 η περίπτωση και ο αποστολέας μετρήσει το RTT από την πρώτη μετάδοση του πακέτου: Το RTT θα είναι μεγαλύτερο από το κανονικό Το RTT θα διαστρεβλώσει την τιμή του SRTT Το SRTT και επομένως το RTO θα είναι μεγαλύτερο απότοκανονικό

Πολιτική επαναμετάδοσης Αλγόριθμος Karn Η διαστρέβλωση αυτή θα αποτυπώνεται σε έναν αριθμό από μελλοντικά SRTTs Εάν η ισχύει η 1 η περίπτωση και ο αποστολέας μετρήσει το RTT από την επαναμετάδοση του πακέτου: Το RTT θα είναι μικρότερο από το κανονικό Το RTT θα διαστρεβλώσει την τιμή του SRTT Το SRTT και επομένως το RTO θα είναι μικρότερο από το κανονικό

Πολιτική επαναμετάδοσης Αλγόριθμος Karn Η διαστρέβλωση αυτή πιθανότατα θα οδηγήσει σε περισσότερες (μάταιες) επαναμεταδόσεις Αλγόριθμος του Karn - σε περίπτωση επαναμετάδοσης: Μη χρησιμοποιείς τον αλγόριθμο του Jacobson για τον υπολογισμό του RTO Έτσι αποφεύγουμε την εισαγωγή μιας λανθασμένης μέτρησης στον αλγόριθμο

Πολιτική επαναμετάδοσης Αλγόριθμος Karn Υπολόγισε το RTO βάσει της εξίσωσης RTO = q RTO k + 1 k +1 Χρησιμοποίησε αυτόν τον τύπο για τον υπολογισμό όλων των χρόνων επαναμετάδοσης Στον αλγόριθμο του Jacobson χρησιμοποίησε μόνο χρόνους παράδοσης πακέτων για τα οποία ο αποστολέας δεν έχει προβεί σε επαναμεταδόσεις

Έλεγχος συμφόρησης Έστω Α και B δύο επικοινωνούσες εφαρμογές σε δύο (απομακρυσμένους) πόρους Υποθέτουμε ότι το TCP Α είναι ο αποστολέας και το TCP Β ο παραλήπτης Το εύρος του παραθύρου αποστολής πακέτων που το TCP Α έχει στη διάθεση του μπορεί να παίξει καθοριστικό ρόλο στον έλεγχο συμφόρησης

Έλεγχος συμφόρησης Υπενθυμίζεται ότι το εύρος αυτό καθορίζεται από τον αριθμό που ενθυλακώνεται από το TCP Β στο πεδίο window size της επικεφαλίδας του κάθε πακέτου που αποστέλλει στο TCP Α Δύο τεχνικές ελέγχου συμφόρησης που απαντώνται σε εφαρμογές του TCP είναι: H αργή εκκίνηση (slow start) Ο δυναμικός καθορισμός εύρους παραθύρου (dynamic window sizing on congestion)

Έλεγχος συμφόρησης Slow start Όσομεγαλύτεροτοεύροςτουπαραθύρου αποστολής τόσο περισσότερα πακέτα μπορεί να αποστείλει το TCP Α χωρίς να περιμένει επιβεβαίωση από το TCP Β Αρχικά, όταν υλοποιείται η σύνδεση ανάμεσα στο TCP Α και στο TCP Β, το TCP Α μπορεί να αποστείλει όλο το εύρος του παραθύρου που του έχει διαφημίσει το TCP Β χωρίς να περιμένει επιβεβαίωση από το TCP Β

Έλεγχος συμφόρησης Slow start Η αποστολή μεγάλου αριθμού πακέτων από το TCP Α σε σχετικά μικρό χρονικό διάστημα μπορεί να οδηγήσει το δίκτυο σε συμφόρηση Άρα υφίσταται και ένα δεύτερο παράθυρο το παράθυρο συμφόρησης του οποίου το εύρος καθορίζεται από τη δυνατότητα του δικτύου να διακινεί τα απαιτούμενα πακέτα

Έλεγχος συμφόρησης Slow start Εάν το TCP Α ξεπεράσει το εύρος του παραθύρου συμφόρησης δημιουργείται συμφόρηση και τα απεσταλμένα πακέτα καταφθάνουν στον προορισμό τους καθυστερημένα Οι επιβεβαιώσεις των πακέτων αυτών καταφθάνουν στο TCP Α καθυστερημένα Το TCP Α προβαίνει σε επαναμεταδόσεις των πακέτων αυτών

Έλεγχος συμφόρησης Slow start Το εύρος του παραθύρου συμφόρησης είναι δυσκολότερο να καθοριστεί εφόσον δε διαφημίζεται από τον παραλήπτη Ο μηχανισμός αργής εκκίνησης (slow start) περιορίζει τις αποστολές πακέτων στις οποίες το TCP Α μπορεί να προβεί σύμφωνα με τη σχέση:

Έλεγχος συμφόρησης Slow start ΕΠ = min( ΠΣ, ΠΠ) όπου: ΕΠ : επιτρεπόμενο παράθυρο (μετριέται σε πακέτα) ΠΣ : παράθυρο συμφόρησης (μετριέται σε πακέτα) ΠΠ : παράθυρο παραλήπτη το παράθυρο που διαφημίζει ο παραλήπτης στον αποστολέα (μετριέται σε πακέτα)

Έλεγχος συμφόρησης Slow start Αρχικά (στην 1 η αποστολή), από το TCP A το ΠΣ τίθεται στον αριθμό 1 Το ΕΠ είναι ίσο με το πολύ ένα πακέτο Το πακέτο αυτό δεν μπορεί να ξεπερνάει σε μέγεθος το ΠΠ Γενικά το μέγεθος ενός πακέτου δεν πρέπει να είναι πολύ μεγάλο ούτως ώστε να αποφεύγεται ο κατακερματισμός στο πρωτόκολλο IP

Έλεγχος συμφόρησης Slow start Όταν ληφθεί επιβεβαίωση για το πρώτο πακέτο, το εύρος του παραθύρου συμφόρησης διπλασιάζεται Γενικά, για κάθε πακέτο επιβεβαίωσης που λαμβάνεται το εύρος του παραθύρου συμφόρησης αυξάνεται κατά 1 ΠΣ=2 Το ΕΠ είναι ίσο με το πολύ δύο πακέτα

Έλεγχος συμφόρησης Slow start Όταν ληφθεί επιβεβαίωση για τα δύο πακέτα, το εύρος του παραθύρου συμφόρησης διπλασιάζεται ΠΣ=4 Το ΕΠ είναι ίσο με το πολύ τέσσερα πακέτα Η αύξηση του εύρους του παραθύρου συμφόρησης συνεχίζεται κατά τον τρόπο αυτό

Έλεγχος συμφόρησης Slow start Παρατηρούμε ότι: Το εύρος του παραθύρου συμφόρησης δεν μπορεί να ξεπεράσει το εύρος του παραθύρου αποστολής που διαφημίζει το TCP B στο TCP Α Η αύξηση του εύρους του παραθύρου συμφόρησης, για όσο αυτή διαρκεί, είναι εκθετική

Δυναμικός καθορισμός εύρους παραθύρου Ομηχανισμόςslow start λειτουργεί αποτελεσματικά στα αρχικά στάδια μιας σύνδεσης Ας υποθέσουμε ότι κατά τη διάρκεια της σύνδεσης, ηεπιβεβαίωσηενόςπακέτου καθυστερεί να φθάσει στο TCP Α με αποτέλεσμα το TCP Α να προβεί σε επαναμετάδοση του πακέτου

Δυναμικός καθορισμός εύρους παραθύρου Η καθυστέρηση αυτή οφείλεται πιθανότατα σε κάποιας μορφής συμφόρηση στο δίκτυο Στην περίπτωση αυτή, και προκειμένου να μην επιταθεί η συμφόρηση: Το ΠΣ επανατίθεται στο 1 Το εύρος του ΠΣ αρχίζει να αυξάνεται εκθετικά

Δυναμικός καθορισμός εύρους παραθύρου Η εκθετική αύξηση συνεχίζεται μέχρι το μέγεθος του ΠΣ να φθάσει στο μισό του μεγέθους που είχε όταν παρατηρήθηκε η συμφόρηση Από εκεί και πέρα τυχόν περεταίρω αύξηση του ΠΣ δεν είναι εκθετική Το ΠΣ απλώς μεγαλώνει κατά ένα πακέτο

Δυναμικός καθορισμός εύρους παραθύρου επαναμετάδοση Πακέτα Χρόνος

Αλγόριθμος Nagle Επιλύει το πρόβλημα συμφόρησης που εν δυνάμει προκύπτει όταν το TCP Α αποστέλλει πολλά μικρά πακέτα αντί ενός μεγαλύτερου Κάθε μικρό πακέτο μπορεί να περιέχει 1 byte δεδομένων και 40 bytes επικεφαλίδα 20 bytes η επικεφαλίδα του TCP 20 bytes η επικεφαλίδα του IP

Αλγόριθμος Nagle Εάν συνυπολογίσουμε και τα 40 bytes της επιβεβαίωσης προκύπτει ότι αποστέλλονται 80 bytes για την αποστολή ενός χαρακτήρα Τέτοια μικρά πακέτα μπορούν να προκύψουν απόεφαρμογέςόπωςτοtelnet Κάθε χαρακτήρας που εισάγει ο χρήστης αποστέλλεται άμεσα Ο αλγόριθμος του Nagle λειτουργεί ως εξής:

Αλγόριθμος Nagle Tα δεδομένα καταφθάνουν στο TCP A από το επίπεδο εφαρμογής ως μια ροή από bytes Το TCP A : Στέλνει το πρώτο byte στο TCP Β Μέχρι να καταφθάσει η επιβεβαίωση από το TCP Β ενταμιεύει τα υπόλοιπα bytes που καταφθάνουν από το επίπεδο εφαρμογής Όταν καταφθάσει η επιβεβαίωση από το TCP Β στέλνει στο TCP Β τα ενταμιευμένα bytes σε ένα πακέτο

Αλγόριθμος Nagle Μέχρι να καταφθάσει η επιβεβαίωση του πακέτου αυτού από το TCP Β ενταμιεύει επιπλέον bytes που καταφθάνουν από το επίπεδο εφαρμογής Όταν καταφθάσει η επιβεβαίωση του πακέτου αυτού από το TCP Β στέλνει τα ενταμιευμένα bytes σε ένα πακέτο Ο αλγόριθμος του Nagle είναι ασύμβατος με κάποιες εφαρμογές (π.χ. Χ Windows) Στις περιπτώσεις αυτές πρέπει να απενεργοποιείται

Αλγόριθμος Nagle Η απενεργοποίηση επιτυγχάνεται θέτοντας την επιλογή TCP_NODELAY στην τιμή on H επιλογήαυτήείναιπροσβάσιμημέσωτου χρησιμοποιούμενου Web server

Silly window syndrome Υποθέτουμεότιέχειυλοποιηθείμία σύνδεση ανάμεσα στο TCP A και στο TCP B Έστω ότι: Κατά την υλοποίηση της σύνδεσης, το εύρος του παραθύρου που διαφημίζει το TCP B στο TCP Α είναι 360 bytes Το μέγιστο μήκος πακέτου που μπορεί να αποστείλει το TCP Α στο TCP B ξεπερνά τα 360 bytes Το TCP A επείγεται να στείλει έναν σχετικά μεγάλο όγκο δεδομένων στο TCP B

Silly window syndrome Το TCP B μπορεί να «απορροφήσει» από τον ταμιευτή του το 1/3 των bytes που λαμβάνει Το TCP Α αποστέλλει αρχικά 360 bytes στο TCP B Το TCP B απορροφάει τα 120 από τα 360 bytes Αποστέλλει επιβεβαίωση στο TCP Α Οαριθμός120 ενθυλακώνεται στο πεδίο window size αφού το TCP B δεν μπορεί στην παρούσα φάση να δεχθεί πάνω από 120 bytes

Silly window syndrome Το TCP Α λαμβάνει την επιβεβαίωση και σπεύδει να αποστείλει άλλα 120 bytes Έστω ότι, μέχρι να καταφθάσουν τα 120 bytes από το TCP Α, το TCP B απορροφάει άλλα 40 bytes από τον τοπικό ταμιευτή Το TCP Β λαμβάνει τα επιπλέον 120 bytes από τα οποία απορροφάει τα 40 Αποστέλλει επιβεβαίωση στο TCP Α με τον αριθμό 80 στο πεδίο window size

Silly window syndrome Το TCP Α λαμβάνει την επιβεβαίωση και σπεύδει να αποστείλει άλλα 80 bytes Έστω ότι, μέχρι να να καταφθάσουν τα 80 bytes από το TCP Α, το TCP B απορροφάει άλλα 40 bytes από τον τοπικό ταμιευτή Το TCP Β λαμβάνει τα επιπλέον 80 bytes από τα οποία απορροφάει τα 26 Αποστέλλει επιβεβαίωση στο TCP Α με τον αριθμό 66 στο πεδίο window size

Silly window syndrome Βλέπουμε ότι το παράθυρο το οποίο διαφημίζει το TCP B βαίνει μειούμενο Σεπερίπτωσηπουαυτήημείωση συνεχιστεί το TCP A σταδιακά θα περιοριστεί στο να μπορεί να στέλνει πολύ μικράπακέταστοtcp Β Αντίστοιχα με αυτά τα οποία προσπαθεί να αποφύγει ο αλγόριθμος του Nagle

Silly window syndrome Για την αποφυγή της κατάστασης αυτής μπορούμε να απαιτήσουμε από τον παραλήπτη να μη διαφημίζει ένα παράθυρο εάν αυτό δε ξεπερνάει ένα προκαθορισμένο μέγεθος Π.χ. το μέγιστο μέγεθος ενός πακέτου

Εντοπισμός λαθών -TCP Pseudo-header Για την εντοπισμό λαθών που μπορεί να προκύψουν κατά τη μεταφορά ενός πακέτου η εξής διαδικασία εκτελείται: Ενθυλακώνεται μία επιπλέον ψευδόεπικεφαλίδα με τα εξής στοιχεία: ΙP διεύθυνση αποστολέα ΙP διεύθυνση παραλήπτη Αριθμός πρωτοκόλλου επιπέδου 3 του OSI Μήκος TCP πακέτου

Εντοπισμός λαθών -TCP Pseudo-header

Εντοπισμός λαθών -TCP Pseudo-header Υπολογίζεται από τον αποστολέα ένας αριθμός checksum βάσει της ψευδό-επικεφαλίδας και του υπόλοιπου πακέτου Ο αριθμός αυτός αποθηκεύεται στο πεδίο checksum της επικεφαλίδας του TCP Ηψευδό-επικεφαλίδα απορρίπτεται και το πακέτο αποστέλλεται στον παραλήπτη Ο παραλήπτης ενθυλακώνει την ίδια ακριβώς ψευδό-επικεφαλίδα

Εντοπισμός λαθών -TCP Pseudo-header Κάνει τον ίδιο υπολογισμό του αριθμού checksum με αυτόν που έκανε ο αποστολέας Συγκρίνει τους δύο αριθμούς checksum Εάν είναι διαφορετικοί εντοπίζει λάθος Εάν είναι ίδιοι θεωρεί ότι το πακέτο δεν περιέχει λάθη Ηψευδό-επικεφαλίδα συμπεριλαμβάνεται στον υπολογισμό προκειμένου να ελεγχθεί ότι:

Εντοπισμός λαθών -TCP Pseudo-header Το πακέτο προέρχεται από τον σωστό αποστολέα Το πακέτο έχει καταλήξει στο σωστό παραλήπτη

Χρονομετρητές Εκτός από το χρονομετρητή επαναμετάδοσης, το TCP μπορεί επίσης να περιλαμβάνει τους εξής χρονομετρητές Χρονομετρητής επανασύνδεσης (reconnection timer) Μετράει το χρόνο που μεσολαβεί ανάμεσα στο κλείσιμο μιας σύνδεσης και στο άνοιγμα μιας νέας με την ίδια διεύθυνση προορισμού Χρονομετρητής επαναμετάδοσης SYN (SYN retransmission timer)

Χρονομετρητές Μετράει το χρόνο που μεσολαβεί ανάμεσα στην αποστολή δύο διαδοχικών πακέτων SYN Χρονομετρητής παραθύρου (window timer) Καθορίζει το μέγιστο χρόνο μέσα στον οποίο ο παραλήπτης πρέπει να αποστείλει ένα νέο μήνυμα επιβεβαίωσης ακόμα και εάν δεν έχει δεχθεί κάποιο πακέτο Χρησιμοποιείται για την αποφυγή αδιεξόδων (deadlock)

Χρονομετρητές Χρονομετρητής «ανενεργείας» (inactivity timer) Χρησιμοποιείται για τη διακοπή μιας ανενεργής σύνδεσης