Протокол TCP. Формат сегмента, поля заголовка.

Июль 6, 2011

Многие считают что купить квартиру в наше время практически невозможно. Цены на жилье с осени уже подорожают на 3-4 процента как говорят аналитики. Есть вариант с ипотекой – но жесткие ставки, даже у Сбера отпугивают многих. Поэтому надо всегда искать варианты с обменом или съемом квартиры.

___________________________

Продолжим рассматривать подробно структуру TCP протокола:

Segment Code – содержит набор флагов влияющих на обработку сегмента. Флаги:

  • URG – если установлен, то поле Urgent Pointer значимо, иначе игно-рируется.
  • ASK – если установлен, то поле Acknowledgement number значимо, иначе игнорируется.
  • PSH – указывает, что сегмент д.б. передан в обход очереди.
  • RST – используется для сброса соединения при обнаружении оши-бочных ситуаций.
  • SYN – флаг используется при установке TCP-соединения, когда со-гласуются начальные номера октетов данных с обеих сторон.
  • FIN – используется при разрыве соединения, указывает на оконча-ние потока данных отправителя.

Window – указывает на размер, так называемого, окна, которое ис-пользуется для управления передачей данных. Размер окна указывает объём данных, который м.б. передан без ожидания подтверждения.

Checksum – содержит контрольную сумму, которая вычисляется по псевдозаголовку, заголовку и данным TCP-сегмента по тем же правилам, что и в протоколах IP и ICMP. При необходимости данные выравниваются до 16-разрядной границы нулями. Псевдозаголовок используется для повышения надёжности, туда включается инфор-мация из заголовка IP-датаграммы, в которую включаются TCP-сегменты.

image

Source Address, Destination Address и protocol копируются из заголовка IP. TCP length вычисляется и включает общую длину TCP-сегмента (заголовок и данные). Поле Checksum в отличие от прото-кола UDP обязательно.
Urgent Pointer – указывает смещение первого октета данных расположенного сразу после блока данных, которые д.б. передан немедленно. Это поле имеет значение, только если установлен флаг URG.
Поле Options переменной длины и содержит опции протокола TCP. Здесь также как и в IP для опций два формата:
1. Содержит 1 октет, указывающий тип опции.
2. Содержит 1 октет типа опции, октет, указывающий длину опции и октеты данных. При этом октет длины учитывает октет типа опции и октет длины.
Исходным стандартом TCP определено всего 3 опции:
Первые две – однобайтовые со значением 0 и 1 (0 – указывает окончание списка опций, 1 – холостая операция). Они полностью аналогичны соответствующим опциям протокола IP. Третья опция используется для передачи максимального размера сегмента при установке соединения.

image 
Поле Padding. Это поле как и в протоколе IP используется для вы-равнивания заголовка TCP до 32-разрядной границы, содержит нули. Необходимость обусловлена переменной длиной поля Options.

____________

В следующих выпусках поговорим о другом протоколе…