Παρασκευή 2 Ιουνίου 2017

Ανάλυση της κεφαλίδας του TCP

Τα πακέτα του πρωτοκόλλου TCP καλούνται segments (τμήματα). Ένα από τα κυριότερα μέρη ενός segment είναι η TCP επικεφαλίδα (TCP header), η οποία παρέχει συγκεκριμένες πληροφορίες για το πρωτόκολλο TCP. Το ελάχιστο μέγεθος της επικεφαλίδας είναι 5 words και το μέγιστο 15 words (απουσία ή παρουσία όλων των options αντίστοιχα).
TCP επικεφαλίδα
+Bits 0 - 34 - 910 - 1516 - 31
0Source Port
Θύρα Προέλευσης 
Destination Port
Θύρα Προορισμού 
32Sequence Number
Αριθμός ακολουθίας 
64Acknowledgment Number
Αριθμός επιβεβαίωσης 
96Data Offset
 
Reserved
 
Flags
Σημαίες 
Window
Παράθυρο 
128Checksum
Άθροισμα ελέγχου 
Urgent Pointer
Επείγοντα δεδομένα 
160Options
Επιλογές (προαιρετικές) 
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.


Δεν υπάρχουν σχόλια:

Δημοσίευση σχολίου