Методы квитирования
503
ложим, что квитанции поступают в той же последовательности (но не обязательно в том
же темпе), что и пакеты, которым они соответствуют. В момент получения отправителем
квитанции 1 окно сдвигается на
одну позицию вверх, определяя новый диапазон разре
шенных к отправке пакетов (от 2 до 6).
Процессы отправки пакетов и получения квитанций идут независимо друг от друга. В на
шем примере отправитель продолжает передавать пакеты, но некоторое время не получает
на них квитанции. После передачи пакета б окно исчерпывается, и источник приостанав
ливает передачу.
После получения квитанции 2 (на пакет 2) окно сдвигается
вверх на единицу, определяя
диапазон разрешенных к передаче пакетов от 3 до 7. Аналогичное «скольжение» окна
вверх происходит после получения каждой квитанции: окно сдвигается вверх на 1, но его
размер при этом не меняется. После прихода квитанции 8 окно оказывается в диапазоне
от 9 до 13 и остается таковым достаточно долго, так как по каким-то причинам источник
перестает получать подтверждения о доставке пакетов. Отправив последний разрешенный
пакет 13, передатчик снова прекращает передачу, с тем чтобы возобновить ее после при
хода квитанции 9.
Теперь, когда мы познакомились с
концепцией скользящего окна, рассмотрим методы
передачи, построенные на ее основе.
Передана с возвращением на N пакетов
В данном методе ставится задача обеспечить более эффективное использование линии
связи, чем в методе с простоем источника. Для этого отправителю разрешается отправлять
следующие пакеты, не дожидаясь подтверждения получателем их успешного приема. Ко
личество переданных таким образом пакетов ограничивается окном.
Поскольку отправитель должен иметь возможность при необходимости повторить пере
дачу
любого из переданных пакетов, их необходимо буферизовать. Кроме того, отпра
витель должен отслеживать статус пакетов (отправлен/не
отправлен, подтвержден/не
подтвержден).
На рис. 16.13 показано положение окна передачи в некоторый момент времени. Базой
окна в данном случае является номер 7, а верхней границей — номер 17. Все пакеты с но
мерами в этом диапазоне отправитель имеет право передавать независимо от
поступления
квитанций. С левой стороны окна находятся более «старые» пакеты (1 -6 ), которые были
переданы и подтверждены. Пакеты (18 -22) справа от окна в данный момент передавать
запрещено.
В пределах окна имеются
как уже отправленные, но не подтвержденные пакеты (7-12),
так и неотправленные пакеты, которые разрешено отправлять (13-17). Как только самый
«старый» пакет в окне (7) получит подтверждение успешного приема, окно сдвинется на
право на единицу.
Рассмотрим
алгоритм работы получателя.
При поступлении нового пакета получатель всегда выполняет одни и те же действия, про
веряя:
□
является ли пакет неискаженным;
□ является ли он следующим по порядку в последовательности уже полученных пакетов.