8

В Wireshark я вижу такие вещи, как "Ретрансляция TCP" и "Быстрая ретрансляция TCP". Какая разница? Как Wireshark может определить разницу?

4 ответа4

8

Когда пакет отправляется с использованием TCP, он имеет порядковый номер, передаваемый вместе с ним. Когда получатель получает пакет, он отправляет подтверждение отправителю с порядковым номером, показывающим, что пакет был получен. Исходя из того, как вы задали свой вопрос, я предполагаю, что вы это знаете. Я хотел вставить это для других читателей.

TCP Retransmission - это просто пакет, который не подтверждается в течение времени ожидания.

TCP Fast Retransmission - это когда источник получает подтверждение того, что пакет не был получен ... цитата из Fast retransmit - Wikipedia, бесплатная энциклопедия

если отправитель TCP получает три дублированных подтверждения с одним и тем же номером подтверждения (т. е. всего четыре подтверждения с одинаковым номером подтверждения), отправитель может быть достаточно уверен, что сегмент со следующим более высоким порядковым номером был отброшен

4

Я переварил это от Microsoft:

TCP запускает таймер повторной передачи, когда каждый исходящий сегмент передается на уровень Интернет-протокола (IP). Если TCP не получает подтверждение данных в данном сегменте до истечения таймера, сегмент передается повторно.

Время ожидания повторной передачи корректируется на лету, чтобы соответствовать характеристикам соединения, используя расчеты сглаженного времени прохождения сигнала туда и обратно (SRTT), как описано в статье Ван Якобсона и Майка Карелса "Предотвращение перегрузки и контроль" в материалах конференции ACM SIGCOMM. по передаче данных, ноябрь 1988 г. Этот документ можно найти в цифровой библиотеке ACM в Ассоциации вычислительной техники. Для получения дополнительной информации о вычислениях SRTT см. RFC 793: Спецификация протокола Интернет-программы DARPA. Время ожидания повторной передачи для данного сегмента удваивается после каждой повторной передачи этого сегмента.

Используя этот алгоритм, TCP настраивается на обычную задержку соединения. Соединения TCP по каналам с высокой задержкой требуют намного больше времени ожидания, чем соединения по каналам с низкой задержкой, чтобы избежать неправильного тайм-аута, когда соединение просто медленное, а не отсутствует.

При некоторых обстоятельствах TCP повторно передает данные до истечения таймера повторной передачи определенного сегмента. Наиболее распространенное такое обстоятельство возникает из-за функции, известной как быстрая повторная передача.

Когда получатель, который поддерживает быструю повторную передачу, получает пакет с порядковым номером, превышающим текущий ожидаемый, он поступает так, как если бы некоторые данные были отброшены. Чтобы помочь отправителю как можно быстрее узнать о пропущенных данных, получатель немедленно отправляет подтверждение (ACK) с номером ACK, равным порядковому номеру, который, по-видимому, отсутствует. Получатель отправляет другой ACK для этого порядкового номера для каждого дополнительного сегмента TCP во входящем потоке, который поступает с порядковым номером выше, чем отсутствующий.

Когда отправитель получает поток дубликатов ACK, которые подтверждают тот же порядковый номер, и указанный порядковый номер является более ранним, чем порядковый номер текущего сегмента, отправляемого, отправитель может сделать вывод, что один или несколько сегментов, которые он ранее отправил, были отброшены. После получения определенного количества дублированных ACK отправители, которые поддерживают алгоритм быстрой повторной передачи, повторно отправляют сегмент или сегменты, которые получатель запрашивает, чтобы заполнить пробел в данных, не дожидаясь истечения таймера повторной передачи для отсутствующих сегментов. Эта оптимизация значительно повышает производительность в загруженной сетевой среде.

При быстрой повторной передаче отправитель повторно передает отсутствующие сегменты TCP до истечения времени их таймеров повторной передачи. Поскольку таймеры повторной передачи не истекли для отсутствующих сегментов TCP, отсутствующие сегменты принимаются в месте назначения и подтверждаются получателем быстрее, чем они были бы без быстрой повторной передачи, и отправитель может быстрее отправлять более поздние сегменты получателю. Этот процесс известен как быстрое восстановление. Быстрая повторная передача и быстрое восстановление описаны в RFC 2581: TCP Congestion Control.

1

Повторная передача, по существу идентичная автоматическому повторному запросу (ARQ), представляет собой повторную отправку пакетов, которые были либо повреждены, либо потеряны. Этот термин относится к одному из основных механизмов, используемых протоколами, работающими в компьютерной сети с коммутацией пакетов, для обеспечения надежной связи. НО Fast Retransmit - это усовершенствование TCP, которое сокращает время ожидания отправителя перед повторной передачей потерянного сегмента.Усовершенствование быстрой повторной передачи работает следующим образом: если отправитель TCP получает указанное количество подтверждений, которое обычно устанавливается на три дублированных подтверждения с одинаковым номером подтверждения (то есть всего четыре подтверждения с одинаковым номером подтверждения), отправитель может быть достаточно уверенным в том, что сегмент со следующим более высоким порядковым номером был отброшен и не выйдет из строя. Затем отправитель повторно передает пакет, который предположительно был отброшен, прежде чем ожидать истечения времени ожидания. проверьте эту ссылку для получения дополнительной информации и алгоритма http://www.isi.edu/nsnam/DIRECTED_RESEARCH/DR_WANIDA/DR/JavisInActionFastRetransmitFrame.html

0

Проще говоря, ретрансляция TCP в основном зависит от времени ожидания пакета для обнаружения пропуска, в то время как в быстрой ретрансляции TCP двойное подтверждение для определенного пакета символизирует его пропущение.

В основном 3 дублированных подтверждения для пакета выводятся как пропущенный пакет. Затем источник может увидеть порядковый номер пакета, для которого был запущен NACK. Это порядковый номер отсутствующего пакета и может быть отправлен получателю.

Преимущество быстрой повторной передачи TCP состоит в том, что она не ожидает истечения времени ожидания пакета, чтобы инициировать передачу и, следовательно, более быструю повторную передачу пакета, как также следует из названия.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .