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

Σχετικά έγγραφα
ιαδίκτυα & Ενδοδίκτυα Η/Υ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΔΙΑΓΩΝΙΣΜΑ ΤΕΛΙΚΗΣ ΕΠΑΝΑΛΗΨΗΣ ΣΤΙΣ ΕΝΟΤΗΤΕΣ

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

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

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

Επίπεδο Μεταφοράς. (ανεβαίνουμε προς τα πάνω) Εργαστήριο Δικτύων Υπολογιστών Τμήμα Μηχανικών Η/Υ και Πληροφορικής

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

Αξιόπιστη μεταφορά δεδομένων πάνω από αναξιόπιστο δίκτυο. Κατανεμημένα Συστήματα 1

Τεχνολογία Πολυμέσων. Ενότητα # 17: Πρωτόκολλα μετάδοσης Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

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

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

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

Συνεχής ροή πολυµέσων

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

Δίκτυα Επικοινωνιών ΙΙ: Network Programming Εισαγωγή, TCP, UDP, Ports

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

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

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

Αξιόπιστη μεταφορά δεδομένων πάνω από αναξιόπιστο δίκτυο. Κατανεμημένα Συστήματα 1

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

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

Κεφάλαιο 5: Τοπικά ίκτυα

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

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

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

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

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

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

ΣΕΜΙΝΑΡΙΟ ΔΙΚΤΥΩΝ ΜΑΡΤΙΟΣ ΜΑΙΟΣ 2010 ΔΙΟΡΓΑΝΩΣΗ ΑΜΠΑΡΙΩΤΗΣ ΑΠΟΣΤΟΛΟΣ ΓΙΑΜΜΑΚΗΣ ΓΙΑΝΝΗΣ ΛΕΒΑΝΤΗΣ ΟΔΥΣΣΕΑΣ ΠΑΠΑΔΟΠΟΥΛΟΣ ΜΑΡΙΟΣ ΨΙΑΧΟΣ ΧΡΗΣΤΟΣ

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

AEI Πειραιά Τ.Τ. Τμ. Μηχ/κων Αυτοματισμού ΤΕ. Δίκτυα Μετάδοσης Δεδομένων. Διάλεξη 1: Εισαγωγή στα δίκτυα υπολογιστών και βασικές αρχές

2 η Σειρά Ασκήσεων Data Link Layer

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

Μάθημα 6: Αρχιτεκτονική TCP/IP

Μάθημα 5: To Μοντέλο Αναφοράς O.S.I.

Δίκτυα Επικοινωνιών ΙΙ: ATM

1.2.2 Το μοντέλο δικτύωσης TCP/IP 1 / 26

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

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

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

Δίκτυα Υπολογιστών. Δίκτυα υπολογιστών και το Διαδίκτυο Εισαγωγή. Κ. Βασιλάκης

Δίκτυα Επικοινωνιών ΙΙ: Frame Relay

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

ΔΙΚΤΥΑ (23-26) Π. Φουληράς

Δίκτυα Υπολογιστών Ενότητα 4: Transmission Control Protocol - TCP

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

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

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

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

Μηχανισμοί Λογικής σύνδεσης. Διάρθρωση. Δομή πλαισίου. Καθορισμός ορίων πλαισίου

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

Δίκτυα Υψηλών Ταχυτήτων Ενότητα 4: Frame Relay

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

Transmission Control Protocol. Transmission Control Protocol

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

ΕΠΙΚΟΙΝΩΝΙΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΕΣ INTERNET

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

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

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

AEI Πειραιά Τ.Τ. Τμ. Μηχ/κων Αυτοματισμού ΤΕ. Δίκτυα Υπολογιστών. Διάλεξη 1: Εισαγωγή στα δίκτυα υπολογιστών και βασικές αρχές

Συστήματα Πολυμέσων. Ενότητα 17: Διανομή Πολυμέσων - Πρωτόκολλα πραγματικού χρόνου. Θρασύβουλος Γ. Τσιάτσος Τμήμα Πληροφορικής

