logo
Часть 4

4.10.3. Формат сообщений tcp

Сообщения протокола TCP называются сегментами и состоят из заголовка и блока данных (Рис.4.7.).

Рис.4.7.

Заголовок сегмента имеет следующие поля:

Source Port (16 бит). Порт отправителя.

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 бит). Окно. Это поле содержит количество байт данных, которое отправитель данного сегмента может принять, отсчитанное от номера байта, указанного в поле Acknowledgment Number.

Checksum (16 бит). Поле контрольной суммы. Это поле содержит 16 бит суммы побитных дополнений 16-битных слов заголовка и данных. Если сег­мент содержит нечетное число байт заголовка и данных, последний байт до­полняется справа нулями. При вычислении контрольной суммы поле кон­трольной суммы полагается равным нулю.

Urgent Pointer (16 бит). Поле указателя срочных данных. Это поле содержит значение счетчика пакетов, начиная с которого следуют пакеты повышен­ной срочности. Это поле принимается во внимание только в сегментах с установленным флагом URG.

Options. Поле дополнительных параметров: может быть переменной длины.

Padding. Заполнение: переменная длина. Заполнение (нулями) TCP-заго­ловка используется для выравнивания его по 32-битному слову. 

Yandex.RTB R-A-252273-3
Yandex.RTB R-A-252273-4