Главная » Просмотр файлов » tanenbaum_seti_all.pages

tanenbaum_seti_all.pages (525408), страница 65

Файл №525408 tanenbaum_seti_all.pages (Таненбаум Э. - Компьютерные сети) 65 страницаtanenbaum_seti_all.pages (525408) страница 652013-09-22СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Размер буфера неограиичеп. И что лучше всего, канал связи между уровнями передачи данных никогда ие теряет и ис искажает кадры. Этот совершенно иерсальпый протокол, который мы пазовом «утопия», показан в листинге 3.2. Протокол состоит из двух процедур, вепбег (отправитель) и гесе>уег (получатель). Процедура вепбег работает иа уровне передачи данных посылающей машииы, а процедура гесетуег — па уровне передачи данных принимающей лташииы. Ни последовательные номера, ии подтверждения ие используются, поэтому МАХ ЯЕЯ ис требуется. Единственным возможным событием является 1гаюе аггт ча1 (то есть прибытие неповрежденного кадра). Процедура вепбег представляет собой бесконечный цикл, пачииак>щийся с оператора нМ1е, посылак>ший данные па линию с максимально возможной скоростью. Тело цикла состоит из трех действий: получен>и пакета (всегда обязательное) с сетевого уровня, формирования исходящего пакета с помогцью перемешюй в и отсылки пакета адресату.

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

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

Листинг 3.2. Неограниченный симплексный протокол г* Протокол 1 1угопия) обеспечивает только одностороннюю передачу данных — от отправителя к попучатепю. Предполагается, что в канале связи нет оюибок и что получатель способен игновенно обрабатывать получаемые данные.

Соответственно. отправитель в цикле передаег данные на линию с наксииагъно доступной дпя него скоростью, *г' суребеГ епыю (Ггаюе аггтча1) ечепг Гуре: гх хыыны гивгыхгычи данньгх (/1пс1цбе "ргососо1.Ь" чо1О вепбег1(чо1О) ( )гаже в: расчес Ьц/(ег: /* буфер дпя исходящего кадра */ /* буфер дпя исходящего пакета */ ыпз1е (Сгце) ( 1гож песиогЕ 1ауег(йонг(ег); */ в.щ(о = Ьц(1ег; Со рпуз(са1 )ауег(ая); /* получить у сетевого уровня пакет для передачи /* снопировать его в кадр з для передачи */ /* послать кадр 5 *l /* Иы дни за дняни желчен «Завтра, завтра». Тан тихини шаггни жизнь ползет К послед~ей недописанной странице.

- Макбет, Ч, ч */ чо1б гесе1чег1(чозб) 1гаше г: ечепС Суре ечепС; /* заполняется процедурой ожидания событий. но не используегся здесь '7 иЬ11е (Сгце) ( иа)С 1ог ечепС(аечепС): /* Единственное вознОжнОЕ ссбытие — прибытие кадра. событие /гаже агю ча1 / /гож рпуззса1 )ауег(йг): /* получить прибывший кадр */ Со пегыогк )ауег($г.зп/о): /* передать данные сегЕвсну урОВна */ Симплексный протокол с ожиданием Теперь мы отбросим самое нереальное предположение, использованное в протоколе 1, — способность получающего сетевого уровня мгновенно обрабатывать приходящие данные (или, что то же самое, наличие у получающего уровня передачи данных неограниченного буферного пространства, в которое оц помешает все приходящие кадры).

Сохраняется предположение о том, что в канале связи нет ошибок. Линия связи остается симплексной. Основная проблема, которую нам предстоит решить, — как предотвратить ситуацию, когда отправитель посылает данные быстрее, чем получатель может их обработать. То есть если получателю требуется время о г, чтобы выполнить процедуры Тгояз рьуз)са1 1ауег и со песыогх ) ауег, то отправитель должен передавать со срелней скоростью меньшей, чем один кадр за интервал времени б с Более того, если мы предполагаем, что в принимающей аппаратуре не производится автоматической буферизации, то отправитель не лолжен посылать новый калр ло тех пор, пока старый кадр нс будет считан процедурой Тгош рпуз)оа1 1ауег.

