Как стать автором
Поиск
Написать публикацию
Обновить

Комментарии 3

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

Всю жизнь думал что это работает не так.

  1. Отправляем последовательно (или в любом порядке чтобы навести хаоса) блоки 1, 2, 3.

  2. Если к моменту отправки 4 блока от получателя пришёл ACK на некоторое количество блоков - сдвигаем окно на это количество блоков, продолжаем посылать дальше.

    Передача блоков и подтверждений идёт синхронно в обе стороны а не последовательно как на вашей картинке, при этом в случае с размером окна 3 получатель может прислать от 0 до 3х подтверждений в зависимости от того какие блоки и в каком порядке успеют дойти.

у получателя проблемы с памятью и он не может обрабатывать больший объем данных.

А если проблемы не с получателем а с сетью и половина пакетов не доходит - размер окна случайно не будет падать?...

Зарегистрируйтесь на Хабре, чтобы оставить комментарий