Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

User Datagram Protocol (UDP)

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "User Datagram Protocol (UDP)"— Μεταγράφημα παρουσίασης:

1 User Datagram Protocol (UDP)
Υπηρεσίες Αποτελεί πρωτόκολλο επιπέδου μεταφοράς που υλοποιείται μόνο στα τερματικά συστήματα του ΙΡ δικτύου Περιέχεται σε κάθε υλοποίηση του TCP/IP Δεν υποστηρίζει αξιόπιστη μεταφορά δεδομένων Δεν υποστηρίζει έλεγχο ροής

2 UDP Υπηρεσίες Δεν υποστηρίζει ανάκτηση από σφάλματα
Υποστηρίζει πολυπλεξία δεδομένων χρησιμοποιώντας το μηχανισμό των θυρών Δεν προαπαιτεί την εγκατάσταση σύνδεσης με τον προορισμό για να αρχίσει η μεταφορά των δεδομένων Προδιαγραφή RFC 768

3 UDP UDP Layer IP Layer Μηχανισμός Θυρών Εφαρμογή 1 (Port 1) Εφαρμογή N
Εφαρμογή 2 (Port 2)

4 Παραδείγματα Δεσμευμένων Θυρών
UDP Παραδείγματα Δεσμευμένων Θυρών Port Εφαρμογή Πρωτόκολλο Reserved 7 Echo TCP/UDP 15 Netstat 20 Ftp TCP 23 Telnet 161 SNMP UDP

5 UDP Επικεφαλίδα Source Port. Καθορίζει την θύρα αφετηρίας των δεδομένων και ουσιαστικά την εφαρμογή αφετηρίας των δεδομένων Destination Port. Καθορίζει την θύρα προορισμού των δεδομένων και κατά συνέπεια την εφαρμογή προορισμού Length. Καθορίζει το μήκος του UDP πακέτου, μαζί με τα bytes της επικεφαλίδας Checksum. Έχει μήκος 2 bytes και είτε είναι μηδέν είτε περιέχει το πεδίο ελέγχου του πακέτου, που εφαρμόζεται στο UDP πακέτο και μία ψευδοεπικεφαλίδα

6 Transmission Control Protocol (TCP)
Υπηρεσίες Αποτελεί πρωτόκολλο επιπέδου μεταφοράς που υλοποιείται μόνο στα τερματικά συστήματα του ΙΡ δικτύου Απαιτεί την εγκατάσταση σύνδεσης μεταξύ του αποστολέα και του παραλήπτη πριν αρχίσει η μεταφορά των δεδομένων Υποστηρίζει ταυτόχρονη μετάδοση δεδομένων και προς τις δύο κατευθύνσεις Η παράδοση των δεδομένων στο επίπεδο εφαρμογής του παραλήπτη γίνεται με τη ίδια σειρά με την οποία αυτά μεταδόθηκαν από τον αποστολέα

7 TCP Υπηρεσίες Αξιόπιστη μεταφορά δεδομένων Έλεγχος ροής δεδομένων
Πολυπλεξία δεδομένων Τμηματοποίηση και επανασυναρμολόγηση δεδομένων εφαρμογής Καθορισμός προτεραιότητας και ασφάλειας στη μεταφορά των δεδομένων χρησιμοποιώντας αντίστοιχα πεδία της ΙΡ επικεφαλίδας Προδιαγράφεται στην RFC 793

8 TCP/IP Μεταφορά Δεδομένων

9 TCP/ΙΡ Μεταφορά δεδομένων

10 TCP Μεταφορά Δεδομένων

11 TCP Μεταφορά Δεδομένων
Αν και τα δεδομένα μεταφέρονται σε πακέτα η μεταφορά δεδομένων εξετάζεται λογικά ως αποτελούμενη από μία ροή οκτάδων. Για το λόγο αυτό, κάθε οκτάδα αριθμείται ξεχωριστά Το TCP αποδέχεται μία ροή από οκτάδες από το χρήστη και τις ομαδοποιεί σε πακέτα Κάθε TCP πακέτο περιέχει τον αριθμό ακολουθίας της πρώτης οκτάδας του πεδίου δεδομένων Το TCP εφαρμόζει συγκεκριμένη πολιτική ως προς το πότε να κατασκευάσει ένα πακέτο για μετάδοση και πότε να παραδώσει τα ληφθέντα δεδομένα στην εφαρμογή του παραλήπτη Ο χρήστης μπορεί να καθορίσει ένα τμήμα δεδομένων ως επείγον Το TCP θα αναμεταδώσει ένα πακέτο, εάν αποτύχει να λάβει μία επιβεβαίωση λήψης για αυτό εντός του αναμενόμενου χρονικού ορίου

12 TCP Επικεφαλίδα

