Общая структура кадра:

MAC

LLC

IP

TCP

HTTPS

 

Формат MAC заголовка:

·        Preamble (7байт + 1байт)

·        Destination Address

·        Source Address

·        Length

 

Формат LLC заголовка:

Флаги используются на уровне MAC для определения границ кадра LLC

 

Формат IP заголовка

 

0

1

2

3

0

1

2

3

4

5

6

7

0

1

2

3

4

5

6

7

0

1

2

3

4

5

6

7

0

1

2

3

4

5

6

7

Версия

IHL

Тип обслуживания

Длина пакета

Идентификатор

Флаги

Смещение фрагмента

Число переходов (TTL)

Протокол

Контрольная сумма заголовка

IP-адрес отправителя (32 бита)

IP-адрес получателя (32 бита)

Параметры (до 320 бит)

Данные (до 65535 байт минус заголовок)

 

Version – версия протокола, к которому принадлежит дейтаграмма.

IHLполе для хранения переменной длины заголовка (5x4B[20B] – 15[60B])

Type of Serviceдля различения классов обслуживания. Состоит из трёхразрядного поля Precedence (приоритет) и флагов D, T, R , C(задержка, пропускная способность, надёжность, мин. стоимость).

Total Lengthдлина всей дейтаграммы, включая заголовок и данные. Макс.: 65536

Identificationпозволяет хосту-получателю определить, какой дейтаграмме принадлежат полученные им фрагменты. Все фрагменты одной дейтаграммы имеют один и тот же ID.

Flags3 бита флагов. Первый бит должен быть всегда равен нулю, второй бит DF (dont fragment) определяет возможность фрагментации пакета и третий бит MF (more fragments) показывает, не является ли этот пакет последним в цепочке пакетов.

Fragment Offsetсмещение фрагмента указывает положение фрагмента в исходной дейтаграмме.

Time of liveсчётчик, ограничивающий время жизни пакета.

Protocolсообщает, какому процессу транспортного уровня передать дейтаграмму (TCP, UDP, ...).

Header Checksumконтрольная сумма, защищающая заголовок от ошибок.

Source Address & Destination Addressномер сети и номер хоста отправителя и получателя.

Option & Paddingнеобязательная часть, возможно, будет использоваться в след. версиях протокола.

 

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

 

Бит

0 - 3

4 - 9

10 - 15

16 - 31

0

Порт источника

Порт назначения

32

Номер последовательности

64

Номер подтверждения

96

Смещение данных

Зарезервировано

Флаги

Окно

128

Контрольная сумма

Указатель важности

160

Опции и заполнение (необязательное)

160/192+

Данные

 

Номер порта отправителя и Номер порта получателя – являются идентификаторами локальных конечных точек соединения. Номер порта вместе с IP-адресом хоста образуют уникальный 48-битный идентификатор конечной точки. Пара таких идентификаторов, относящихся к источнику и приёмнику, однозначно определяют соединение.

Порядковый номер и Номер подтверждения – порядковый номер TCP-cегмента и номер подтверждения, относящийся к следующему ожидаемому байту.

Смещение – Это поле определяет размер заголовка пакета TCP в 32-битных словах.  Минимальный размер составляет 5 слов, а максимальный - 15, что составляет 20 и 60 байт соответственно. Смещение считается от начала заголовка TCP.

Резерв – зарезервировано для будущего использования и должны устанавливаться в ноль.

URGустанавливается, если используется указатель важности, содержащий смещение в байтах от текущего порядкового номера байта до места расположения срочных данных. Таким образом в протоколе TCP реализуются прерывающие сообщения.

ACKустанавливается, если поле номер подтверждения содержит осмысленные данные.

PSHpush-флаг, при помощи которого отправитель просит получателя доставить данные приложению сразу по получении пакета, а не хранить их в буфере, пока тот не наполнится.

RST – используется для сброса состояния соединения, которое из-за сбоя хоста или по другой причине попало в тупиковую ситуацию. Кроме того, он используется для отказа от неверного сегмента или попытки создать соединение.

SYN – признак сообщения; синхронизация номеров последовательности (используется при  установки соединения).

FIN -  используется для разрыва соединения. Он указывает на то, что у отправителя больше нет данных для передачи.

Окно – сообщает, сколько байт может быть послано после байта, получившего подтверждение. Значение этого поля может быть равно нулю, что означает, что все байты вплоть до номера подтверждения получены, но у получателя в данный момент какие-то проблемы, и остальные байты он пока принять не может.

Указатель важности (URGENT POINTER) –  используется совместно с кодовым битом URG, указывает на 1B данных, которые необходимо срочно принять, несмотря на возможное переполнение буфера (2B).

Контрольная сумма – Поле контрольной суммы - это 16-битное дополненение суммы всех 16-битных слов заголовка и текста. Если сегмент содержит нечетное число октетов в заголовке /или тексте, последние октеты дополняются справа 8 нулями для выравнивания по 16-битовой границе. Биты заполнения (0) не передаются в сегменте и служат только для расчета контрольной суммы. При расчете контрольной суммы значение самого поля контрольной суммы принимается равным 0.

Опции и заполнение – предоставляет дополнительные возможности, не покрываемые стандартным заголовком. С помощью одного из таких полей каждый хост может указать максимальный размер поля полезной нагрузки, который он может принять (по умолчанию 536 байт).

Hosted by uCoz