ΙΑΛΕΞΗ 6 Η. ίκτυα Υπολογιστών & Επικοινωνία. ιδάσκουσα: : ρ. Παντάνο Ρόκου Φράνκα. ίκτυα Υπολογιστών και Επικοινωνία. ιάλεξη 6: H Πολύπλεξη

Δίκτυα Επικοινωνιών ΙΙ: Network Programming UDP Sockets, Signals

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

CSMA/CA στο Κατανεμημένα Ενσωματωμένα Συστήματα Πραγματικού Χρόνου

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

Τεχνολογία Πολυμέσων. Ενότητα # 20: Υπηρεσίες καλύτερης προσπάθειας Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Βασικές έννοιες. Κατανεμημένα Συστήματα 1

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

Αλεξάνδρειο ΤΕΙ Θεσσαλονίκης Τμήμα Πληροφορικής ΔΙΑΔΙΚΤΥΑ ΜΕ TCP / IP. Βίτσας Βασίλειος

Δίκτυα Υπολογιστών Το επίπεδο μεταφοράς (transport layer)

ΤΕΙ Στερεάς Ελλάδας Τμ. Ηλ.γων Μηχ/κων ΤΕ. Δίκτυα Υπολογιστών. Διάλεξη 1: Εισαγωγή στα δίκτυα υπολογιστών και βασικές αρχές

Κεφάλαιο 4ο ΕΠΙΠΕΔΟ ΜΕΤΑΦΟΡΑΣ

Κεφάλαιο 7 Διαδικτύωση-Internet. 7.2 Τεχνολογία TCP/IP

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

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

Ερωτήσεις / Απαντήσεις Πιστοποίησης (Επικοινωνίες Δεδομένων)

Τεχνολογία Δικτύων Επικοινωνιών (Ενότητα Πρωτόκολλα και Αρχιτεκτονική Δικτύου)

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

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

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

Δίκτυα Υπολογιστών. Δίκτυα υπολογιστών και το Διαδίκτυο Εισαγωγή. Κ. Βασιλάκης

Μάθημα 4: Πρότυπα, Πρωτόκολλα & Υπηρεσίες

Ροή πολυμέσων. Εισαγωγή Ροή από εξυπηρετητές ιστοσελίδων Ροή από εξυπηρετητές μέσων Το πρωτόκολλο RTSP

Transcript:

Δίκτυα Επικοινωνιών ΙΙ: Transmission Control Protocol Δρ. Απόστολος Γκάμας Διδάσκων 407/80 gkamas@uop.gr Δίκτυα Επικοινωνιών ΙΙ Διαφάνεια 1

Μηχανισμοί πρωτοκόλλων προσανατολισμένων σε σύνδεση Λογική σύνδεση Εγκαθίδρυση Διατήρηση σύνδεση Αξιοπιστία Χαρακτηριστικό παράδειγμα: TCP Δίκτυα Επικοινωνιών ΙΙ Διαφάνεια 2

Αξιόπιστες ακολουθιακές δικτυακές υπηρεσίες Υποθέτουν τυχαίο μέγεθος μηνυμάτων Υποθέτουν σχεδόν 100% αξιόπιστη μετάδοση πάνω από το δίκτυο πχ αξιόπιστο δίκτυο μεταγωγής πακέτων πάνω από Χ.25 πχ frame relay με χρήση LAPF πρωτοκόλλου πχ IEEE 802.3 με χρήση LLC υπηρεσίας προσανατολισμένη σε σύνδεση Μια υπηρεσία στο επίπεδο μεταφοράς είναι ένα πρωτόκολλο από άκρο σε άκρο ανάμεσα σε δύο συστήματα σε ίδιο δίκτυο Δίκτυα Επικοινωνιών ΙΙ Διαφάνεια 3

Θέματα σε ένα απλό πρωτόκολλο μεταφοράς Διευθυνσιοδότηση Πολύπλεξη Έλεγχος ροής Εγκαθίδρυση σύνδεσης και τερματισμός σύνδεσης Δίκτυα Επικοινωνιών ΙΙ Διαφάνεια 4