13 TCP Επικεφαλίδα Source Port. Καθορίζει την θύρα αφετηρίας των δεδομένων και ουσιαστικά την εφαρμογή αφετηρίας των δεδομένων Destination Port. Καθορίζει την θύρα προορισμού των δεδομένων και κατά συνέπεια την εφαρμογή προορισμού Sequence Number. Είναι ο αριθμός ακολουθίας του πρώτου byte δεδομένων στο πεδίο data. Εάν έχει τεθεί το bit SYN, τότε αυτός ο αριθμός αποτελεί τον αρχικό αριθμό ακολουθίας Ack Number. Δηλώνει τον αριθμό ακολουθίας της επόμενης οκτάδας που περιμένει να λάβει ο παραλήπτης Data offset. Έχει μήκος 4 bits και καθορίζει τον αριθμό των λέξεων μήκους 32-bit που περιέχει η επικεφαλίδα. Αποτελεί ένα δείκτη στην αρχή των δεδομένων

14 TCP Επικεφαλίδα Reserved. Έχει μήκος 6 bits με μηδενικές τιμές
URG. Το bit αυτό καθορίζει ότι υπάρχουν επείγοντα δεδομένα στο πεδίο data ACK. Το bit αυτό επιβεβαιώνει τη λήψη δεδομένων PSH. Το bit αυτό ενεργοποιεί τη λειτουργία προώθησης αποθηκευμένων δεδομένων RST. Το bit αυτό αρχικοποιεί τη σύνδεση SYN. Το bit αυτό συγχρονίζει τους αριθμούς ακολουθίας FIN. Το bit αυτό χρησιμοποιείται από τον αποστολέα για να υποδείξει τον τερματισμό της αποστολής δεδομένων

15 TCP Επικεφαλίδα Window. Καθορίζει τον αριθμό των bytes δεδομένων που ο παραλήπτης είναι σε θέση να δεχθεί. Ξεκινούν με το πρώτο byte που υποδεικνύεται στο πεδίο Ack Number Cheksum. Χρησιμοποιείται για τον έλεγχο της ορθότητας του TCP πακέτου. Αποτελεί ένα άθροισμα ελέγχου που εφαρμόζεται σε ολόκληρο το TCP πακέτο και μίας ψευδοεπικεφαλίδας που περιλαμβάνει κάποια πεδία από την ΙΡ επικεφαλίδα Urgent Pointer. Δείχνει στην τελευταία οκτάδα σε μία ακολουθία από επείγοντα δεδομένα Padding. Μηδενικά bytes που ενδέχεται να προστεθούν, ώστε το μήκος της επικεφαλίδας να είναι ακέραιο πολ/σιο των 32 bytes Options. Μεταβλητού μήκους πεδίο που περιέχει επιλογές σχετικά με τα χαρακτηριστικά της TCP σύνδεσης

16 <SYN> <seq=100> <SYN-ACK> <seq=330 ack=100>
TCP Εγκατάσταση Σύνδεσης client server SYN_SENT <SYN> <seq=100> SYN_RCVD <SYN-ACK> <seq=330 ack=100> ESTABLISHED <ACK> ESTABLISHED

17 TCP Αποδέσμευση Σύνδεσης client FIN server ACK close closed timed wait

18 Διάγραμμα Καταστάσεων (TCP Client)

19 Διάγραμμα Καταστάσεων (TCP Server)

20 TCP Πολυπλεξία

21 TCP Αξιοπιστία X loss time premature timeout, lost ACK scenario
Host A Seq=92, 8 bytes data ACK=100 loss timeout time lost ACK scenario Host B X Seq=100, 20 bytes data Seq=92 timeout premature timeout, cumulative ACKs ACK=120 Seq=100 timeout

22 TCP Έλεγχος Ροής Ο μηχανισμός επιβεβαίωσης λήψης των πακέτων είναι η καρδιά του TCP πρωτοκόλλου Όταν τα δεδομένα φθάσουν στον παραλήπτη, το TCP πρωτόκολλο απαιτεί να στείλει πίσω μία επιβεβαίωση για τη λήψη αυτών των δεδομένων Ο μηχανισμός παραθύρου είναι ένας μηχανισμός ελέγχου της ροής των δεδομένων Ο παραλήπτης των δεδομένων επιστρέφει στον αποστολέα στο πεδίο Window του ACK μηνύματος έναν αριθμό, ο οποίος καθορίζει το μέγιστο αριθμό οκτάδων που μπορεί να στείλει ο αποστολέας μέχρι να λάβει ένα νέο μέγεθος παραθύρου Το μέγεθος του παραθύρου έχει σημαντική επίδραση στην απόδοση της σύνδεσης και του δικτύου

23 TCP Έλεγχος Ροής

