Иллюстрированный самоучитель по Microsoft Internet Explorer 6

         

Формат сообщений TCP


Сообщения протокола TCP называются сегментами и состоят из заголовка и блока данных. Заголовок сегмента имеет следующие поля:

  • поле "Порт источника" (SOURS PORT) занимает 2 байта, идентифицирует процесс-отправитель;

  • поле "Порт назначения" (DESTINATION PORT) занимает 2 байта, идентифицирует процесс-получатель;

  • поле "Последовательный номер" (SEQUENCE NUMBER) занимает 4 байта, указывает номер байта, который определяет смещение сегмента относительно потока отправляемых данных;

  • поле "Подтвержденный номер" (ACKNOWLEDGEMENT NUMBER) занимает 4 байта, содержит максимальный номер байта в полученном сегменте, увеличенный на единицу; именно это значение используется в качестве квитанции;

  • поле "Длина заголовка" (HLEN) занимает 4 бита, указывает длину заголовка сегмента TCP, измеренную в 32-битовых словах. Длина заголовка не фиксирована и может изменяться в зависимости от значений, устанавливаемых в поле "Опции";

  • поле "Резерв" (RESERVED) занимает 6 бит, поле зарезервировано для последующего использования;

  • поле "Кодовые биты" (CODE BITS) занимают 6 бит, содержат служебную информацию о типе данного сегмента, задаваемую установкой в единицу соответствующих бит этого поля:

  • • URG — срочное сообщение;

  • • АСК — квитанция на принятый сегмент;

  • • PSH — запрос на отправку сообщения без ожидания заполнения буфера;

  • • RST — запрос на восстановление соединения;

  • • SYN — сообщение, используемое для синхронизации счетчиков переданных данных при установлении соединения;

  • • FIN— признак достижения передающей стороной последнего байта в потоке передаваемых данных.

  • поле "Окно" (WINDOW) занимает 2 байта, содержит объявляемое значение размера окна в байтах;

  • поле "Контрольная сумма" (CHECKSUM) занимает 2 байта, рассчитывается по сегменту;

  • поле "Указатель срочности" (URGENT POINTER) занимает 2 байта, используется совместно с кодовым битом URG, указывает на конец данных, которые необходимо срочно принять, несмотря на переполнение буфера;

  • поле "Опции" (OPTIONS) — это поле имеет переменную'длину и может вообще отсутствовать, максимальная величина поля 3 байта; используется для решения вспомогательных задач, например, при выборе максимального размера сегмента;

  • поле "Заполнитель" (PADDING) может иметь переменную длину, представляет собой фиктивное поле," используемое для доведения размера заголовка до целого числа 32-битовых слов.


  • Содержание раздела