Составители:
Рубрика:
При переполнении приемного буфера конечного узла
"перегруженный" протокол TCP, отправляя квитанцию, помещает в нее
новый, уменьшенный размер окна.
Если он совсем отказывается от приема, то в квитанции указывается
окно нулевого размера. Однако даже после этого приложение может
послать сообщение на отказавшийся от приема порт.
Для этого, сообщение должно сопровождаться пометкой "срочно"
(бит URG в запросе установлен в 1). В такой ситуации порт обязан принять
сегмент, даже если для этого придется вытеснить из буфера уже
находящиеся там данные.
После приема квитанции с нулевым значением окна протокол-
отправитель время от времени делает контрольные попытки продолжить
обмен данными.
Если протокол-приемник уже готов принимать информацию, то в
ответ на контрольный запрос он посылает квитанцию с указанием
ненулевого размера окна.
Другим проявлением перегрузки сети является переполнение
буферов в маршрутизаторах. В таких случаях они могут централизовано
изменить размер окна, посылая управляющие сообщения некоторым
конечным узлам, что позволяет им дифференцировано управлять
интенсивностью потока данных в разных частях сети.
Формат сообщений TCP
Сообщения протокола TCP называются сегментами и состоят из
заголовка и блока данных. Заголовок сегмента имеет следующие поля:
Порт источника (SOURS PORT) занимает 2 байта, идентифицирует
процесс-отправитель;
Порт назначения (DESTINATION PORT) занимает 2 байта,
идентифицирует процесс-получатель;
Последовательный номер (SEQUENCE NUMBER) занимает 4 байта,
указывает номер байта, который определяет смещение сегмента
относительно потока отправляемых данных;
Подтвержденный номер (ACKNOWLEDGEMENT NUMBER)
занимает 4 байта, содержит максимальный номер байта в полученном
сегменте, увеличенный на единицу; именно это значение используется в
качестве квитанции;
Длина заголовка (HLEN) занимает 4 бита, указывает длину заголовка
сегмента TCP, измеренную в 32-битовых словах.
Длина заголовка не фиксирована и может изменяться в зависимости
от значений, устанавливаемых в поле Опции;
Резерв (RESERVED) занимает 6 битов, поле зарезервировано для
последующего использования;
43
Страницы
- « первая
- ‹ предыдущая
- …
- 41
- 42
- 43
- 44
- 45
- …
- следующая ›
- последняя »