Обеспечения обработки очередей в модели DiffServ, которая может быть использована

в технологии MPLS.

Отметим, что для класса 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 в обоих случаях являются адресами связки в очередях. Это позволяет составить программное обеспечение с меньшим числом команд, что является одной из наиболее важных задач для обеспечения большего числа обслуживаемых пользователей коммутационной станцией и лучших показателей качества обслуживания.

 

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

 

а)

 

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

 

б)

 

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

 

 

С целью упрощения описания работы схемы программного обеспечения на рис. 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.