Действующий

Об утверждении Правил применения оборудования коммутации сетей подвижной радиотелефонной связи. Часть VI. Правила применения узлов связи с территориально распределенной архитектурой стандартов UMTS и/или GSM 900/1800 (с изменениями на 13 июня 2018 года)

Таблица N 6

     
Формат заголовка пакета протокола TCP

N

Поле

Число бит

1

Source Port

16

2

Destination Port

16

3

Sequence Number

32

4

Acknowledgment Number

32

5

Data Offset

4

6

Reserved

6

7

Control Bits

6

8

Window

16

9

Checksum

16

10

Urgent Pointer

16

11

Options

12

Padding


Далее следуют октеты пользовательских данных;

3) Source Port - номер порта отправителя;

4) Destination Port - номер порта назначения;

5) Sequence Number - порядковый номер. Порядковый номер первого октета данных в сегменте при отсутствии флага SYN. Если в сегменте присутствует бит SYN, поле номера содержит значение начального порядкового номера (ISN), а первый октет данных имеет номер ISN+1;

6) Acknowledgment Number - номер подтверждения. Если бит АСК установлен, это поле содержит значение следующего порядкового номера, который отправитель сегмента ожидает получить. После организации соединения это значение передается всегда;

7) Data Offset - смещение данных. Число 32-битовых слов в заголовке TCP. Это значение указывает начало данных в сегменте. Заголовок TCP (даже при наличии опций) имеет длину, кратную 32 битам;

8) Reserved - резервное поле. Зарезервировано для использования в будущем и имеет нулевое значение;

9) Control Bits - биты управления:

URG - указывает на значимость поля Urgent Pointer;

АСК - указывает на значимость поля Acknowledgment Number;

PSH - функция Push;

RST - сброс (Reset) соединения;

SYN - синхронизация порядковых номеров;

FIN - у отправителя больше нет данных;

10) Window - окно. Число октетов данных, начиная с указанного в поле подтверждения, которые отправитель данного сегмента ожидает принять;

11) Checksum - контрольная сумма. Контрольная сумма представляет собой число единиц в заголовке и данных, просуммированное по модулю 16 с добавлением 1. Если сегмент содержит в заголовке и данных нечетное число октетов, справа добавляется октет нулей для выравнивания по 16-битовой границе. Биты заполнения не передаются как часть сегмента и используются только для расчета контрольной суммы. При расчете контрольной суммы значение поля Checksum принимается нулевым. Контрольная сумма учитывает также 96-битовый псевдозаголовок, предществующий заголовку TCP. Этот псевдозаголовок содержит адреса отправителя и получателя, тип протокола и длину опций TCP. Перечисленные поля помогают защитить TCP против сегментов с ошибочной маршрутизацией. Эта информация транспортируется протоколом IP и передается через интерфейс TCP-сетевой уровень в качестве аргументов или результатов вызовов из TCP на уровень IP. Поле "длина опций TCP" содержит размер заголовка TCP и поля данных в октетах (это не явно передаваемое, а расчетное значение); 12-октетный псевдозаголовок при расчете длины не учитывается;

12) Urgent Pointer - указатель срочности. Это поле содержит указатель на срочные данные - позитивное смещение начала таких данных от порядкового номера данного сегмента. Это поле имеет смысл только для сегментов с установленным флагом URG;

13) Options - опции.

Опции размещаются в конце заголовка TCP и могут занимать целое число октетов. Все опции учитываются при расчете контрольной суммы. Опции начинаются на любой границе октета. Существует два варианта форматирования опций:

1) однооктетное поле признака опций;

2) однооктетное поле признака опций, поле размера опций (1 октет) и собственно опции.

Поле размера опций учитывает и 2 октета полей признака опций и самого поля длины, а также размер опций, как таковых. Поле опций может быть короче, чем указывает поле смещения данных. Неиспользуемые биты поля опций заполняются нулями. В протоколе TCP используются следующие опции: End of Option List, No-Operation, Maximum Segment Size.

End of Option List (0). Этот код означает завершение списка опций. Конец списка опций может не совпадать с концом заголовка TCP, заданным полем Data Offset. Код используется как индикатор завершения всех опций, а не какой-то конкретной и использование его требуется лишь в тех случаях, когда конец опций не совпадает с концом заголовка TCP.

No-Operation (1). Этот код может использоваться между опциями (например, для их выравнивания по границе слова). Не существует гарантий использования этой опции отправителем, поэтому получатель должен быть готов к обработке опций, начало которых не совпадает с границей слова.