Διευθυνσιοδότηση Προσδιορισμός χρήστης User identification Συνήθως σταθμός και θύρα (socket στην ορολογία του TCP) Η θύρα αντιπροσωπεύει μια συγκεκριμένη υπηρεσίας μεταφοράς Οντότητα στο επίπεδο μεταφοράς Ορισμός πρωτοκόλλου μεταφοράς (πχ TCP, UDP, ) Διεύθυνσης σταθμού Αποδίδεται σε κάθε δικτυακή συσκευή Στο Διαδίκτυο μια μοναδική διεύθυνση Δίκτυα Επικοινωνιών ΙΙ Διαφάνεια 5

Εύρεση διεύθυνσης Ήδη γνωστή διεύθυνση Well know διεύθυνση Χρήση Name Server Δίκτυα Επικοινωνιών ΙΙ Διαφάνεια 6

Πολύπλεξη Πολλοί χρήστες χρησιμοποιούν το ίδιο πρωτόκολλο μεταφοράς Οι χρήστες προσδιορίζονται από τον αριθμό θύρας ή service access point (SAP) Δίκτυα Επικοινωνιών ΙΙ Διαφάνεια 7

Έλεγχος ροής Μεγαλύτερη καθυστέρηση μετάδοσης σε σύγκριση με τον πραγματικό χρόνο μετάδοσης Καθυστέρησηστηνεπικοινωνίατωνπληροφοριώνελέγχουροής(επιπλέον της καθυστέρησης μετάδοσης δεδομένων) Μεταβλητή καθυστέρηση μετάδοσης Δυσκολία στην χρήση των timeouts Ο έλεγχος ροής χρησιμοποιείται: Όταν ο παραλήπτης δεν μπορεί να διατηρήσει το ρυθμό λήψης δεδομένων Όταν ο αποστολές δεν μπορεί να διατηρήσει το ρυθμό μετάδοσης δεδομένων Το αποτέλεσμα είναι η πλήρωση του buffer Δίκτυα Επικοινωνιών ΙΙ Διαφάνεια 8

Πολιτικές ελέγχου ροής (1) Δεν χρησιμοποιείται έλεγχος ροής Δεδομένα υπερχειλίζουν στο buffer και απορρίπτονται Ο αποστολέας δεν θα λαμβάνει επιβεβαιώσεις (ACK) και θα ξανάμεταδίδει τα χαμένα δεδομένων Αυτό θα δημιουργήσει περισσότερα εισερχόμενα δεδομένα στον παραλήπτη Απορρίπτονται τα επιπλέον πακέτα δεδομένων Δεν είναι επιθυμητό Οι συνδέσεις που περιπλέκονται αντιμετωπίζονται ως μια ροή δεδομένων (ίσως άδικο για κάποιες ροές δεδομένων) Δίκτυα Επικοινωνιών ΙΙ Διαφάνεια 9

Πολιτικές ελέγχου ροής (2) Χρησιμοποίηση πρωτοκόλλου κυλιόμενου παραθύρου (sliding window protocol) Λειτουργεί αποτελεσματικά για αξιόπιστα δίκτυα Αποτυχία στην λήψη επιβεβαίωσης ενεργοποιεί την διαδικασία ελέγχου ροής Δεν λειτουργεί αποτελεσματικά σε μη αξιόπιστα δίκτυα Δεν μπορεί να διακρίνει ξεκάθαρα την απώλεια πακέτων και την διαδικασία ελέγχου ροής Χρήση συστήματος βασισμένο σε credits Δίκτυα Επικοινωνιών ΙΙ Διαφάνεια 10

Έλεγχοςροήςμεχρήσηcredits Μεγαλύτερος έλεγχος σε αξιόπιστα δίκτυα Περισσότερο αποτελεσματικός σε μη αξιόπιστα δίκτυα Ανεξαρτητοποίηση του ελέγχου ροής από τις επιβεβαιώσεις λήψης (ACK) των πακέτων Η μετάδοση επιβεβαίωσης λήψης μπορεί να συνεχίζεται χωρίς να σχετίζονται με τα credits Κάθε οκτάδα (octet) έχει αριθμό ακολουθίας Κάθε πακέτο έχει αριθμό ακολουθίας, αριθμό επιβεβαίωσης και μέγεθος παραθύρου στην επικεφαλίδα Δίκτυα Επικοινωνιών ΙΙ Διαφάνεια 11

