В. Столлингс - Современные компьютерные сети (2-е издание, 2003) (1114681), страница 73
Текст из файла (страница 73)
а рисунке отражены два описанных ранее типа ошибок. Третий калр, переданный станцией А, те т ряе ся или повреждается, поэтому станция В не отправляет подтверждение в ответ. У станции А истекает время ожидания, и она передает этот кад еще аз. Поз р р . днее станция А передает кадр, помеченный 1, но подтверждение АСКО для этого а кадра теряется.
У станции А истекает время ожидания, и онапередастэтоткад е е аз. ре . др ще раз. Получив два одинаково помеченных кадра подряд станция В отб асывас р' сываст второй кадр, но отправляет подтверждения АСКО к обоим кадрам. Метод остановки с о . жиданием применяется редко, так как он неэффективен Причина неэффективности з стн заключается в том, что станция может передавать дан ные только по о ном д у кадру за раз. Если время распространения сигнала велико по сравнению с в сменем р нем передачи, тогда линия большую часть времени будет простаивать.
Эта си туация показана на рис. 11А. Последовательность событии выглядит следующим образом: 1. Вмоментв ме ремени Г = О станция А начинает передавать кадр. 2. В мя пе ачи ре. род и кадра равно Т.... Таким образом, в момент времени г = Т ч передан последний бит кадра.
Если время распространения от станции А станции В превышает Т „тогда в этот момент времени все биты кад находятся в канале связи. 11.2. Механизмы управления каналом 323 А В Время передачи кадра Время рвспрострзнення Ф Время передачи ,~, подтверждения Интервал ажндання Кадр О потерян; станция А повторяет передачу Интервал ожидания Подтвержденне АСКО потеряно; ствнцня А повторяет передачу Ствнцня В отбрасывает дубликат кадРа Рна. 11.З. Запрос АВО для остановки с ожиданием 3. Время распространения от станции А до станции В равно Тм„,„. В момент времени г = Т,, первый бит кадра только что прибыл иа станцию В, а остальные биты следуют за ним по каналу. 4.
В момент времени г= Т„., + Т„„, станция В приняла кадр целиком. Предположим, что станция В немедленно отправляет подтверлкдение и что интервал времени между получением кадра и отправкой подтверждения пренебрежимо мал. Время передачи подтверждения равно Тлск В этом случае к моментУ вРемени Г = Т + Т л + Тлск подтвеРждение пеРедано целиком. Как правило, подтверждение (на рисунке заштриховано) значительно короче кадра данных. З24 Глава 11. Управление потоком и контроль ошибок на уровне передачи данны 11.2. ййеханизмы управления каналом 326 ким образом, станция В может принять и кздров, а станции А разрешается отТаким правит ранить и кадров, не дожидаясь прихода подтверждений.
Чтобы не запутаться, Катар тарый кадр подтверждается, каждый кадр помечается порядковым номером. ,: ' анция В удостоверяет получение кадРа, отправляя полтверждение, солержащее ;1, Станция рядковый номер следующего ожидаемого кадра. Это подтверждение также служит иванн вявным объявлением о том, что станция В готова принять слелующнс и кадров, ' ~1ачиная с указанного номера. Такая схема также может применяться для подтвер' йгдсния получения нескольких кадров. Например, станция В может принять кады 2, 3 и 4, но придержать подтверждения до тех пор, пока не придет калр 4. Затем, ' отослав подтверждение с порядковым номером 5, станция В тем самым одновременно подтверждает получение кадров 2, 3 и 4.
Станция А ведет список порялког йых номеров кадров, которые ей разрешаетгш отправить, а станция В ведет список ; номеров кадров, которые она готова принять, Каждый такой список можно рас: сматривать как окно кадров, а ася схема реализует управление потоком с помощью так называемого скользли1пго окна (з1н1г пя чг(ппоч ). Поскольку порядковый номер занимает поле в заголовке кадра, то, очевидно, , его размер ограничен.
Например, в случае 3-битового поля порядковый номер может принимать значения в диапазоне от О до 7. Соответственно, кадры нумеруются по модулю 8, то есть после кадра с номером 7 идет кадр О. В общем случае для я-битового полн порядковый номер может принимать значения в лиапазоне от О 1 до 2' — 1, а кадры нумеруются по модулю 2".
Работу алгоритма скользящего окна иллюстрирует рис. 11.5. На рисунке предполагается наличие 3-битового порядкового номера. Затененный прямоугольник обозначает кадры, которые могут быть переданы. В данном случае отправитель может передать пять кадров, начиная с кадра О.
При отправке каждого кадра затененная область (скользящес окпп) уменьшается. Прн получении подтверждений размер области увеличивается. Кадры между вертикальной линией и затененной областью переданы, но подтверждения для них еще не получены. Как мы увидим, отправитсль должен хранить эти кадры в буфере на случай, если понадобится их повторная передача. Фактический размер окяа не обязательно равен максимально возможному размеру для данной длины поля порядкового номера.
Например, при 3-битовом поРядковом номере станций, использующих протокол скользящего окна для управления потоком, размер окна может быть равным 4. ф' Пример показан на рис. 11.6. Здесь используется 3-битовое поле порядкового $ номера и максимальный размер окна в семь кадров. Изначально окна станций А и В указывают на то, что станция А может передать семы<здрав, начиная с кадра О (ЕО). ев 3( После передачи трех кадров (РО, Р1, Е2) станция А, не дожидаясь подтверждении, уменьшает размер своего окна до четырех кадров н сохраняет копии трах посланных кадров. В окне указывается, что станция А может отправить еще четыре 1гздРа, начиная с кадра номер 3.
Затем станция В передаст сообщение КК (Кесе1че ~еаг(у — готовность к приему) З,что означает' получение всех кадров вплоть до Кадр т т +т :Фб 1квмг+ Траегр + Тдск т„+ гт Тавр+ 2Трвгрр+ ТдСК Технология скользящего окна Суть описанной ранее проблемы состоит в том, что в каждый момент времени в ка нале может находиться только один кадр. В этом случае, если длина канала в битах (соответствУющаЯ вРемени Тр,„р) больше длины кадРа (соответгтвУющей вРвменгг 7 „„), канал используется неэффективно.
Эффективность можно значительно по высить, если позволить одновременно находиться в канале нескольким кадрам ~ф Рассмотрим, как это будет работать в случае двух станций А и В, соединенное дуплексной линней. Станция В резервирует буФерное пространство для и кадр 11 6. В момент времени Г = Т, + 2Тр „р первый бит подтверждения тольгго ч прибыл на станцию А, а остальные биты следуют за ним по каналу, 7. Вмоментвремениг= Т „+2Тр ар+ ТлскстанцняАпринялаподтвсржд жденце целиком.
Рма. 11.4. Использование канала в методе остановки с ожиданием При рассмотрении такого сценария становится ясно, что линия загружена недостаточно. При отсутствии ошибок станция А могла бы передавать кадры со скоростью 1/Т,,р. Но из-за необходимости ждать подтверждения максимальная скорость передачи кадров уменьшается до Ц(Т р+ 2Т р+ Тлск). Если время Т, велико по сРавнению с Т„мм тогда использование такой схемы бУдст сильно снижать производительность канала. Саабпгенпе йй представляет еабай гггдельный управлягаюпй кадр. Бадьпгггпства прагакавав пере" дввп данных также дапуекают передачу падтверждеггггй вьгеле с ппфармацкаппымп кадрамп. Орп агам в каждый кадр данных вкдгачаегея пе талька парядкавый паьюр ахаю кадра, на также парядкаг'ьгй вамер ггадтверждеггия, выпалпягащий гу же функппга, чга и кадр цй.
Такпьг образам, пря дупдексвам абмене кадрами лавкых атдедып,|е кадры йк испальчуютея редка. 2 3 4 ° ° ° ' ' ° ° > с ' ° ° с ° ' ° с ° в с в в ° Н Н ЕИ И Н > ИИИ П 3~И ° в> ' ° с ' ° в с в с> ° ' с с >с в ''В в ' ° ° ° ° ° ° ° ° вв в ° ° . ° ° с ° ° ° ° й ИМИ ЙШРРМФЗ~ ° ° ° с «Ф се с . е ИИ Н Н П М ПИ ИИ П ИИ ЕИ Ей йй йй И йй и 328 Глава 11. Управление потоком и контроль ошибок на уровне переда чи данных 11.2. Механизмы управления каналом З29 Схема АВО с возвратом на И шагов Наиболее часто употребляемая форма контроля ошибок, основа о|в ок, основанная на управл нии потоком при гюмоши скользящего окна, называется автом автоматическим заир сом на повторение с возвратом на1Ушагов.
В этом методе станция е стан11ия может послать серию кадров, последовательно пронумерованных по модулю к ~ - бо лю какого-либо максимального значения. Количество неподтвержденных кадров опреде в определяется разме окна с помошью метода скользящего окна для управления пото . П отеком. ри отсу1 ствии ошибок получатель будет полтверждать принятые кадры ка б кадры како ычно(сооб шениями КК илн подтверждениями <на попутныхь модулях д н ). Е данных). слн полу чающая станция обнаруживает в кадре ошибку, она может послат т послать отрицательное подтверждение КЕ) (КЕ) ест — отказ) для этого кадра„как пояс~ яет поясняется в следующих правилах.
Получаюшая станция отбросит этот кадр и все после оследук>шие входяшпе юшры, пока не примет правильную копию ошибочного кадра. Таким б ра. аким о разом, передаюшая станция, получив сообшение КЕ), должна передать повторно ошибочный кадр, а также все последуюгцие кадры, которые она у. "успе у. "успела передать, Предположим, что станция А передает кадры станции В. После передачи каждого кадра станция А запускает таймер ожидания подтверждения для только что переданного кадра. Предположим, что станция В в последний а дний раз успешно получила кадр с номером (1 — 1), а станция А только что перед редала кадр с номером й В методе возврата на Ж шагов учитываются следующие обстоятельства: 1. Поврежден кадр данных. Если полученный кадр поврежден (например, станция В обнаруживает ошибку или кадр поврежден настолько, что станция В лаже не может определить, что приняла кадр), то станция В отбрасывает кадр и более не предпринимает никаких действий.
Здесь возможны два варианта действий: а) через умеренный интервал времени станция А передает кадр с номером (1+ 1). Станция В получает кадр с номером (1+ 1) и,так каков пришел с нарушением порядка номеров, отвечает сообщением КЕ) й Станция А должна повторить передачу кадра( и всех последующих кадров; б) станция А не п ) осылает дополнительных кадров в течение данного интервала времени.