Введение в IP сети

       

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



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

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

  • Порт источника (SOURS PORT) занимает 2 байта, идентифицирует процесс-отправитель;
  • Порт назначения (DESTINATION PORT) занимает 2 байта, идентифицирует процесс-получатель;
  • Последовательный номер (SEQUENCE NUMBER) занимает 4 байта, указывает номер байта, который определяет смещение сегмента относительно потока отправляемых данных;
  • Подтвержденный номер (ACKNOWLEDGEMENT NUMBER) занимает 4 байта, содержит максимальный номер байта в полученном сегменте, увеличенный на единицу; именно это значение используется в качестве квитанции;
  • Длина заголовка (HLEN) занимает 4 бита, указывает длину заголовка сегмента TCP, измеренную в 32-битовых словах. Длина заголовка не фиксирована и может изменяться в зависимости от значений, устанавливаемых в поле Опции;
  • Резерв (RESERVED) занимает 6 битов, поле зарезервировано для последующего использования;
  • Кодовые биты (CODE BITS) занимают 6 битов, содержат служебную информацию о типе данного сегмента, задаваемую установкой в единицу соответствующих бит этого поля:
  • URG - срочное сообщение;
  • ACK - квитанция на принятый сегмент;
  • PSH - запрос на отправку сообщения без ожидания заполнения буфера;
  • RST - запрос на восстановление соединения;
  • SYN - сообщение используемое для синхронизации счетчиков переданных данных при установлении соединения;
  • FIN - признак достижения передающей стороной последнего байта в потоке передаваемых данных.
  • Окно (WINDOW) занимает 2 байта, содержит объявляемое значение размера окна в байтах;
  • Контрольная сумма (CHECKSUM) занимает 2 байта, рассчитывается по сегменту;
  • Указатель срочности (URGENT POINTER) занимает 2 байта, используется совместно с кодовым битом URG, указывает на конец данных, которые необходимо срочно принять, несмотря на переполнение буфера;
  • Опции (OPTIONS) - это поле имеет переменную длину и может вообще отсутствовать, максимальная величина поля 3 байта; используется для решения вспомогательных задач, например, при выборе максимального размера сегмента;
  • Заполнитель (PADDING) может иметь переменную длину, представляет собой фиктивное поле, используемое для доведения размера заголовка до целого числа 32-битовых слов.
  • |



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