Архитектура и принципы построения современных сетей и систем телекоммуникаций. Кулябов Д.С - 169 стр.

UptoLike

Рубрика: 

6.2. Протокол TCP 169
0
1 2
3
4
5 6
7
U
R
G
A
C
K
P
S
H
R
S
T
S
Y
N
F
I
N
Рис. 6.5. Поле Флаги заголовка пакета TCP
Флаг Подтверждение (Acknowledgment, ACK) устанавливается в 1 в случае,
если поле Номер подтверждения (Acknowledgement Number) содержит данные.
В противном случае это поле игнорируется.
Флаг Выталкивание (Push, PSH) означает, что принимающий стек TCP дол-
жен немедленно информировать приложение о поступивших данных, а не ждать,
пока буфер заполниться. Большинство современных реализаций TCP просто иг-
норируют флаг PSH во время приёма пакетов. Этот флаг оставлен по историче-
ским причинам.
Флаг Сброс (Reset, RST) используется для отмены соединения из-за ошибки
приложения, отказа от неверного сегмента, попытки создать соединение при от-
сутствии затребованного сервиса.
Флаг Синхронизация (Synchronize, SYN) устанавливается при инициировании
соединения и синхронизации порядкового номера.
Флаг Завершение (Finished, FIN) используется для разрыва соединения. Он
указывает, что отправитель закончил передачу данных.
Управление потоком в протоколе TCP осуществляется при помощи скользя-
щего окна переменного размера. Поле Размер окна (Window) (длина 16 бит) со-
держит количество байт, которое может быть послано после байта, получение
которого уже подтверждено. Если значение этого поля равно нулю, это означает,
что все байты, вплоть до байта с номером Номер подтверждения 1, получены,
но получатель отказывается принимать дальнейшие данные. Разрешение на даль-
нейшую передачу может быть выдано отправкой сегмента с таким же значением
поля Номер подтверждения и ненулевым значением поля Размер окна.
Поле Контрольная сумма TCP (Checksum) (длина 16 бит) содержит контроль-
ную сумму пакета TCP, вычисляемую по всему пакету TCP с добавленным псев-
дозаголовком (рис. 6.6). Во время вычисления контрольной суммы это поле вы-
ставляется в нуль, а поле данных выравнивается по 32-байтной границе нулевыми
байтами.
0 8 16 24 31
Псевдозаголовок TCP
Заголовок TCP
Данные
Байт
}
12
}
20
Рис. 6.6. Структура пакета TCP при вычислении контрольной суммы