ВУЗ:
Составители:
Рубрика:
170 Глава 6. Транспортный уровень
Псевдозаголовок формируется исключительно для работы с контрольной сум-
мой и имеет следующую структуру (рис. 6.7).
0 8 16 24 31
IP-адрес источника
IP-адрес получателя
Нули
Протокол ( = 6)
Длина TCP-сегмента
12 байт
Рис. 6.7. Структура псевдозаголовка пакета TCP
Вначале идут поля IP-адрес источника (длина 32 бит) и IP-адрес получателя
(длина 32 бит).
Далее идёт зарезервированное поле (длина 8 бит), заполненное нулями.
Поле Протокол (длина 8 бит) идентифицирует протокол из заголовка пакета
IP. Для TCP это значение равно 6 (см. табл. 5.1).
Далее идёт поле Длина TCP (длина 16 бит).
Поле Указатель на срочные данные (длина 16 бит) содержит смещение в бай-
тах от текущего порядкового номера байта до места расположения срочных дан-
ных. Содержимым срочных данных занимаются вышестоящие уровни.
Поле Параметры (Option) (длина переменная, кратная 32 битам) содержит
дополнительные поля, расширяющие возможности стандартного заголовка. Это
поле зарезервировано для будущего применения и в заголовке может отсутство-
вать. В настоящее время определены опции:
–– конец списка опций;
–– никаких операций (используется для заполнения поля опции до числа окте-
тов, кратного 4);
–– максимальный размер сегмента (Maximum Segment Size, MSS), задающий
верхний размер поля данных.
Данные в TCP-сегменте могут и отсутствовать, характер и формат передавае-
мой информации задаются исключительно прикладной программой, теоретиче-
ски максимальный размер этого поля составляет в отсутствие опций 65495 байт.
6.2.2. Установление сессии TCP
Поля Порядковый номер (Sequence Number) и Номер подтверждения (Ac-
knowledgment Number) играют роль счётчика пакетов. При установлении сессии
используется поле флагов.
Установление связи клиент-сервер осуществляется в три этапа (трёхступен-
чатый handshake) (рис. 6.8) .
Пусть хост A создаёт соединение с хостом B.
1) Режим активного доступа (Active Open). Клиент посылает сообщение SYN,
ISSa, т.е. в передаваемом сообщении установлен бит SYN (Synchronize Se-
quence Number), а в поле Порядковый номер (Sequence Number) — началь-
ное 32-битное значение ISSa (Initial Sequence Number).
Страницы
- « первая
- ‹ предыдущая
- …
- 168
- 169
- 170
- 171
- 172
- …
- следующая ›
- последняя »