Χρήση της επικεφαλίδας του πακέτου Όταν μεταδίδεται ένα πακέτο, αριθμός ακολουθίας προστίθεται ίσος με τον αριθμό ακολουθίας του πρώτου octet του πακέτου Η επιβεβαίωση (ACK) ενός πακέτου περιλαμβάνει AN=i, W=j ΌλαταδεδομέναμέχριτοSN=i-1 έχουν ληφθεί σωστά Αναμονή του octet i Ο Αποστολέας έχει το δικαίωμα να μεταδώσει επιπλέον δεδομένα όσο αυτό ορίζεται από το W=j Για παράδειγμα τα octet ως το i+j-1 Δίκτυα Επικοινωνιών ΙΙ Διαφάνεια 12

Χρήση των credits Δίκτυα Επικοινωνιών ΙΙ Διαφάνεια 13

Αποστολή και λήψη δεδομένων Δίκτυα Επικοινωνιών ΙΙ Διαφάνεια 14

Εδραίωση και τερματισμός σύνδεσης Επιτρέπει στα δύο άκρα που επιθυμούν να επικοινωνήσουν να γνωρίζουν την ύπαρξη τους Διαπραγμάτευση των παραμέτρων σύνδεσης Δέσμευση των πόρων στο επίπεδο μεταφοράς Δίκτυα Επικοινωνιών ΙΙ Διαφάνεια 15

Διάγραμμα κατάστασης σύνδεσης Δίκτυα Επικοινωνιών ΙΙ Διαφάνεια 16

Εδραίωση σύνδεσης Δίκτυα Επικοινωνιών ΙΙ Διαφάνεια 17

Τερματισμός σύνδεσης Μπορεί να κάνει τερματισμό σύνδεση οποιοδήποτε από τα δύο μέρη Μετά από συνεννόηση Αιφνίδιος τερματισμός Ομαλός τερματισμός Αναμονή λήψης όλων των εισερχόμενων δεδομένων μέχρι την λήψη του μηνύματος FIN Δίκτυα Επικοινωνιών ΙΙ Διαφάνεια 18

Τερματισμός: Άκρο το οποίο αρχικοποιεί τον τερματισμό Ο χρήστης επιθυμεί να τερματίσει την σύνδεση Ο μηχανισμός στο επίπεδο μεταφοράς στέλνει το μήνυμα FIN και ζητά τερματισμό της σύνδεσης Η σύνδεση τίθεται σε κατάσταση αναμονής FIN WAIT Συνεχίζει να λαμβάνει δεδομένα Σταματά να στέλνει δεδομένα Όταν το μήνυμα FIN ληφθεί ενημερώνει τον χρήστη και τερματίζει την σύνδεση Δίκτυα Επικοινωνιών ΙΙ Διαφάνεια 19

Τερματισμός: Άκρο το οποίο δεν αρχικοποιεί τον τερματισμό Λήψη του μηνύματος FIN Ενημερώνει τον χρήση και θέτει την σύνδεση σε κατάσταση CLOSE WAIT Συνεχίζει να μεταδίδει δεδομένα Ο χρήστης επιβεβαιώνει τον τερματισμό της σύνδεσης Ο μηχανισμός στο επίπεδο μεταφοράς στέλνει το μήνυμα FIN Η σύνδεση τερματίζεται Όλα τα εκκρεμή δεδομένα αποστέλλονται και από τις 2 πλευρές Δίκτυα Επικοινωνιών ΙΙ Διαφάνεια 20

Μη αξιόπιστες δικτυακές υπηρεσίες Π.χ. Διαδίκτυο με χρήση IP, frame relay με χρήση LAPF IEEE 802.3 με χρήση LLC χωρίς επιβεβαιώσεις Πακέτα δεδομένων μπορεί να χαθούν Πακέτα δεδομένων μπορεί να φτάσουν σε λάθος σειρά Δίκτυα Επικοινωνιών ΙΙ Διαφάνεια 21