24 TCP Διαχείριση Παραθύρου
Το μέγεθος του παραθύρου αποστολής επηρεάζει την πιθανότητα εμφάνισης συμφόρησης στο δίκτυο Οι δύο τεχνικές που υποστηρίζονται από τις σύγχρονες υλοποιήσεις του TCP για την βελτιστοποίηση της απόδοσης του TCP είναι οι: α. Αλγόριθμος αργής εκκίνησης β. Αλγόριθμος αποφυγής συμφόρησης

25 TCP Αργή Εκκίνηση Όταν εγκαθίσταται μία TCP σύνδεση για πρώτη φορά, ο αποστολέας μπορεί να στέλνει πακέτα μέσα στο δίκτυο μέχρι το μέγεθος παραθύρου που καθορίστηκε από τον παραλήπτη Αυτό είναι επικίνδυνο, γιατί ο αποστολέας μπορεί να πλημμυρίσει το διαδίκτυο με πολλά πακέτα πριν αντιληφθεί, από την έλλειψη επιβεβαιώσεων, ότι η ροή ήταν υπερβολική Ο Jacobson συστήνει μία διαδικασία γνωστή ως αργή εκκίνηση Ο μηχανισμός αργής εκκίνησης εξετάζει το διαδίκτυο για να βεβαιωθεί ότι δεν στέλνει πολλά πακέτα σε ένα ήδη συμφορημένο περιβάλλον

26 TCP Αργή Εκκίνηση Κάθε στιγμή, η TCP μετάδοση περιορίζεται από την ακόλουθη σχέση: awnd = MIN[credit,cwnd] όπου α. αwnd = ο αριθμός των πακέτων που το TCP επιτρέπεται να στείλει β. cwnd = παράθυρο συμφόρησης, σε πακέτα. Χρησιμοποιείται κατά τη διάρκεια της εκκίνησης και για να μειώνει τη ροή κατά τη διάρκεια περιόδων συμφόρησης γ. credit = το ποσό της αχρησιμοποίητης πίστωσης, σε πακέτα, που έχει παραχωρηθεί στην πιο πρόσφατη επιβεβαίωση λήψης

27 TCP Αργή Εκκίνηση Όταν εγκατασταθεί μία νέα σύνδεση, το TCP αρχικοποιεί cwnd = 1 Στην αρχή, το TCP επιτρέπεται να στείλει μόνο ένα πακέτο και μετά πρέπει να περιμένει για την επιβεβαίωση λήψης πριν μεταδώσει το δεύτερο πακέτο Κάθε φορά που λαμβάνεται μία επιβεβαίωση λήψης, η τιμή του cwnd αυξάνεται κατά ένα Επομένως, η αποστολή πακέτων ελέγχεται από τις εισερχόμενες επιβεβαιώσεις λήψης και από το παράθυρο που καθορίζει ο παραλήπτης

28 TCP Αργή Εκκίνηση cwnd = 1 cwnd = 2 cwnd = 4 cwnd = 8 Host Β Host A
segment 1 ACK for segment 1 cwnd = 2 segment 2 segment 3 ACK for segments 2 ACK for segments 3 cwnd = 4 segment 4 segment 5 segment 6 segment 7 ACK for segments 4 ACK for segments 5 ACK for segments 6 ACK for segments 7 cwnd = 8

29 Αλγόριθμος αποφυγής συμφόρησης
TCP Αλγόριθμος αποφυγής συμφόρησης Ο αλγόριθμος αποφυγής συμφόρησης βασίζεται στο γεγονός ότι η απώλεια πακέτων αποτελεί ένδειξη συμφόρησης στο δίκτυο Όταν ανιχνευθεί συμφόρηση: α. Τίθεται ένα κατώφλι αργής εκκίνησης ίσο με το μισό του τρέχοντος παραθύρου συμφόρησης, δηλαδή ssthresh = cwnd/2 β. Τίθεται cwnd = 1 και εκτελείται η διαδικασία αργής εκκίνησης μέχρι cwnd = ssthresh. Σε αυτή τη φάση το cwnd αυξάνεται κατά 1 για κάθε επιβεβαίωση λήψης που λαμβάνεται γ. Για cwnd > ssthresh, το cwnd αυξάνεται κατά 1/ cwnd για κάθε επιβεβαίωση λήψης που λαμβάνεται

30 TCP Αποφυγή Συμφόρησης Initially: cwnd = 1;
ssthresh = advertised window size; (παράθυρο παραλήπτη) New Ack received: if (cwnd < ssthresh) /* Slow Start*/ cwnd = cwnd + 1; else /* Congestion Avoidance */ cwnd = cwnd + 1/cwnd; Timeout (Ανίχνευση Συμφόρησης): /* Multiplicative decrease */ ssthresh = cwnd/2;


Κατέβασμα ppt "User Datagram Protocol (UDP)"

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google