Что касается протокола GBN, как один таймер отслеживает время отправки неподтвержденных пакетов?

В книге Джеймса Куросе о сетевых технологиях «Компьютерные сети: подход сверху вниз» говорится следующее: ... отправитель в ... использует только один таймер, который можно рассматривать как таймер для самого старого переданного, но еще не подтвержденного пакета. . Если ACK получен, но есть еще переданные, но еще не подтвержденные пакеты, таймер перезапускается.

  1. Если в протоколе GB3 с порядковыми номерами 0,1,2,3. Предположим, что отправитель отправляет пакеты 0,1,2, и таймер запускается в соответствии с самым старым переданным, но еще не подтвержденным пакетом №0.
  2. Получатель получает все пакеты по порядку.
  3. Получатель (с размером окна 1) отправляет подтверждения 0,1,2 по одному.
  4. Предположим, что отправитель получил подтверждение 0.
  5. Теперь, согласно вышеприведенной выдержке из книги, таймер должен быть перезапущен в соответствии с пакетом №1, который передан, но еще не подтвержден.

Мой вопрос: как отправитель перезапускает таймер по отношению к пакету 1, если он уже был отправлен в прошлом, учитывая один таймер в протоколе GBN?


person AJ HUNTER    schedule 23.05.2021    source источник


Ответы (1)


Таймер в Go-Back-N не привязан к конкретному пакету. Он измеряет время между двумя событиями, то есть между самым старым пакетом (base) и полученным подтверждением. Если в течение тайм-аута подтверждение не получено, все пакеты от base передаются повторно. Для каждого полученного подтверждения таймер перезапускается. Предположим, что таймер равен 3 sec, и получено подтверждение для пакета-0. Он перезапускает таймер, т.е. устанавливает таймер на 3 секунды и ожидает получения подтверждения (либо совокупного подтверждения, либо индивидуального подтверждения). Если отправитель не получает подтверждение в установленное время, таймер перезапускается и пакеты передаются повторно.

person m0hithreddy    schedule 23.05.2021
comment
Таким образом, отправитель просто перезапускает таймер при получении ack-0. Отправленный пакет-1 должен ждать еще 3 секунды, чтобы быть повторно переданным, если он потерян? - person AJ HUNTER; 23.05.2021
comment
Да, верно. - person m0hithreddy; 23.05.2021