<<
>>

Симплексный протокол с ожиданием

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

Основная проблема, которую нам предстоит решить, — как предотвратить ситуацию, когда отправитель посылает данные быстрее, чем получатель может их обработать. То есть если получателю требуется время Л б чтобы выполнить процедуры Фгот_рЬу$ка1_1ауег и 1о_пе1ыогк_1ауег, то отправитель должен передавать со средней скоростью меньшей, чем один кадр за интервал времени Д Г. Более того, если мы предполагаем, что в принимающей аппаратуре не производится автоматической буферизации, то отправитель не должен посылать новый кадр до тех пор, пока старый кадр не будет считан процедурой бгот_рбу51са1_1ауег.

В противном случае новый кадр окажется записанным поверх старого.

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

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

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

Протоколы, в которых отправитель посылает один кадр, после чего ожидает подтверждения, называются протоколами с ожиданием. В листинге 3.3 приведен пример симплексного протокола с ожиданием.

Листинг 3.3. Симплексный протокол с ожиданием

/* Протокол 2 (с ожиданием) также обеспечивает только одностороннюю передачу данных, от отправителя к получателю. Снова предполагается, что в канале связи нет ошибок.

Однако на этот раз емкость буфера получателя ограничена, и, кроме того, ограничена скорость обработки данных получателя. Поэтому протокол должен не допускать отправления данных быстрее, чем получатель способен их обработать. */

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

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

<< | >>
Источник: Э. ТАНЕНБАУМ. КОМПЬЮТЕРНЫЕ СЕТИ 4-Е ИЗДАНИЕ. 2003

Еще по теме Симплексный протокол с ожиданием:

  1. Глава 4. Киотский протокол в Украине
  2. § 6. Протокол судебного заседания
  3. Судебные протоколы вообще
  4. Пример обработки протокола.
  5. Базовый протокол устранения проблемы с BSFF
  6. В. Г. Олифер, Н. А. Олифер. 54 Компьютерные сети. Принципы, технологии, протоколы: Учебник для вузов. 3-е изд, 2006
  7. ТРЕВОГА ОЖИДАНИЯ
  8. ПОЧЕМУ ДЕЙСТВУЮТ ПОЗИТИВНЫЕ ОЖИДАНИЯ
  9. ЗАКОН ОЖИДАНИЯ
  10. НЕЧУВСТВИТЕЛЬНОСТЬ К ОЖИДАНИЯМ
  11. ОЖИДАНИЕ - ЭТО ЛОВУШКА
  12. Ожидание радости
  13. 3. Скрытые, внутренние ожидания
  14. Теория ожидания (В. Врум).
  15. ОЖИДАНИЕ
  16. Ожидания
  17. 2. Сила позитивных ожиданий
  18. БОРЬБА С НЕГАТИВНЫМИ ОЖИДАНИЯМИ
  19. Глава 38 Занижение ожиданий
  20. ПОВЫШЕНИЕ УРОВНЯ ОЖИДАНИЙ