Технология DiffServ в сетях Ethernet

Технология DiffServ в сетях Ethernet

Технология DiffServ в сетях Ethernet

Основная идея технологии DiffServ (Differential Services) заключается в разделении трафика в сети на несколько крупных классов, для каждого из которых будет обеспечиваться определенный QoS в рамках некоторой области, называемой доменом DiffServ. На границах домена происходит кондиционирование трафика, то есть его классификация, подразумевающая анализ входящих пакетов, сопоставление полученной информации с таблицей потоков, а также маркировка пакетов специальным кодовым словом DSCP (DiffServ Code Point). Данные функции выполняет так называемый порт доступа в домен (port-access).

Далее обработка трафика на промежуточных узлах, принятие решения о направлении пакета в ту или иную очередь осуществляется исключительно по кодовому слову DSCP, расположенному в заголовке пакета IP (поле TOS). Обработка классифицированного трафика внутри домена осуществляется со скоростью коммутации – достаточно считать 6 бит кодового слова и отправить пакет в соответствующую очередь, после чего вступает в действие алгоритм «взвешенного справедливого обслуживания», рис. 2.

Механизм взвешенного справедливого обслуживания

Рис. 2. Механизм взвешенного справедливого обслуживания

 

Возможны различные реализации данного алгоритма в оборудовании разных производителей. Например, в маршрутизаторах Cisco компании Cisco Systems для классификации используется два младших бита из трехразрядного подполя IP Precedence поля TOS. По умолчанию, классу 0 выделяется 10% полосы пропускания, классу 1, 2 и 3 – 20%, 30% и 40% соответственно. Для очередей, основанных на классах QoS, пакеты, не назначенные ни в одну группу, принадлежат группе 0 и автоматически имеют 1% от общей пропускной способности на всю группу. Общий вес остальных групп не может превышать 99%, а если после назначения всех весов остается свободная полоса пропускания в канале, она автоматически отводится под группу 0.

 

Другой пример реализации - коммутаторы OptiSwitch компании Optical Access, которые предлагают администратору при настройке параметров QoS выбрать один из режимов работы с 4-мя очередями:
  1. взвешенное круговое обслуживание (Weighted Round Robin, WRR)
  2. смешанное обслуживание 1/3
  3. смешанное обслуживание 2/2
  4. обслуживание с прямым приоритетом (Strict Priority, SP)

В первом случае, каждой очереди назначаются весовые коэффициенты, задаваемые в количестве пакетов или байтов (по умолчанию 1, 2, 3 и 4), в соответствии с которыми происходит продвижение пакетов из очередей. Так, по умолчанию, из высокоприоритетной очереди в выходной буфер будет перенаправляться четыре пакета, а из низкоприоритетной - один. В случае использования механизма прямого приоритета (пункт 4) будет действовать довольно грубое, но эффективное правило – очереди с более низким приоритетом не обслуживаются, если есть хотя бы один необработанный пакет в высокоприоритетной очереди. Этот механизм аналогичен механизму, реализованному в стандарте 802.1Q/p. Во втором и третьем случае имеет место смешанное обслуживание, когда часть очередей работает по WRR-алгоритму, а часть – по SP.

 

Другим важным средством обеспечения QoS в технологии DiffServ является механизм формирования трафика. Данный механизм предназначен для сглаживания пульсаций «взрывного» трафика, уменьшения неравномерности продвижения пакетов. В аппаратной реализации стандарта DiffServ используется механизм, работающий по алгоритму «token bucket» или «маркерное ведро», рис. 3.

 

Формирование трафика

Рис. 3. Алгоритм "token bucket"

 

Суть алгоритма «token bucket» заключается в следующем. Максимальная средняя скорость отправки потока пакетов из управляющего узла зависит от скорости прибытия в него разрешений на передачу N единиц данных. Очередной пакет может быть отправлен только при получении числа разрешений, достаточного для передачи данных, объем которых больше или равен размеру пакета. Если пакет поступит в управляющее устройство, не располагающее необходимым количеством разрешений, он будет отброшен также как и пакет, поступивший в переполненный буфер-формирователь.

 

На рис. 4 графически показано, как происходит формирование и сглаживание пульсаций взрывного трафика по алгоритму "token bucket". Пусть имеется некий буфер с конечным объемом. Поступающий со скоростью интерфейса или, для коммутаторов Ethernet, со «скоростью провода» трафик постепенно заполняет буфер-формирователь (коричневая область). Генератор разрешений выдает токены с постоянной скоростью, создавая прообраз идеального трафика, к форме которого стремятся привести входной трафик (скорость генерации показана красной линией). Воздействие механизма, работающего по алгоритму "token bucket", придает трафику на выходе нужную "временную форму" (светло-зеленая область).

 

Потоки

Рис. 4. Формирование трафика

 

Основные понятия технологии DiffServ

 

Соглашение об уровне сервиса (Service Level Agreement, SLA

) – договор на предоставление услуг между клиентом и провайдером с подробным перечнем предоставляемых услуг. Провайдер услуг должен гарантировать, что трафик клиента будет обслуживаться в соответствии с оговоренными в SLA параметрами QoS.

 

Поток (flow)

– последовательность пакетов, движущихся от источника А в пункт назначения B (С), каждый из которых может быть однозначно идентифицирован по 16-байтной комбинации из первых 64 байт IP-заголовка и/или заголовка TCP/UDP (номер порта приложения).

 

 

 

 

 

 

abu

 

 

Порт доступа (port access) - порт коммутатора для подключения пользователя. Точка классификации/ кондиционирования трафика. Функции порта:
  1. анализ входящего трафика (чтение заголовков L3 и L4)
  2. проверка на соответствие в таблице потоков коммутатора и распределение пакетов по очередям в соответствии с описанием потоков
  3. фильтрация неклассифицированного трафика (пакетов, не принадлежащих ни одному логическому потоку)
  4. установленное ограничение скорости для каждого потока (алгоритм "token bucket")
  5. маркировка IP-заголовка пакетов в поле TOS кодовым словом DSCP (DS Code Point)
Внутренний порт (interior port) – соединяет два объекта в домене DiffServ. Например, это магистральные порты коммутаторов Gigabit Ethernet, связанных по оптоволокну. Функции порта:
  1. анализ входящего трафика (чтение DSCP)
  2. распределение пакетов по очередям в соответствии с DCSP
  3. переназначение кодового слова в случае, если порт является выходным из домена DiffServ, для обеспечения соответствия уровней QoS между коммутаторами различных производителей

Внешний порт (exterior port) – соединяет домен DiffServ с внешним миром (вершина домена). Функции порта аналогичны функциям порта доступа. Внешний порт обрабатывает трафик, входящий в домен.