Προβλήματα Μετάδοση στην σωστή σειρά Στρατηγικές επανα-μετάδοσης Ανίχνευση διπλών μεταδόσεων Έλεγχος ροής Εδραίωση σύνδεσης Τερματισμός σύνδεσης Ανάκαμψη από πρόβλημα Δίκτυα Επικοινωνιών ΙΙ Διαφάνεια 22

Μετάδοση στην σωστή σειρά Πακέτα μπορεί να φτάσουν σε λάθος σειρά Τα πακέτα αριθμούνται σειριακά Το TCP αριθμοί κάθε octet ακολουθιακά Τα πακέτα αριθμούνται με τον αριθμό του πρώτου octet στο πακέτο Δίκτυα Επικοινωνιών ΙΙ Διαφάνεια 23

Στρατηγικές επανα-μετάδοσης Πακέτα μπορεί να καταστραφούν στην μετάδοση Πακέτα μπορεί να αποτύχουν να φτάσουν στον προορισμό Ο αποστολέας δεν γνωρίζει ότι ένα πακέτο απέτυχε να μεταδοθεί Ο παραλήπτης θα πρέπει να επιβεβαιώνει την επιτυχημένη λήψη πακέτων Χρησιμοποιείται αθροιστική επιβεβαίωση Υπάρχει ένα περιθώριο αναμονής (timeout) μέχρι να ληφθεί η επιβεβαίωση (ACK) διαφορετικά γίνεται επανα-μετάδοση Δίκτυα Επικοινωνιών ΙΙ Διαφάνεια 24

Η χρήση timeout Σταθερό timeout Βασίζεται στην κατανόηση της συμπεριφοράς του δικτύου Δεν μπορεί να προσαρμοστεί στις αλλαγές του δικτύου Εάν είναι πολύ μικρό οδηγεί σε μη απαραίτητες επανα-μεταδόσεις Εάν είναι πολύ μεγάλο οδηγεί καθυστέρηση ανίχνευσης χαμένων πακέτων Πρέπει να είναι λίγο μεγαλύτερο από το round trip time Προσαρμογή του timeout Μπορεί να μην στέλνεται επιβεβαίωση ACK αμέσως Δεν μπορεί να διαχωρίσει επιβεβαιώσεις ACK ανάμεσα στα αρχικά πακέτα και πακέτα τα οποία επανα-μεταδόθηκαν Οι συνθήκες μπορει να αλλάξουν δραματικά Δίκτυα Επικοινωνιών ΙΙ Διαφάνεια 25

Ανίχνευση διπλών μεταδόσεων Ένα η επιβεβαίωση ACK ενός πακέτου χαθεί, τότε το πακέτο επαναμεταδίδεται Ο παραλήπτης θα πρέπει να αναγνωρίζει τις επανα-μεταδόσεις Διπλές μεταδόσεις πριν το κλείσιμο της σύνδεσης Ο παραλήπτης θεωρεί πως η επιβεβαίωση ACK χάθηκε και επανα-μεταδίδει την επιβεβαίωση ACKs Ο αποστολέας δεν θα πρέπει να μπερδεύεται με πολλές επιβεβαιώσεις Ο αριθμός ακολουθίας θα πρέπει είναι αρκετά μεγάλος ώστε να μην εξαντλείται στην «μέγιστη διάρκεια ζωής» ενός πακέτου Διπλές μεταδόσεις μετά το κλείσιμο της σύνδεσης Δίκτυα Επικοινωνιών ΙΙ Διαφάνεια 26

Λανθασμένη ανίχνευση διπλών μεταδόσεων Δίκτυα Επικοινωνιών ΙΙ Διαφάνεια 27

Έλεγχος ροής Διανομή Credits Πρόβλημα αν AN=i, W=0 στο closing window Μετάδοση AN=i, W=j για επανεκκίνηση, αλλά αυτό χάνεται Ο αποστολέας πιστεύει ότι το window είναι κλειστό, ενώ ο παραλήπτης πιστεύει ότι το window είναι ανοικτό Χρήση του window timeout Εάν περάσει το timeout τότε μετέδωσε Πχ επανα-μετάδοσης του προηγούμενου πακέτου Δίκτυα Επικοινωνιών ΙΙ Διαφάνεια 28

