Подтверждения
Надежный механизм доставки гарантирует, что поток данных, пересланный одной станцией, будет доставлен по каналу передачи данных другой без дублирования или потери данных. Положительное подтверждение с повторной передачей является одной из методик, гарантирующих надежную доставку потоков данных. Положительное подтверждение требует, чтобы получатель общался с отправителем, посылая ему назад сообщение подтверждения после приема данных. Отправитель регистрирует каждый переданный им пакет и перед отправкой следующего пакета данных ждет подтверждения. В момент пересылки сегмента отправитель также запускает таймер и повторно передает блок данных, если установленное таймером время истекает до поступления подтверждения. На рис. 7 показан отправитель, который передает пакеты 1, 2 и 3. Получатель подтверждает прием пакетов, запрашивая пакет 4. Отправитель, получив подтверждение, посылает пакеты 4, 5 и 6. Если пакет 5 не доставляется получателю, он посылает соответствующее подтверждение с запросом о повторной отправке пакета 5. Отправитель повторно отсылает пакет 5 и должен получить соответствующее подтверждение, чтобы продолжить передачу пакета с номером 7. Протокол TCP обеспечивает соблюдение последовательности сегментов с последующим подтверждением. Каждой дейтаграмме перед передачей присваивается номер (рис. 8). После того как получатель принял все дейтаграммы, они собираются в завершенное сообщение. В обязанности протокола TCP входит восстановление поврежденных, утерянных, дублированных или пришедших в неверном порядке данных, которые передавались через сеть Internet. Механизм восстановления функционирует за счет назначения порядкового номера каждому переданному октету, после приема которого получатель должен отправить подтверждение (ACK). Если же в течение интервала времени ожидания подтверждение не было получено, данные передаются отправителем повторно. После доставки октетов получателю их порядковые номера используются для сборки сообщения из фрагментов и устранения дубликатов. Поврежденные данные восстанавливаются при помощи контрольной суммы, которая добавляется к каждому передаваемому сегменту. Контрольная сумма проверяется получателем, и, если она не совпадает, поврежденные данные отбрасываются.
Рис. 7. Размер окна равен трем
Рис. 8. Порядковые номера и подтверждения
|