В противном случае новый кадр окажется записанным поверх старого. Элементарные протоколы передачи данных 247 /* Протокол 2 (с ожиданиен) также обеспечивает только одностороннюю переда~у данных. от отправителя к получателю. Снова предполагается, что в канапе связи нет ошибок. Однако на этот раз енкость буфера получателя ограничена, и, кроне того. ограничена скорость обработки данных получателя. Поэтону протокол должен не допускать отправления данных быстрее, чен получатель способен их обработать. */ Суребет ение ((гаже агг1ча)) ечепС Суре: Ф)лс1ибе "ргоСосо).П" чо1б вепбег2(чотб) ( тгаюе в: /* буфер для исходящего калра */ раскас ьи(тег: /* буфер для исходящего паке~а */ ечепс Суре ечепс; /* единственное возиожное событие — прибытие надра (событие Стаже агг1ча1)*/ нЬ!1е (Сгие) ( /гоп петногК 1ауег(аби((ег), */ /* получить у сетевого уровня пакет для передачи в.1пто = Ьи(тег: со рпуэ1са1 1ауег(фв): на)С тот ечепС(аечепС); разрешения '/ /* скопировать его в кадр э для передачи */ /* до свидания, кадрик, до свидания */ /* не продолжать, пока на это не будет получено При некоторых обстоятельствах (например, при синхронной передаче, когда уровень передачи данных принимающей машины обрабатывает всего одну входную линию) может быть достаточно всего лишь вставить задержку в передающую программу протокола Е снизив скорость его работы настолько, чтобы уберечь принимающую сторону от забивания данными.

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

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

Отправитель, отослав кадр, должен ждать разрешения на отправку следующего кадра. Протоколы, в которых отправитель посылает олин кадр, после чего ожидает подтверждения, называются протоколами с ожиданием. В листинге 3.3 приведен пример симплексного протокола с ожиданием. Листинг З.З. Симллексный протокол с ожиданием 248 Глава 3. Уровень передачи данных /* /* /* получить прнбывиий кадр */ ,>* передать данные се<едоку уровню */ /* передать пустой кадр, чтобы оазбудгть Как и в протоколе 1, отправитель в начале цикла работы получает пакст от сетевого уровня, формирует из него кадр и отправляет кадр по линии связи.

Однако теперь, в отличие от протокола 1, отправитель должен жлать прибытия кадра с подтверждением, прежде чем оп пойдет на следующую итерацию цикла и обратится к сетевому уровню за слслуюшим пакетом. В данной модели уровень передачи данных отправителя лажс не должен просматривать полученный по линии квлр: его содержимое не имеет значения, поскольку сам кадр означает только одно: подтверждение. Единственное отличие процедуры песе)нег2 от гесез уег1 заключается в том, что после передачи пакета сетевому ур<>вн>о гесс>уег2 посылает кадр подтверждения обратно отправителю, после чего идет на слелуюшу<о итерацию цикла. Поскольку для отправителя важно только прибытие ответного кадра, а нс его содержание, то получателю нс нужно заполнять калр специальной информацией.

Симплексный протокол для зашумленных каналов Теперь рассмотрим реальную ситуацию: канал связи, в котором могут быть ошибки. Кадры могут либо портиться, либо теряться. Однако мы будем предполагать, что если калр будет поврежден при передаче, то приемная аппаратура опРелелит это при подсчете контрольной суммы. Если кадр будет поврежден таким образом, что контрольная сумма совпадет, что очень маловероятно, то этот протокол (и любой другой протокол) передаст неверный пакет сетевому уровню. На первый взгляд может показаться, что нужно лишь добавить таймер к протоколу 2. Получатель булет возвращать подтверждение только в случае получения правильных лапных. Неверные пакеты будут просто игнорироваться.

Через некоторое время у отправителя истечет интервал времени, и он отправит кадр е>це раз. Этот процесс будет повторяться до тех пор, пока кадр, наконец, пс прибудет в целости. В привсленной выше схеме имеется один критический недостаток. Прсжлс чем читать дальше, попытайтесь понять, что же неверно в данном алгоритме. но>О гесе>чег2(уо>О) ( (гаие г, а: еуепс суре евепс.

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

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

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

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