Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
отвнты на экзамен по сети эвм.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
1.22 Mб
Скачать

7. Механизмы окна, тайм-аута, циклической нумерации. Их применение в протоколах. Механизм тайм-аут

Т айм-аут - промежуток времени, отводимый для получения сигнала, подтверждающего выполнение соответствующего действия. Если в течении тайм-аута подтверждение в узел-источник не поступило, предпринимается повторная передача последнего переданного блока.

ПРД - передатчик (узел-источник) ПРМ - приемник (узел-приемник)  ask - подтверждение (квитанция)  noask - подтверждение не поступало Рис.2

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

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

Механизм окна

Чтобы соотнести блоки и квитанции, последовательность передаваемых блоков должна быть пронумерована: первому блоку присваивается номер 0, второму - 1 и т.д. Предварительное число блоков, передаваемых до получения подтверждения, называется шириной окна (W).  Перед началом передачи в передатчике и приемнике должны быть установлены одинаковые начальные номера 0. В момент времени t порядковый номер передаваемого блока будет равен Nt, а номер блока, ожидаемого в приемнике, - Nr. В начальный период времени узел передает блоки с номерами 0 <= Nt < W, где W - ширина окна. Приемник все прибывшие блоки проверяет на наличие ошибок, и искаженные блоки считаются потерянными.

  • Если поступил блок с номером N = Nr, то он будет принят в правильной последовательности, о чем посылается квитанция, содержащая номер N.

  • Если N > Nr, то принятый блок опережает правильную последовательность и, следовательно, предшествующий блок утерян. В этом случае квитанция о приеме блока N не высылается.

  • Если N < Nr, то блок N является копией предыдущего блока, повторная передача которого произошла из-за потери квитанции. Поэтому приемник посылает подтверждение о приеме блока N, а принятая копия уничтожается.

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

Рис.3 Ширина окна равна 3 блокам. Узел А высылает блоки 3, 4, 5, причем последний еще находится в канале передачи к узлу В. Узел В принял все блоки до 4 включительно. Он высылает подтверждение о приеме блоков 3 и 4 и сдвигает окно для приема блоков 5, 6 и 7, которые должны прибыть именно в этом порядке. Когда узел А получит 3 и 4, он может последовательно передать блоки 6 и 7.

Механизм циклической нумерации

Для кодирования номеров блоков отводится конечное число битов k и нумерация производится циклически: 0, 1, ..., 2k - 1,0, 1, ..., 2k - 1, ... Ширина окна W определяет число блоков, копии которых сохраняются после передачи в узле-источнике, и одновременно число буферов, используемых в узле для хранения блоков. Чем больше значение W, тем эффективнее используется пропускная способность канала, но это достигается за счет увеличения в узлах емкости памяти, обеспечивающей работу канала. Ширина окна должна быть тем больше, чем пропускная способность и протяженность канала.