Склад і призначення полів заголовка

Матеріал з Вікі ЦДУ
Перейти до: навігація, пошук

4.7.5 Склад і призначення полів заголовка
Пакети протоколу TCP переносяться в полі «Дані» IP-дейтаграми. Заголовок пакета TCP слідує за заголовком дейтаграми. Структура заголовка пакету TCP представлена на рис. 4.5.

VoIP 4.5.gif
Рис. 4.5. Заголовок пакета TCP Порт відправника (Source Port, 6 бітів). Порт одержувача (Destination Port, 16 бітів).


Порядковий номер (Sequence Number, 32 біта). Якщо в пакеті відсутня прапор SYN, то це - номер першого октету даних у цьому пакеті. Якщо прапор SYN в пакеті присутній, то номер даного пакету стає номером початку послідовності (ISN), та номером першого октету даних стає номер ISN 1.
Номер при підтвердженні (Acknowledgment Number, 32 біта)-якщо пакет містить встановлений прапор АСК, то це поле містить номер наступного очікуваного одержувачем октету даних. Коли встановлюється пакет підтвердження відправляється завжди.
Поле величини зміщення даних (Data Offset, 4 біта) вказує кількість 32-бітових слів заголовка TCP-пакета.
Резерв (Reserved, 6 бітів) - зарезервоване поле. Прапори управління (зліва направо):
URG - прапор терміновості,
АСК - прапор пакета, що містить підтвердження отримання,
PSH - прапор форсованої відправки,
RST - скидання з'єднання,
SYN - синхронізація порядкових номерів,
FIN - прапор закінчення передачі з боку відправника.
Вікно (Window, 16 бітів) - поле містить кількість байт даних, яке відправник даного сегменту може прийняти, рахуючи від байти з номером, зазначеним у полі Номер при підтвердженні.
Поле контрольної суми (Checksum, 16 бітів).
Поле покажчика терміновості даних (Urgent Pointer, 16 бітів). Це поле містить номер пакету, починаючи з якого йдуть пакети підвищеної терміновості. Покажчик приймається до уваги тільки в сегментах з встановленим прапором URG.
Опції (Options) - поле додаткових параметрів, може бути змінної довжини.
Заповнення (Padding) - поле, заповнюване нулями для вирівнювання заголовка до розміру, кратного 32-бітам.
Більш докладний опис протоколу TCP можна знайти в RFC-793, RFC-1180.

--Козінцев Олексій 36 гр. 06:02, 20 листопада 2010 (EET)