Элементарные протоколы передачи данных. Неограниченный симплексный протокол. Симплексный протокол с ожиданием. Протокол с возвратом на n

Неограниченный симплексный протокол. Данные передаются только в одном направлении. Сетевой уровень на обеих сторонах находится в состоянии постоянной готовности. Временем обработки можно пренебречь. Размер буфера неограничен. Канал связи между уровнями передачи данных никогда не теряет и не искажает кадры.

Протокол состоит из двух процедур, sender (отправитель) и receiver (получатель). Процедура sender работает на уровне передачи данных посылающей машины, а процедура receiver — на уровне передачи данных принимающей машины. Ни последовательные номера, ни подтверждения не используются, поэтому МАХ_ SEQ не требуется. Единственным возможным событием является frame_arriva1 (прибытие неповрежденного кадра).

Процедура sender представляет собой бесконечный цикл, начинающийся с оператора while, посылающий данные на линию с максимально возможной скоростью. Тело цикла состоит из: получения пакета (всегда обязательное) с сетевого уровня, формирования исходящего пакета с помощью переменной s и отсылки пакета адресату. Из служебных полей кадра данный протокол использует только поле info, поскольку другие поля относятся к обработке ошибок и управлению потоком, которые в данном протоколе не применяются.

Процедура принимающей ожидает, пока что-нибудь произойдет. Когда пакет появляется, процедура wait_for_event возвращает управление, при этом переменной event присваивается значение frame_arriva1 (которое все равно игнорируется). Обращение к процедуре from_physical_layer удаляет вновь прибывший кадр из аппаратного буфера и помещает его в переменную г, порция данных передается сетевому уровню, а уровень передачи данных отправляется ждать следующий кадр.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: