Τα πακέτα του πρωτοκόλλου TCP καλούνται segments (τμήματα). Ένα από τα κυριότερα μέρη ενός segment είναι η TCP επικεφαλίδα (TCP header), η οποία παρέχει συγκεκριμένες πληροφορίες για το πρωτόκολλο TCP. Το ελάχιστο μέγεθος της επικεφαλίδας είναι 5 words και το μέγιστο 15 words (απουσία ή παρουσία όλων των options αντίστοιχα).
TCP επικεφαλίδα
| + | Bits 0 - 3 | 4 - 9 | 10 - 15 | 16 - 31 |
| 0 | Source Port Θύρα Προέλευσης | Destination Port Θύρα Προορισμού |
| 32 | Sequence Number Αριθμός ακολουθίας |
| 64 | Acknowledgment Number Αριθμός επιβεβαίωσης |
| 96 | Data Offset | Reserved | Flags Σημαίες | Window Παράθυρο |
| 128 | Checksum Άθροισμα ελέγχου | Urgent Pointer Επείγοντα δεδομένα |
| 160 | Options Επιλογές (προαιρετικές) |
| 160/192+ | Data Δεδομένα |
|
- Source Port
- Αυτό το πεδίο προσδιορίζει τη θύρα αποστολής
- Destination Port
- Αυτό το πεδίο προσδιορίζει την port (θύρα) του παραλήπτη
- Sequence Number
- Ο sequence number (αριθμός ακολουθίας) έχει διπλό ρόλο:
- Εαν υπάρχει η SYN flag (SYN σημαία) τότε είναι ο αρχικός αριθμός ακολουθίας (ISN - initial sequence number) και η πρώτη octet δεδομένων του πακέτου είναι ο ISN+1.
- Αλλιώς, εαν δεν υπάρχει η SYN flag, τότε η πρώτη octet δεδομένων είναι ο αριθμός ακολουθίας.
- Acknowledgment number
- Όταν υπάρχει η ACK flag η τιμή αυτού του πεδίου δείχνει τον επόμενο sequence number (αριθμό ακολουθίας) που αναμένει ο αποστολέας.
- Data offset
- Είναι ο αριθμός από words μεγέθους 32 bit στην επικεφαλίδα TCP (TCP header). Καθορίζει το μέγεθος της επικεφαλίδας (πολλαπλάσιο του 32) και επομένως δείχνει και την αρχή των δεδομένων[2].
- Reserved
- Πεδίο 6 bit "κρατημένων" (αγγλ. reserved) για μελλοντική χρήση. Η τιμή των bit πρέπει να είναι 0.
- Flags (επίσης γνωστό ως bits ελέγχου - Control bits)
- Περιέχει 6 bit - σημαίες:
| Σημαία | Σημασία | Προέλευση ονομασίας |
| URG | Το πεδίο urgent pointer είναι σημαντικό | URGent |
| ACK | Το πεδίο επιβεβαίωσης είναι σημαντικό | ACKnowledgment |
| PSH | Λειτουργία ώθησης | PuSH |
| RST | Επαναρύθμιση σύνδεσης | ReSeT |
| SYN | Συγχρονισμός αριθμών ακολουθίας | SYNchronize |
| FIN | Ο αποστολέας δεν στέλνει άλλα δεδομένα | FINish |
|
- Window
- Ο αριθμός από octets δεδομένων (bytes) που επιθυμεί να δεχτεί ο αποστολέας του πακέτου, αρχίζοντας από εκείνη που δείχνει το πεδίο επιβεβαίωσης (acknowledgment field).
- Checksum
- Το πεδίο checksum μεγέθους 16 bit χρησιμοποιείται για έλεγχο λαθών στην επικεφαλίδα και στα δεδομένα. To checksum υπολογίζεται πάνω σε ψευδο-κεφαλίδα.
- Options
- Μεταβλητή, η οποία καθορίζει ειδικές επιλεγόμενες ρυθμίσεις και μπορεί να καταλάβει χώρο στο τέλος της επικεφαλίδας TCP (TCP header). Το μήκος τους είναι πολλαπλάσιο των 8 bit και σε το περιεχόμενο της επικεφαλίδας μετά την τελευταία επιλογή πρέπει να γεμίζει (πχ. με μηδενικά - 0). Με αυτόν τον τρόπο το data offset θα δείχνει σωστά την αρχή των δεδομένων.
- Urgent pointer
- Εάν είναι ενεργοποιημένο το URG bit ελέγχου, τότε αυτό το πεδίο δείχνει τον αριθμό ακολουθίας (sequence number)της octet που βρίσκεται αμέσως μετά το τελευταίο byte από τα επείγοντα δεδομένα. Έτσι παρουσιάζει τη θέση του τελευταίου byte με επείγοντα δεδομένα.
- Στο βίντεο που ακολουθεί παρουσιάζεται η ανάλυση της κεφαλίδας (TCP/IP Header), από το Stanford University. Η παρουσίαση είναι στην αγγλική γλώσσα. Όσοι έχετε δυσκολία στην ταχύτητα ακοής μπορείτε να ενεργοποιήσετε τους υπότιτλους. Παρακολουθήστε το βίντεο ειδικά από το 3' 50 sec που αναφέρεται στα Flags.
Δεν υπάρχουν σχόλια:
Δημοσίευση σχολίου