Εγκαθίδρυση σύνδεσης Επικοινωνία και προς τις δύο κατευθύνσεις Το ένα άκρο στέλνει το μήνυμα SYN, και το άλλο άκρο απαντά με το μήνυμα SYN Σε περίπτωση απώλειας του μηνύματος SYN υπάρχει επαναμετάδοση Μπορεί να οδηγήσει σε διπλή μετάδοση μηνυμάτων SYNs Τα επιπλέον μηνύματα SYN αγνοούνται μετά την εγκαθίδρυση σύνδεσης Χαμένα ή καθυστερημένα πακέτα δημιουργούν προβλήματα σύνδεσης Πακέτα από παλιές συνδέσεις Αρχικοποίηση αριθμών ακολουθίας σε σχέση με προηγούμενες συνδέσεις (χρήση SYNi, και three way Εγκαθίδρυση σύνδεσης Δίκτυα Επικοινωνιών ΙΙ Διαφάνεια 29

Απώλεια πακέτου Δίκτυα Επικοινωνιών ΙΙ Διαφάνεια 30

Απώλεια SYN πακέτου Δίκτυα Επικοινωνιών ΙΙ Διαφάνεια 31

Three way Εγκαθίδρυση σύνδεσης Δίκτυα Επικοινωνιών ΙΙ Διαφάνεια 32

Three way Εγκαθίδρυση σύνδεσης Δίκτυα Επικοινωνιών ΙΙ Διαφάνεια 33

Τερματισμός σύνδεσης Η οντότητα σε κατάσταση CLOSE WAIT στέλνει το τελευταίο πακέτο ακολουθημένο από το μήνυμα FIN Το μήνυμα FIN φτάνει πριν το τελευταίο πακέτο δεδομένων Ο παραλήπτης λαμβάνει το μήνυμα FIN Κλείνει την σύνδεση Χάνει το τελευταίο πακέτο δεδομένων Συσχέτιση αριθμών ακολουθίας με μηνύματα FIN Ο παραλήπτης αναμένει όλα τα πακέτα δεδομένων πριν το αριθμό ακολουθίας του μηνύματος FIN Απώλεια πακέτων και παλαιών πακέτων Θα πρέπει να επιβεβαιώνονται τα μηνύματα FIN Δίκτυα Επικοινωνιών ΙΙ Διαφάνεια 34

Ομαλός τερματισμός Αποστολή μηνύματος FIN i και λήψη μηνύματος AN i Λήψη μηνύματος FIN j και αποστολή μηνύματος AN j Αναμονή διπλάσιου χρόνου από τον αναμενόμενο «χρόνο ζωής» του πακέτου Δίκτυα Επικοινωνιών ΙΙ Διαφάνεια 35

Ανάκαμψη από πρόβλημα Μετά από επανεκκίνηση όλες οι πληροφορίες κατάστασης χάνονται Οι συνδέσεις είναι ανοικτές μόνο από το ένα άκρο Οι πλευρά η οποία δεν έχει πρόβλημα ακόμη νομίζει ότι είναι συνδεμένη Η σύνδεση κλείνει μετά από κάποιο timeout Αναμονή για μήνυμα ACK για χρόνο timeout*αριθμό επανα-μεταδόσεων Μετά την παραπάνω αναμονή κλείσε την σύνδεση και ενημέρωσε τον χρήστη Αποστολή μηνύματος RST i ως ανταπόκριση για κάθε i πακέτο το οποίο λαμβάνεται Ο χρήστης θα πρέπει να αποφασίσει εάν θα ξανα-συνδεθεί Πρόβλημα με χαμένα πακέτα ή διπλές μεταδόσεις πακέτων Δίκτυα Επικοινωνιών ΙΙ Διαφάνεια 36

TCP & UDP Transmission Control Protocol Προσανατολισμένο σε σύνδεση RFC 793 User Datagram Protocol (UDP) Όχι προσανατολισμένο σε σύνδεση RFC 768 Δίκτυα Επικοινωνιών ΙΙ Διαφάνεια 37

TCP Υπηρεσίες Αξιόπιστη επικοινωνία ανάμεσα σε δύο διεργασίες Λειτουργεί σε μια ποικιλία αξιόπιστων και μη αξιόπιστων δικτύων Δυνατότητα push δεδομένων Μετάδοση όλων των δεδομένων μέχρι το push flag Ο παραλήπτης θα λαμβάνει με τον ίδιο ρυθμο Χρήση urgent data signal Σηματοδοτεί την μετάδοση επείγων δεδομένων Ο χρήστης αποφασίσει πως θα τα χειριστεί Δίκτυα Επικοινωνιών ΙΙ Διαφάνεια 38

TCP Επικεφαλίδα Δίκτυα Επικοινωνιών ΙΙ Διαφάνεια 39

Παράμετροι οι οποίοι δίνονται στο IP Το TCP δίνει κάποιες παραμέτρους στο IP Precedence Κανονικό delay / χαμηλό delay Κανονικό throughput/υψηλό throughput Κανονικό reliability/υψηλό reliability Security Δίκτυα Επικοινωνιών ΙΙ Διαφάνεια 40

TCP Μηχανισμοί (1) Εγκαθίδρυση σύνδεσης Three way εγκαθίδρυση σύνδεσης Ανάμεσα σε δύο θύρες Μία θύρα μπορεί να συνδεθεί σε πολλαπλούς προορισμούς Δίκτυα Επικοινωνιών ΙΙ Διαφάνεια 41

TCP Μηχανισμοί (2) Μεταφορά δεδομένων Λογικές ροές από octets Τα octets αριθμούνται με modulo 2 23 Έλεγχος ροής με χρήση credit στον αριθμό των octets Τα δεδομένα αποθηκεύονται προσωρινά τόσο στον αποστολέα όσο και στον παραλήπτη Δίκτυα Επικοινωνιών ΙΙ Διαφάνεια 42

TCP Μηχανισμοί (3) Τερματισμός σύνδεσης Ομαλός τερματισμός Ο χρήστης ανακοινώνει την επιθυμία να τερματίσει την σύνδεση Η οντότητα στο επίπεδο μεταφοράς θέτει το FIN flag στο τελευταίο πακέτο το οποίο στέλνει Αιφνίδιος τερματισμός Η οντότητα στο επίπεδο μεταφοράς δεν στέλνει ούτε λαμβάνει δεδομένα Το RST πακέτο μεταδίδεται Δίκτυα Επικοινωνιών ΙΙ Διαφάνεια 43

Υλοποίηση επιλογών πολιτικής Μετάδοση Λήψη Αποδοχή Επανα-μετάδοση Επιβεβαίωση λήψης Δίκτυα Επικοινωνιών ΙΙ Διαφάνεια 44

Μετάδοση Στην απουσία push, ή τερματισμού το TCP μεταδίδει δεδομένα με τον δικό του ρυθμό Τα δεδομένα αποθηκεύονται προσωρινά πριν την μετάδοση Μπορεί να δημιουργηθούν πακέτα ανάλογα με την ροή εισόδου δεδομένων Μπορεί να αναμένει μέχρι να λάβει μια συγκεκριμένη ποσότητα δεδομένων Δίκτυα Επικοινωνιών ΙΙ Διαφάνεια 45

Λήψη Στην απουσία push παραδίδει δεδομένα με τον δικό του ρυθμό Παραδίδει δεδομένα όταν λαμβάνει πακέτα δεδομένων Μπορεί να αποθηκεύει προσωρινά δεδομένα από περισσότερα του ενός πακέτα Δίκτυα Επικοινωνιών ΙΙ Διαφάνεια 46

Αποδοχή Τα πακέτα μπορεί να φτάσουν με διαφορετική σειρά από ότι μεταδόθηκαν In order Αποδοχή μόνο πακέτων στην σωστή σειρά Απόρριψη πακέτων σε λάθος σειρά In windows Αποδοχήόλωντωνπακέτωνμέσαστοreceive window Δίκτυα Επικοινωνιών ΙΙ Διαφάνεια 47

Επανα-μετάδοση Το TCP διατηρεί μια ουρά με τα πακέτα τα οποία έχει μεταδώσει αλλά δεν έχει λάβει επιβεβαίωση για την σωστή λήψη τους Το TCP θα επανα-μεταδώσει εάν δεν λάβει επιβεβαίωση σε ένα ορισμένο χρονικό διάστημα First only Batch Individual Δίκτυα Επικοινωνιών ΙΙ Διαφάνεια 48

Επιβεβαίωση λήψης Άμεση Αθροιστική Δίκτυα Επικοινωνιών ΙΙ Διαφάνεια 49

Έλεγχος συμφόρησης RFC 1122, απαιτήσεις για κόμβους του Διαδικτύου Διαχείριση timeout επανα-μετάδοσης Εκτίμηση του χρόνου round trip delay μελετώντας τα μοτίβα της καθυστέρησης Ορισμός του timeout σε κάτι μεγαλύτερο από την παραπάνω εκτίμηση Απλός μέσος όρος Εκθετικός (exponential) μέσος όρος Εκτίμηση διακύμανσης RTT (αλγόριθμος Jacobson) Δίκτυα Επικοινωνιών ΙΙ Διαφάνεια 50

Χρήση εκθετικού (exponential) μέσου όρου Δίκτυα Επικοινωνιών ΙΙ Διαφάνεια 51

Backoff Εκτιμώντας ότι η λήξη του timeout οφείλεται σε συμφόρηση, η διατήρηση του RTO δεν είναι καλή ιδέα Αύξηση του RTO κάθε φορά που ένα πακέτο επαναμεταδίδεται RTO = q*rto Συνήθως q=2 Binary exponential backoff Δίκτυα Επικοινωνιών ΙΙ Διαφάνεια 52

Αλγόριθμος Karn Εάν ένα πακέτο επανα-μεταδοθεί, η επιβεβαίωση θα αφορά: Το πρώτο αντίγραφο του πακέτου RTT περισσότερο χρόνο από ότι αναμενόταν Το δεύτερο αντίγραφο Δεν υπάρχει τρόπος να το πεις (No way to tell) Μην μετράς τον χρόνο RTT για πακέτα τα οποία επανα-μεταδίδονται Υπολόγισε το backoff όταν γίνεται επανα-μετάδοση ενός πακέτου Χρησιμοποίησε backoff RTO μέχριναλάβειςεπιβεβαίωσηγιαπακέτοτο οποίο δεν έχει επανα-μεταδώσει Δίκτυα Επικοινωνιών ΙΙ Διαφάνεια 53

Διαχείριση παραθύρου (window) Slow start awnd = MIN[credit, cwnd] Όταν ξεκινά η σύνδεση cwnd=1 Αύξησε το cwnd σε κάθε επιβεβαίωση μέχρι ένα άνω όριο Δυναμικό μέγεθος παραθύρου σε περιόδους συμφόρησης Όταν υπάρξει timeout Θέσε το slow start threshold στο μισό του τρέχοντος μεγέθους του παραθύρου ssthresh=cwnd/2 Θέσε cwnd = 1 και slow start μέχρι cwnd=ssthresh Αύξησε το cwnd κατά 1 σε κάθε επιβεβαίωση την οποία λαμβάνεις Για cwnd >=ssthresh, αύξησε το cwnd κατά 1 για κάθε χρόνο RTT Δίκτυα Επικοινωνιών ΙΙ Διαφάνεια 54

UDP User datagram protocol RFC 768 Υπηρεσία μη προσανατολισμένη σε σύνδεση Παράδοση και έλεγχος διπλής μετάδοσης δεν εγγυάται Μειωμένη πολυπλοκότητα Διάφορες χρήσεις (πχ μετάδοση πολυμέσων) Δίκτυα Επικοινωνιών ΙΙ Διαφάνεια 55

Χρήσεις UDP Συλλογή δεδομένων (Inward data collection) Διασπορά δεδομένων (Outward data dissemination) Αίτηση απόκριση Εφαρμογές πραγματικού χρόνου Δίκτυα Επικοινωνιών ΙΙ Διαφάνεια 56

Επικεφαλίδα UDP Δίκτυα Επικοινωνιών ΙΙ Διαφάνεια 57