ВУЗ:
Составители:
Рубрика:
26
2.6.3 Протокол TCP
Протокол TCP (англ. Transmission Control Protocol, Протокол управления
передачей) описан в RFC 793. Он обеспечивает надежную передачу потока
данных, используя сервис передачи дейтаграмм протокола IP. Пакеты,
передаваемые протоколом TCP, называются сегментами. Каждый TCP-сегмент
размещается в одном IP-пакете (а в каждом IP-пакете может находиться только
один TCP-сегмент). Надежность передачи обеспечивается при помощи
нумерации байтов потока и подтверждений
приема. Все байты исходного
потока данных нумеруются (этот номер называется номером в
последовательности (англ. sequence number)), и с каждым сегментом передается
номер в последовательности его первого байта.
Поскольку два узла могут передавать два встречных потока данные по
одному TCP-соединению, для передачи подтверждений одного потока
используются сегменты встречного потока. В каждом сегменте передается
номер в последовательности байта, который собирается принять данный узел.
После того, как модуль TCP передаст сегмент модулю IP, он записывает
его копию в очередь на повторную передачу и запускает таймер для этого
сегмента. Когда поступит подтверждение приема сегмента (то есть будет
принят сегмент, в котором будет заявлено, что та сторона готова принять байт
с
номером, большим всех номеров байтов сегмента, ждущего повторной
передачи), сегмент удаляется из очереди. Если подтверждение не поступает до
срабатывания таймера, сегмент отправляется повторно.
Сегмент состоит из заголовка и поля данных. Формат заголовка сегмента
TCP приведен на рисунке 2.7.
1 байт 2 байт 3 байт 4 байт
0 1 2 3 4 5 6 7 0 1 2 3 45670123456701 2 3 4 5 67
Source port Destination port
Sequence number
Acknowledgement number
Data offset Reserved Control bits Window
2.6.3 Протокол TCP
Протокол TCP (англ. Transmission Control Protocol, Протокол управления
передачей) описан в RFC 793. Он обеспечивает надежную передачу потока
данных, используя сервис передачи дейтаграмм протокола IP. Пакеты,
передаваемые протоколом TCP, называются сегментами. Каждый TCP-сегмент
размещается в одном IP-пакете (а в каждом IP-пакете может находиться только
один TCP-сегмент). Надежность передачи обеспечивается при помощи
нумерации байтов потока и подтверждений приема. Все байты исходного
потока данных нумеруются (этот номер называется номером в
последовательности (англ. sequence number)), и с каждым сегментом передается
номер в последовательности его первого байта.
Поскольку два узла могут передавать два встречных потока данные по
одному TCP-соединению, для передачи подтверждений одного потока
используются сегменты встречного потока. В каждом сегменте передается
номер в последовательности байта, который собирается принять данный узел.
После того, как модуль TCP передаст сегмент модулю IP, он записывает
его копию в очередь на повторную передачу и запускает таймер для этого
сегмента. Когда поступит подтверждение приема сегмента (то есть будет
принят сегмент, в котором будет заявлено, что та сторона готова принять байт с
номером, большим всех номеров байтов сегмента, ждущего повторной
передачи), сегмент удаляется из очереди. Если подтверждение не поступает до
срабатывания таймера, сегмент отправляется повторно.
Сегмент состоит из заголовка и поля данных. Формат заголовка сегмента
TCP приведен на рисунке 2.7.
1 байт 2 байт 3 байт 4 байт
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
Source port Destination port
Sequence number
Acknowledgement number
Data offset Reserved Control bits Window
26
Страницы
- « первая
- ‹ предыдущая
- …
- 24
- 25
- 26
- 27
- 28
- …
- следующая ›
- последняя »
