Το πρωτόκολλο ελέγχου μετάδοσης (TCP) και το πρωτόκολλο User Datagram Protocol (UDP) είναι τα δύο πρότυπα επίπεδα μεταφοράς που χρησιμοποιούνται με το πρωτόκολλο διαδικτύου (IP) .
Τόσο η TDP όσο και η UDP χρησιμοποιούν κεφαλίδες ως μέρος των δεδομένων μηνυμάτων συσκευασίας για μεταφορά μέσω συνδέσεων δικτύου. Οι κεφαλίδες TCP και οι κεφαλίδες του UDP περιέχουν το καθένα ένα σύνολο παραμέτρων που ονομάζονται πεδία που ορίζονται από τις τεχνικές προδιαγραφές του πρωτοκόλλου.
Μορφή κεφαλίδας TCP
Κάθε κεφαλίδα TCP έχει δέκα υποχρεωτικά πεδία συνολικού μεγέθους 20 byte (160 bits ). Μπορούν επίσης να περιλαμβάνουν προαιρετικά ένα πρόσθετο τμήμα δεδομένων έως 40 bytes σε μέγεθος.
Αυτή είναι η διάταξη των κεφαλίδων TCP:
- Αριθμός θύρας προέλευσης TCP (2 bytes)
- Αριθμός θύρας προορισμού TCP (2 bytes)
- Αριθμός ακολουθίας (4 bytes)
- Αριθμός επιβεβαίωσης (4 bytes)
- Απόκλιση δεδομένων TCP (4 bits)
- Δεσμευμένα δεδομένα (3 bits)
- Σημαίες ελέγχου (έως 9 bits)
- Μέγεθος παραθύρου (2 bytes)
- Έλεγχος αθροίσματος TCP (2 byte)
- Επείγων δείκτης (2 bytes)
- TCP προαιρετικά δεδομένα (0-40 bytes)
Το TCP εισάγει πεδία κεφαλίδων στη ροή μηνυμάτων με τη σειρά που αναφέρεται παραπάνω.
- Οι αριθμοί θύρας TCP προέλευσης και προορισμού είναι τα τελικά σημεία επικοινωνίας για αποστολή και λήψη συσκευών.
- Οι αποστολείς μηνυμάτων χρησιμοποιούν αριθμούς ακολουθίας για να επισημάνουν την παραγγελία μιας ομάδας μηνυμάτων. Οι αποστολείς και οι δέκτες χρησιμοποιούν το πεδίο αριθμών επιβεβαίωσης για να γνωστοποιήσουν τους αριθμούς σειράς των μηνυμάτων που έχουν ληφθεί πρόσφατα ή αναμένεται να σταλούν.
- Το πεδίο μετατόπισης δεδομένων αποθηκεύει το συνολικό μέγεθος μιας κεφαλίδας TCP σε πολλαπλάσια τεσσάρων ψηφίων. Μια κεφαλίδα που δεν χρησιμοποιεί το προαιρετικό πεδίο TCP έχει μια μετατόπιση δεδομένων 5 (που αντιπροσωπεύει 20 bytes), ενώ μια κεφαλίδα με το συμπληρωματικό πεδίο μέγιστου μεγέθους έχει μια μετατόπιση δεδομένων 15 (που αντιπροσωπεύει 60 byte).
- Τα δεσμευμένα δεδομένα στις κεφαλίδες TCP έχουν πάντα μηδενική τιμή. Αυτό το πεδίο εξυπηρετεί το σκοπό της ευθυγράμμισης του συνολικού μεγέθους κεφαλίδας ως πολλαπλάσιο τεσσάρων ψηφιολέξεων (σημαντικό για την αποτελεσματικότητα της επεξεργασίας δεδομένων υπολογιστών).
- Το TCP χρησιμοποιεί ένα σύνολο από έξι τυπικές και τρεις εκτεταμένες σημαίες ελέγχου (κάθε ένα ξεχωριστό κομμάτι που αντιπροσωπεύει on ή off ) για τη διαχείριση της ροής δεδομένων σε συγκεκριμένες καταστάσεις. Μία σημαία ενός bit, για παράδειγμα, ενεργοποιεί τη λογική επαναφοράς σύνδεσης TCP. Η λεπτομερής λειτουργία αυτών των πεδίων υπερβαίνει το πεδίο εφαρμογής αυτού του άρθρου.
- Οι αποστολείς TCP χρησιμοποιούν έναν αριθμό που ονομάζεται μέγεθος παραθύρου για να ρυθμίσουν πόσα δεδομένα αποστέλλουν στον δέκτη πριν από την απαίτηση αναγνώρισης σε αντάλλαγμα. Εάν το μέγεθος του παραθύρου γίνει πολύ μικρό, η μεταφορά δεδομένων δικτύου θα είναι άσκοπα αργή, ενώ εάν το μέγεθος του παραθύρου γίνει υπερβολικά μεγάλο, ο δικτυακός σύνδεσμος μπορεί να γίνει κορεσμένος (δεν μπορεί να χρησιμοποιηθεί για άλλες εφαρμογές) ή ο δέκτης μπορεί να μην είναι σε θέση να επεξεργαστεί τα εισερχόμενα δεδομένα γρήγορα αρκετά (που έχει ως αποτέλεσμα την αργή απόδοση). Αλγόριθμοι παραθύρων ενσωματωμένοι στο πρωτόκολλο υπολογίζουν δυναμικά τιμές μεγέθους και χρησιμοποιούν αυτό το πεδίο κεφαλίδων TCP για να συντονίζουν τις αλλαγές μεταξύ αποστολέων και δεκτών.
- Η τιμή του αθροίσματος ελέγχου μέσα σε μια κεφαλίδα TCP παράγεται από τον αποστολέα πρωτοκόλλου ως μια μαθηματική τεχνική που βοηθά τον δέκτη να ανιχνεύσει μηνύματα που είναι κατεστραμμένα ή αλλοιωμένα.
- Το πεδίο επείγοντος δείκτη είναι συχνά μηδενικό και αγνοείται, αλλά σε συνδυασμό με μία από τις σημαίες ελέγχου, μπορεί να χρησιμοποιηθεί ως μετατόπιση δεδομένων για να επισημάνει ένα υποσύνολο ενός μηνύματος ως απαιτούμενο για επεξεργασία προτεραιότητας.
- Οι χρήσεις των προαιρετικών δεδομένων TCP υπερβαίνουν το πεδίο εφαρμογής αυτού του άρθρου, αλλά περιλαμβάνουν υποστήριξη για ειδικούς αλγόριθμους επαλήθευσης και κλιμάκωσης παραθύρων.
Μορφή κεφαλίδας UDP
Επειδή το UDP είναι σημαντικά πιο περιορισμένο στην ικανότητα από το TCP, οι κεφαλίδες του είναι πολύ μικρότερες. Μια κεφαλίδα UDP περιέχει 8 byte, χωρισμένα στα ακόλουθα τέσσερα πεδία:
- Αριθμός θύρας πηγής (2 byte)
- Αριθμός θύρας προορισμού (2 bytes)
- Μήκος δεδομένων (2 bytes)
- Έλεγχος UDP (2 bytes)
Το UDP εισάγει πεδία κεφαλίδων στη ροή μηνυμάτων του με τη σειρά που αναφέρθηκε παραπάνω.
- Οι αριθμοί θύρας προέλευσης και προορισμού UDP είναι τα τελικά σημεία επικοινωνίας για την αποστολή και τη λήψη συσκευών.
- Το πεδίο μήκους στο UDP αντιπροσωπεύει το συνολικό μέγεθος κάθε datagram που περιλαμβάνει τόσο την κεφαλίδα όσο και τα δεδομένα. Αυτό το πεδίο κυμαίνεται σε μια τιμή από τουλάχιστον 8 bytes (το απαιτούμενο μέγεθος κεφαλίδας) σε μεγέθη άνω των 65.000 byte.
- Παρόμοια με το TCP, ένα άθροισμα ελέγχου UDP επιτρέπει στους δέκτες να διασταυρώνουν τα εισερχόμενα δεδομένα για τυχόν κατεστραμμένα κομμάτια του μηνύματος.