Сети ЭВМ и телекоммуникации. Глобальные сети. Брейман А.Д. - 26 стр.

UptoLike

Составители: 

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