Главная » Просмотр файлов » Э. Таненбаум - Компьютерные сети. (4-е издание) (PDF)

Э. Таненбаум - Компьютерные сети. (4-е издание) (PDF) (1130118), страница 65

Файл №1130118 Э. Таненбаум - Компьютерные сети. (4-е издание) (PDF) (Э. Таненбаум - Компьютерные сети. (4-е издание) (PDF)) 65 страницаЭ. Таненбаум - Компьютерные сети. (4-е издание) (PDF) (1130118) страница 652019-05-12СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 65)

Такой протокол использует метод ожидания, поскольку, отослав кадр, отправитель, прежде чем послать следующий кадр,должен дождаться подтверждения.Данный протокол приведен в листинге 3.5. Как и другие протоколы, он начинается с определения некоторых переменных. Переменная next_f rame_to_send содержит номер кадра, который отправитель пытается послать. Аналогично переменная frame_expected хранит номер кадра, ожидаемого получателем. В обоихслучаях возможными значениями могут быть только 0 и 1.В нормальной ситуации только один уровень передачи данных может начинать передачу. Другими словами, только одна из программ должна содержать обращения к процедурам to_physica1_layer и start_timer вне основного цикла.

Еслиоба уровня передачи данных начинают одновременно передавать, возникает не-if (r.seq == frame_expected) {/* обработать входящий поток кадров */to_network_layer(&r.info); /* передать пакет сетевому уровню */inc(frame_expected); /* инвертировать порядковый номер кадра,ожидаемого в следующий раз */if (r.ack == next_frame_to_send) { /* обработать исходящий поток кадров */from_network_layer(&buffer): /* получить следующий пакет у сетевогоуровня */inc(next_frame_to_send): /* инвертировать порядковый номер посылаемогокадра */•^j^.256*/Протоколы скользящего окнаГлава 3.

Уровень передачи данныхs.info = buffer:s.seq = next_frame_to_send;s.ack = 1 - frame_expected;/* подготовить кадр для передачи *//* вставить порядковый номер в кадр *//* порядковый номер последнего полученного кадраto_physica1_layer(&s);startjtimer(s.seq):/* передать кадр *//* запустить таймер ожидания подтверждения */Поле подтверждения содержит номер последнего полученного без ошибоккадра. Если этот номер совпадает с номером кадра, который пытается передатьотправитель, последний понимает, что этот кадр успешно принят получателем, ичто он может пересылать следующий кадр. В противном случае он должен продолжать попытки переслать тот же кадр.Теперь давайте изучим протокол 4 и посмотрим, насколько он устойчив к нестандартным ситуациям. Предположим, что машина А пытается послать кадр Омашине В, а машина В пытается послать кадр 0 машине А.

Предположим также,что на машине А установлен слишком короткий период ожидания подтверждения. Соответственно, машина А посылает серию одинаковых кадров со значениями полей seq=0 и ack=l.Когда первый неповрежденный кадр прибудет на машину В, он будет принят,и значение переменной frame_expected будет установлено равным 1. Все последующие кадры будут проигнорированы, поскольку машина В будет теперь ожидать кадра с порядковым номером 1, а не 0. Более того, поскольку у всех кадровдубликатов значение поля аск=1, а машина В продолжает ожидать подтверждения для кадра 0, то В и не станет запрашивать новый пакет у своего сетевогоуровня.В ответ на каждый отвергнутый дубликат, присылаемый машиной А, машина В посылает кадр, содержащий поля seq=O и аск=О.

Наконец, один из этих кадров принимается машиной Л, в результате чего машина А переходит к передачеА отправляет (0, 1, АО)В получает (0, 1, АО)*В отправляет (0, 0, ВО)А получает (О, О, ВО)*А отправляет (1, О, А1)А получает (1, 1, В1)*А отправляет (0, 1, А2)А получает (О, О, В2)*А отправляет (1,0, A3)В получает (1, 0, А1)*8 отправляет (1, 1, В1)В получает ( 0 , 1 , А2)*В отправляет (0, О, В2)В получает (1, 0, A3)*В отправляет (1,1, ВЗ)Л отправляет (0, 1, АО) \/ В отправляет (0, 1, ВО)/** В получает (0, 1, АО)*/.В отправляет (0, 0, ВО)*/А получает (0, 1, ВО)*/А отправляет (0, 0, АО) -vC^w/*• В получает (0, 0, АО)УВ отправляет (1, О, В1)А получает (0, 0, ВО)А отправляет (1, 0, А1) - -__sw^ " " ^ В получает (1, 0, А1 )*В отправляет (1, 1, В1)А получает (1, 0, В1)*А отправляет (1, 1, А1)В получает (1, 1,А1)В отправляет (0, 1, В2)ВремябРис.

3 . 1 0 . Два сценария для протокола 4: нормальная ситуация (а); нештатная ситуация (б).Обозначения: (seq, ack, номер пакета). Звездочка означает,что сетевой уровень принял пакет257следующего пакета. Никакая комбинация потерянных кадров или преждевременно истекших интервалов ожидания не может заставить этот протокол ни выдать сетевому уровню дубликат пакета, ни пропустить пакет, ни зависнуть.Однако, если обе стороны одновременно вышлют друг другу начальный пакет, возникает запутанная ситуация, проиллюстрированная на рис.

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

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

В таких ситуациях большое времяпрохождения кадров по сети может значительно снижать эффективность использования пропускной способности канала. В качестве примера рассмотрим спутниковый канал связи с пропускной способностью 50 Кбит/с и временем, требуемымдля прохождения сигнала в оба конца, равным 500 мс. Попытаемся использоватьпротокол 4 для пересылки кадров размером в 1000 бит через спутник. В моментвремени t = 0 отправитель начинает посылать первый кадр. В момент времени~1= 20 мс кадр полностью послан. В момент времени £ = 270 мс получатель принялкадр полностью и отправил обратно подтверждение.

В итоге в лучшем случаетолько через 520 мс после начала передачи кадра подтверждение будет полученоотправителем. В данном случае еще предполагается, что приемник не тратит времени на обработку принятого кадра и подтверждение такое короткое, что временем его передачи и приема можно пренебречь.

Это означает, что передающаямашина была заблокирована в течение 500/520, или 96 % времени. Другими словами, использовалось только 4 % доступной пропускной способности. Очевидно,что сочетание большого времени прохождения сигнала, высокой пропускнойспособности и коротких кадров совершенно неприемлемо с точки зрения эффективности.Описанная проблема является следствием правила, заставлявшего отправителя дожидаться подтверждения, прежде чем посылать следующий кадр. Смягчивэто требование, можно значительно повысить эффективность. Решение проблемы заключается в разрешении отправителю послать не один кадр, а несколько,например да, прежде чем остановиться и перейти в режим ожидания подтвержде-258Протоколы скользящего окнаГлава 3.

Уровень передачи данныхний. Можно подобрать число w так, чтобы отправитель мог безостановочно посылать кадры. В приведенном ранее примере w должно быть равно, по меньшеймере, 26. Отправитель начинает, как и ранее, с передачи кадра 0. К тому моменту,когда он закончит отправку 26 кадров (в момент времени t = 520 мс), как разприбудет подтверждение кадра 0. Затем подтверждения станут прибывать каждые 20 мс. Таким образом, отправитель будет получать разрешения на передачуследующего кадра как раз вовремя. В любой момент времени у отправителя будет 25 или 26 неподтвержденных кадров и, следовательно, достаточно будет окнаразмером 26.Такая техника называется конвейерной обработкой.

Если пропускная способность канала равна Ь бит/с, размер кадра равен / бит, то время передачи одного кадра составит 1/Ь с. Пусть время прохождения сигнала по каналу в оба концаравно R с. После отправки последнего бита информационного кадра в течениеR/2 с происходит его пересылка получателю и в течение еще по крайней мереR/2 с — прием подтверждения отправителем.

Поэтому общая задержка составляет R с. В протоколе с ожиданием линия занята в течение 1/Ь с и свободна в течение R с, что дает коэффициент эффективности использования линии равный//(/ + ЬК). При / < bR эффективность использования линии будет менее 50 %.Конвейерный режим может использоваться для загрузки избежания простаивания линии, если время прохождения сигнала значительно по сравнению со временем самой передачи. Если же задержка распространения сигнала мала, дополнительное усложнение протокола не является оправданным.При конвейерном режиме передачи кадров по ненадежному каналу возникаетряд серьезных проблем.

Характеристики

Тип файла
PDF-файл
Размер
10,99 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6358
Авторов
на СтудИзбе
311
Средний доход
с одного платного файла
Обучение Подробнее