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

Отметим, что для класса BE значение DSCP=000000, EF – 1011110. Для класса AF значение DSCP равно xyzabо, где xyz – приоритет обслуживания, а ab – биты приоритета сброса при перегрузке. Значения приоритета обслуживания следующие – xyz=001 (класс 1), 010 (класс 2), 011 (класс 3), 100 (класс 4). Наивысший приоритет обслуживания 4. Приоритет сброса 3 наибольший, что означает сброс пакета при перегрузке раньше, чем пакета приоритета сброса 2 или 1. На рис. 14.2 приведена в качестве примера структурная схема фоновой программы внутреннего маршрутизатора по обработке очередей пакетов классов AF на передачу в модели DiffServ.

Рис. 14.2. Структурная схема фоновой программы маршрутизатора по обработке очередей пакетов на передачу в модели DS

Пакет относится к гарантированной пересылке, при которой программное обеспечение обрабатывает следующие 16 очередей обслуживания: 01,02,03,04 – очереди пакетов приоритетов обслуживания 1,2,3,4; 011,012,013, – очереди приоритетов 1,2,3 сброса пакетов приоритета обслуживания 1; 021,022,023, – очереди приоритетов 1,2,3 сброса пакетов приоритета обслуживания 2; 031,032,033, – очереди приоритетов 1,2,3 сброса пакетов приоритета обслуживания 3; 041,042,043, – очереди приоритетов 1,2,3 сброса пакетов приоритета обслуживания 4. Очереди пакетов приоритетов обслуживания состоят из списков, в поле 3 которых находятся сами пакеты (рис. 14.3, а). Очереди приоритетов сброса состоят из списков, в поле 3 (рис. 14.3, б) которых находятся адреса пакетов, стоящих в соответствующих очередях пакетов приоритета обслуживания (рис. 14.3, а). Поля 1 и 2 в обоих случаях являются адресами связки в очередях. Это позволяет составить программное обеспечение с меньшим числом команд, что является одной из наиболее важных задач для обеспечения большего числа обслуживаемых пользователей коммутационной станцией и лучших показателей качества обслуживания.

1

2

3

Адрес предыдущей строки в очереди приоритета обслуживания

Адрес следующей строки в очереди приоритета обслуживания

Пакет

а)

1

2

3

Адрес предыдущей строки в очереди приоритета сброса пакетов

Адрес следующей строки в очереди приоритета сброса пакетов

Адрес пакета в очереди пакетов приоритета обслуживания

б)

Рис. 14.3. Формат элемента в очереди пакетов приоритета обслуживания (а) и в очереди приоритетов сброса пакетов (б)

Использование списка очередей в программном обеспечении модели DS

С целью упрощения описания работы схемы программного обеспечения на рис. 14.2 принято условие нахождения только одного пакета в одной из очередей приоритетов обработки пакетов. Будем считать, что наивысший приоритет обслуживания 4 относится к очереди службы «речь» по причине критичности к задержке, а приоритет обслуживания 1 к службе «передача данных». Поэтому в приведенном ниже примере структурной схемы программного обеспечения в первую очередь обработке при отсутствии перегрузки подлежат пакеты очереди приоритета обслуживания 4, а при перегрузке в первую очередь подлежат сбросу пакеты приоритета сброса 3 этой же очереди приоритета обслуживания 4. Под обслуживанием понимается передача пакета на дальнейшую обработку с последующей передачей в канал связи. Под сбросом понимается установка блока в очередь свободных блоков Освоб.

Операция 1. Режим перегрузки? Если нет, то переход к операции 2. Иначе переход к операции 6.

Операция 2. Есть пакеты в очереди приоритета обслуживания 4 [N(O4)≠0]? Если да, то передача этого пакета для обработки с последующей передачей его в канал. Иначе переход к операции 3.

Операция 3. Есть пакеты в очереди приоритета обслуживания 3 [N(O3)≠0]? Если да, то передача этого пакета для обработки с последующей передачей его в канал. Иначе переход к операции 4.

Операция 4.Есть пакеты в очереди приоритета обслуживания 2 [ N(O2)≠0] ? Если да, то передача этого пакета для обработки с последующей передачей его в канал. Иначе переход к операции 5.

Операция 5. Передача пакета в очереди приоритета обслуживания I(О1) для обработки с последующей передачей его в канал.

Операция 6. Есть пакеты в очереди приоритета обслуживания 4 [N(O4)≠0]? Если да, то переход к операции 7. Иначе переход к операции 15.

Операция 7. Есть пакет приоритета обслуживания 4 приоритета сброса 3 [N(O43)≠0]? Если да, то переход к операции 8. Иначе переход к операции 10.

Операция 8. По содержимому в поле 3 адреса первого блока адресов в О43 определить адрес пакета О4, подлежащий сбросу. Снять первый блок в О43 и поставить в очередь свободных блоков Освоб.

Операция 9. Снять пакет в О4 с адресом, определенным в операции 8, и поставить его в очередь свободных Освоб.

Операция 10. Есть пакет приоритета обслуживания 4 приоритета сброса 2 [N(O42)≠0]? Если да, то переход к операции 11. Иначе переход к операции 13.

Операция 11. По содержимому в поле 3 адреса первого блока адресов в О42 определить адрес пакета в О4, подлежащий сбросу. Снять первый блок в О42 и поставить в очередь свободных Освоб.

Операция 12. Снять пакет в О4 с адресом, определенным в операции 11, и поставить его в Освоб.

Операция 13. По содержимому в поле 3 адреса первого блока адресов в О41 определить адрес пакета в О4, подлежащий сбросу. Снять первый блок в О41 и поставить в очередь свободных Освоб.

Операция 14. Снять пакет в О4 с адресом, определенным в операции 13, и поставить его в Освоб.

Операция 15 и далее аналогичны операциям 7-14, но вместо очередей О4, О43, О42, О41 анализируются очереди О3, О33, О32, О31; О2, О23, О22, О21; О1, О13, О12, О11.