Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Книга бельфер.docx
Скачиваний:
210
Добавлен:
20.09.2019
Размер:
9.74 Mб
Скачать

5.2.2. Структурная схема программы р2пд - «Подготовка к передаче очередного «I» кадра в канал»

Покажем работу приведенной на диаграмме обмена кадрами (рис. 5.2) программы “Подготовка к передаче очередного «I» кадра в канал” (рис. 5.8).

Операция 1. Состояние «Передача кадра в канал»?

Длительность передачи (t) кадра в канал зависит от длины кадра L и пропускной способности канала V и равно

Например, при передаче в канал кадра «I» L=1000 бит и V=64 кбит/с время передачи кадра t=15,6 мс. Это означает, что при среднем времени выполнения одной команды 1 мкс во время передачи такого кадра в канал на все остальные фоновые программы предоставляется 15600 команд. Здесь L=1000 бит взята примерно равной длине пакета по умолчанию.

Операция 2. Есть пакеты в очереди Оп32. на передачу в канал? Если да, то переход к операции 3.

Значение числа пакетов в очереди N(Оп32) содержится в поле 3 характеристики очереди.

Операция 3. Снять первый пакет с очереди Оп32. и поставить в хвост очереди Оповт. Кадр этого пакета формирует операция 5.

Формат массива кадра Оповт длиннее формата массива пакета Оп32, так как включает дополнительное поле – заголовок кадра. Для того чтобы не терять машинное время передачи содержимого поля данных из Оп32 в Оповт, целесообразно формат массива Оп32 сделать одинаковым с массивом данных Оповт, т.е. включить в него неиспользуемое поле заголовка кадра. Такая экономия машинного времени позволяет увеличить пропускную способность сети.

Из этого примера видно, что потеря нескольких байт (неиспользуемая длина заголовка кадра в Оп32) приводит к существенной экономии машинного времени из-за отсутствия передачи поля пакета из Оп32 в Оповт.

Операция 4. Запись параметров N(S), N(R) в заголовок последнего кадра Оповт.

Операция 5. Формирование нового значения переменной передачи V(S), V(S):=V(S)+1.

Операция 6. Запись значения текущего времени tтек. Этот параметр необходим для работы программы P6ПД – анализ необходимости перехода к передаче кадра «I» из очереди Оповт после срабатывания таймера, указывающего на длительное неподтверждение правильного приёма кадра. Ниже приводится описание работы программы P6ПД. Массив кадра «I», записанный в хвост Оповт, имеет форму, приведённую на рис. 5.9.

Поля, предназначенные для включения этого кадра в Оповт, т.е. адрес предыдущего массива кадра и 0, указывающий на то, что он последний в очереди Оповт.

Рис. 5.8. Структурная схема программы Р2ПД – “Подготовка к передаче очередного «I» кадра в канал”

Рис. 5.9. Формат массива кадра “I” в Оповт

Операция 7. В регистр передачи кадра в канал переписывается заголовок кадра и пакет данных, т.е информация с адреса A1 до адреса A2. Производится передача в канал этого кадра, т.е. без первых двух полей адресов (для образования списка очереди) и последнего поля tтек (для отслеживания тайм-аута неподтверждения – программа Р6ПД).

Операция 8. Установить состояние “передача кадра в канал”. Это состояние снимается после передачи в канал последнего байта.

Операция 9. Снять состояние “Подготовить к передаче кадра RR в канал”, если оно было установлено. Подтверждение правильного приёма кадра «I» с противоположного конца канала ПД производится параметром N(R), передаваемом в кадре RR или в кадре «I» . Поскольку программа P2ПД производит передачу кадра «I» нет необходимости передавать кадр RR, если перед этим с противоположной стороны был принят кадр «I».