previous up next index search

Previous: 4.4.3.1 Модели реализации протокола TCP и его перспективы    UP: 4.4.3 Протокол TCP
    Next: 4.4.3.3 Новый протокол TCP

4.4.3.2 Качество обслуживание (QoS) в локальных сетях и не только
Семенов Ю.А. (ГНЦ ИТЭФ)

Классы QoS
Приоритеты управления
Дифференциальный вид услуг (DiffServ)
Методы и алгоритмы реализации QoS в разных средах
Алгоритм NBAR
Стандарт 802.1Q (Virtual Bridged Local Area Network)
Приоритеты доступа в LAN
Рекомендуемое число очередей для разных классов трафика

Существует три модели реализации QoS: наилучшая возможная; интегральная и дифференцированная. Наилучший возможный вид услуг реализуется в сети, когда делается все возможное для доставки пакета, но при этом ничего не гарантируется (например FTP или HTTP). Интегрированный вид услуг (RFC-1633, 1994 год) разрабатывался первым и реализуется путем резервирования по схеме точка-точка (протокол RSVP; 1997; см. book.itep.ru/4/44/rsv_4496.htm). Протокол RSVP предоставляет сигнальный механизм для конфигурирования удаленных маршрутизаторов с целью получения нужного QoS. Протокол ориентирован на работу с тремя видами трафика: best efforts (обычная передача IP-данных без установления соединения), чувствительный к скорости передачи и чувствительный к задержкам. Трафик чувствительный к загрузке требует формирования канала с гарантированной пропускной способностью. Приложение при этом вынуждено мириться с определенными задержками доставки (класс услуг с гарантированной скоростью в битах в сек). Третий вид трафика (чувствительный к задержкам) гарантирует минимальную задержку и низкую дисперсию времени доставки. Пропускная способность может при этом варьироваться. Примером такого вида трафика может служить передача голоса или видео. RSVP определяет два типа услуг для этого вида трафика: сервис с контролируемыми задержками и предсказуемый сервис (для приложений реального времени (видео-конференции и телефонные переговоры).

В рамках протокола стандартизованы схемы обработки очередей WFQ (Weighted Fair Queuing) и WRED (Weighted Random Early Detection). В CISCO IOS по умолчанию используется WFQ (для каналов Е1 = 2028 кбит/с или медленнее). Intserv предлагает на L3 тот же уровень услуг, что можно получить в АТМ на уровне L2. В АТМ определены 4 QoS класса:

Классы QoS

Следует помнить, что в Интернет нет гарантий ни по задержке, ни вообще по доставке, что неприемлемо для передачи голоса ( пропускная способность ≥ 16 кбит/с, максимально допустимая задержка <100мсек), видеоконференций и приложений виртуальной реальности.

Приложение в этой модели не будет осуществлять передачу, пока не получит подтверждения резервирования. Инициатором резервирования в этой модели всегда является получатель. Получатель в рамках RSVP анализирует параметры потока отправителя (Tspec) и посылает ему запрос резервирования Resv, который должны воспринять все промежуточные узлы (если они способны это сделать). Этот запрос специфицирует желательные параметры QoS. Для поддержания резервирования вдоль всего пути это сообщение должно периодически повторяться. В протоколе RSVP всего предусмотрено семь разных типов сообщений. Вообще RSVP превоначально предназначался для организации IP-телефонии. Если с помощью RSVP произведено резервирование всей полосы канала, никакая передача прочих данных через этот канал будет невозможна, пока хотя бы часть резервирований не будет отменена. Характер резервирования определяется спецификацией потока (flow spec). Если запрашивается лишь контроль загрузки, flow spec будет тождественна Tspec. Если же требуется гарантированный вид услуг, flow spec содержит Tspec и Rspec. Надо учитывать, что RSVP не очень удобен при работе с каналами малой пропускной способности. WFQ может начать работать, когда пакеты имеют разный приоритет. Существует 8 уровней приоритета (чем больше номер, тем выше приоритет):

Приоритеты управления

Не ищите разъяснения смысла этих определений, его пока не существует... Значению 000 соответствует услуга наилучших усилий (best efforts). Архитектура intserv ориентирована на получение минимального временного разброса доставки при гарантии пропускной способности не ниже требуемой. Listserv предназначен для работы с приложениями, требующими низкой полосы и малых задержек (передача голоса или видео).

Когда установлены соответствующие биты поля TOS, WFQ настраивает обработку так, чтобы очереди с более высоким приоритетом продвигались быстрее, чем менее приоритетные очереди. Порядок обслуживания очередей остается тем же, но объем данных, обрабатываемых из очереди, зависит от веса очереди. Весовой коэффициент обратно пропорционален уровню приоритета. Все это справедливо, если приложение и все участники обмена поддерживают приоритетное обслуживание с использованием TOS. Следует иметь в виду, что методы приоритетного обслуживания используются не только для получения требуемого уровня QoS, но и для подавления перегрузки канала. Смотри также book.itep.ru/4/net_4.htm.

Дифференциальный вид услуг (DiffServ)

Дифференциальный вид услуг (RFC-2474 и RFC-2475) предполагает наличие определенного набора средств классификации и механизмов организации очередей, обеспечивающих работу с приоритетами. Дифференциальный вид услуг обычно предполагает использование 6-битового поля DSCP (DiffServ Code Point) и определяет по-шаговое поведение виртуального канала PHB (Per Hop Behavior). PHB задается сервис-провайдером и определяется на основе кода в поле DSCP. Запись в поле DSCP обычно осуществляется на входе сети. Поле DS (Differentiated Services), где размещается DSCP, фактически замещает поле TOS (RFC-791) в IP-заголовке. Стандартизации значений поля DS пока не произведено. Любая сеть должна поддерживать, по крайней мере, два класса PHB. Express Forwarding PHB (экспрессная переадресация) относится к наивысшему уровню услуг, возможному в модели Diffserv. Здесь для обеспечения низких потерь, малого временного разброса и гарантированной полосы используется RSVP. Diffserv достаточно хорошо адаптируется для работы в каналах с малой пропускной способностью.

Первой попыткой ввести некоторые параметры качества обслуживания относятся к 1981 году (RFC-791). Тогда было определено поле IP-заголовка TOS (Type of service; значения бит см. в http://book.itep.ru/4/44/ip_441.htm). Позднее (в 1992 году) определение TOS было скорректировано в RFC-1349 (определено 4 бита вместо трех). Из-за неопределенности механизмов реализации ToS реально это поле не использовалось в течение 20 лет. Значения бит поля TOS из RFC-1349 описаны в таблице:

01234 5 6 7
ПриоритетXXXX0

Значения поля приоритет определены выше. 4 бита, обозначенные "X", теоретически допускают 16 значений. Практически из них используется только 5 кодов

1000 - Минимальная задержка
0100 - Максимальная пропускная способность
0010 - Максимальная надежность
0001 - Минимальная стоимость
0000 - Обычные (нормальные) услуги

Diffserv не определяет частоту отбрасывания пакетов, но утверждает, что класс 4 обрабатывается более приоритетно, чем класс 3 и что в пределах каждого AF (Assured Forwarding) все классы имеют преимущества перед прочими классами. В таблице ниже представлены значения приоритетов для AF.

 Класс 1Класс 2Класс 3Класс 4
Низкий приоритет отбрасыания001010010010011010100010
Средний приоритет отбрасыания001100010100011100100100
Высокий приоритет отбрасыания001110010111011110100110

В рамках diffserv могут использоваться несколько механизмов обработки очередей, например, WRED (Weighted Random Early Detection). Зарезервировав на фазе формирования канала в АТМ достаточно большую пропускную способность, можно минимизировать временной разброс (также как и в intserv).

Методы и алгоритмы реализации QoS в разных средах

Компания CISCO разработала специальную технологию для обеспечения нужного уровня QoS - CISCO Content Networkig (транспортировка через сеть с учетом содержимого). В рамках этой технологии решается фундаментальная проблема - классификации транспортируемых пакетов с учетом содержимого их заголовков. Сетевые технологии стремительно усложняются. Раньше было достаточно определить приоритет для определенного адреса или для заданного протокола, теперь этого мало. Один и тот же пользователь с фиксированным IP может в одно и то же время реализовать через сеть передачу голоса, осуществлять поиск информации в WEB-сети и т.д., причем все это делать в рамках одного и того же протокола. Понятно, что эти задачи имеют разную значимость. Все это требует классификации трафика по большему числу параметров, чем адрес и протокол. Здесь следует учитывать динамическое присвоение кодов номера порта, которое усложняет распознавание приложений.

CISCO для решения этой проблемы в IP-среде разработала специальное средство, называемое NBAR (Network Based Application Recognition - распознавание приложения по сетевым параметрам). Техника NBAR применима только к такому трафику, который может быть переадресован с помощью технологии CEF (Cisco Express Forwarding). NBAR может классифицировать HTTP-трафик не только по адресам и номерам портов, но и по информации, содержащейся в URL (до 400 байт). Реально NBAR просматривает 512 байт (сюда помимо URL входят заголовки L2, L3, L4 и HTTP). В рамках NBAR предусматривается классификация субпортов. NBAR классифицирует HTTP-трафик по mime-типу или get-запросам. Предельное число одновременно обслуживаемых URL-ЭВМ или mime-типов не должно превышать 24. Анализ NBAR 400 байт URL-заголовка способствует уменьшению вероятности злоупотреблений сетевыми ресурсами. Здесь появляется возможность выявления неавторизованной пересылки пользователями больших файлов mp3 и пр.. NBAR может классифицировать TCP и UDP-протоколы, использующие стандартизованные номера портов, а также и прочие протоколы (например, маршрутные, ICMP, IPSec, IPINIP, Kerberos, IMAP/SIMAP, HTTPS, L2TP, LDAP, NETBIOS, RSVP, SNNTP, NTP, POP3/SPOP3, SFTP, SSH, X-Windows, SOCKS и т.д.).

Алгоритм NBAR

NBAR позволяет загружать в маршрутизатор шаблоны классификации в любой момент времени. Это осуществляется с помощью использования PDLM (Packet Description Language Module - модуль языка описания пакетов). PDLM копируется в флэш-память с консоли маршрутизатора или каким-то другим способом. Список поддерживаемых протоколов постоянно обновляется. Следует помнить, что NBAR сам по себе не обеспечивает QoS, а лишь выделяет определенный класс трафика из общего информационного потока. Раз трафик классифицирован, могут быть применены определенные механизмы для обеспечения определенного уровня сервиса. В перечень таких услуг входят:

Использование NBAR для классификации 500 потоков потребует дополнительно 1 Мбайт памяти. В младших моделях маршрутизаторов, например 2600, применение NBAR займет до 15% мощности процессора. Это обстоятельство следует учитывать, если нужно обеспечить определенный уровень QoS, ведь это потребует дополнительной мощности процессора. Применение CEF потребует еще больше ресурсов процессора. NBAR не поддерживает трафик, отличный от IP. NBAR не может таже использоваться для VLAN, многоканальных PPP (multilink PPP).

В то время как на уровне IP (L3) реализуется несколько подходов обеспечения QoS (intserv в RSVP и diffserv в MPLS; см. http://book.itep.ru/4/4/mpls17.htm), на уровне L2 ситуация пока много хуже. Следует, впрочем, признать, что решение в протоколе MPLS полностью пригодно и для L2. Требуется лишь появление на рынке сетевых приборов, поддерживающих MPLS или 802.1Q.

Стандарт 802.1Q (Virtual Bridged Local Area Network)

В стандарте 802.1Q (Virtual Bridged Local Area Network) определен тип маркированного кадра путем введения метки, содержащей следующие поля:

Введении этих полей в кадр Ethernet приходится пересчитать контрольную сумму кадра (FCS). Для поддержки стандарта IEEE 802.1р канальный уровень должен работать с множественными очередями (по одной на каждый код приоритета). В настоящее время разрабатывается стандарт расширения RSVP для 802.3 (SBM - Subnet Bandwidth Manager - http://search.ietf.org/internet-drafts/draft-ietf-issll-is802-sbm-08.txt). Смотри также http://www.ietf.org/html.charters/issll-charter.html (Integrated Services over Specific Lower Layers).

Для управления протоколом SBM используются следующие мультикаст-адреса:

224.0.0.17 - все SBM-системы должны прослушивать этот адрес.
224.0.0.16 - все кандидаты DSBM должны прослушивать этот адрес. Данная технология может использоваться, например, в IP-телефонии (TDMoIP - Time Division Multiplexing over IP). В этом случае UDP-порт порт получателя = 2142

Обычно важно обеспечить качество обслуживания (QoS) в режиме точка-точка (см. http://www.cisco.com/warp/public/759/ipj_3-1/ipj_3-1_qos.html). На практике это удается реализовать достаточно редко, в частности потому, что многие технологии LAN не поддерживают QoS. Ниже в таблице приведены приоритеты, поддерживаемые известными технологиями LAN (L2; см. http://www.cisco.com/warp/public/759/ipj_4-1/ipj_4-1_lan.htm). В локальных сетях различают приоритет доступа (access_priority) и приоритет пользователя (user_priority). Значение приоритета пользователя формируется МАС-уровнем, помещается в соответствующее поле заголовка кадра и используется для обеспечения QoS в режиме точка-точка в среде переключателей L2. Значение приоритета доступа используется переключателем LAN для передачи кадров. Приоритет пользователя может быть не равен приоритету доступа. К сожалению кадры 802.3 и 802.11 соответствующих полей приоритета в заголовке не имеют. Значение 0 соответствует наинизшему приоритету. Коды приоритета используются переключателями при обработке очередей. Применение приоритетов регламентируется документом IEEE 802.1D (1998).

Приоритеты доступа в LAN

Таблица 1. Выходной приоритет доступа для разных технологий LAN
Приоритет пользователя Выходной приоритет для МАС-технологий
802.3802.4802.5802.6802.11802.12FDDI
0 0 0 0 0 0 0 0
1 0 1 1 1 0 0 1
2 0 2 2 2 0 0 2
3 0 3 3 3 0 0 3
4 0 4 4 4 0 4 4
5 0 5 5 5 0 4 5
6 0 6 6 6 0 4 6
7 0 7 7 7 0 4 6

802.3 CSMA/CD
802.4 Token Bus
802.5 Token Ring
802.6 DQDB - Double Queue, Double Bus
802.11 Беспроводные локальные сети
802.12 100VGAnyLAN (с приоритетным запросом)
FDDI Fiber Distributed Data Interface (token ring)

Параметр Access_priority используется в LAN для управления доступом со стороны других сетевых устройств (оконечных устройств и прочих переключателей), когда доступ к среде хотят получить несколько устройств.

Переключатель может быть сконфигурирован так, чтобы можно было поддеживать несколько очередей. Для определения относительного приоритета очередей вводится класс трафика, так чтобы кадры с высоким классом передавались раньше. Кадр низкого класса может быть передан, если очереди более высокого класса пусты. Документ IEEE 802.1D определяет соответствие между классами трафика и приоритетами пользователя.


Ниже перечислены типы трафика, начиная с высоко приоритетного:

Восьмой тип (1) оставлен на будущее, он имеет приоритет выше фонового, но ниже наилучших усилий. Это означает, что в каждом из выходных портов формируется до 8 очередей. Ниже в табл. 2 перечислены рекомендуемые приоритнты пользователя для указанных выше классов трафика.


Таблица 2. Рекомендуемые приоритеты пользователя для существующих классов трафика
Приоритет пользователя Число доступных классов трафика
1 2 3 4 5 6 7 8
0
по умолчанию
0 0 0 1 1 1 1 2
1 0 0 0 0 0 0 0 0
2 0 0 0 0 0 0 0 1
3 0 0 0 1 1 2 2 3
4 0 1 1 2 2 3 3 4
5 0 1 1 2 3 4 4 5
6 0 1 2 3 4 5 5 6
7 0 1 2 3 4 5 6 7

Документ IEEE 802.1D предлагает установить соответствие между приоритетом пользователя =0 и классом трафика =2. Когда имеется 8 кодов класса трафика, то приоритету пользователя 1 и 2 ставится в соответствие код класса трафика 0 и 1, соответственно. В таблице 3 представлено соответствие классов трафика и числа очередей. Если реализуется только одна очередь, то все классы трафика реализуются через нее. Если имеется две очереди (вторая строка таблицы 3), рекомендуется отнести классы с кодами 7, 6, 5 и 4 к высоко приоритетной очереди, а остальные - низко приоритетной. В нижней строке табл. 3 представлены значения кода приоритета пользователя.

Рекомендуемое число очередей для разных классов трафика

Таблица 3. Рекомендуемое число очередей для разных классов трафика
Число очередей Типы трафика
1 BE (EE,BK,Vo,CL,VI,NC)
2 BE(EE,BK) VO(CL,VI,NC)
3 BE(EE,BK) CL(VI) VO(NC)
4 BK BE(EE) CL(VI) VO(NC)
5 BK BE(EE) CL VI VO(NC)
6 BK BE EE CL VI VO(NC)
7 BK BE EE CL VI VO NC
8 BK - BE EE CL VI VO NC
Приоритет пользователя 1 2 0 3 4 5 6 7

Надписи полужирным шрифтом относятся к типу трафика, который определяет типы классов.

BK - Background (фон)
BE - Best Effort (наилучшие усилия)
EE - Excelent Effort (максимальные усилия)
CL - Controlled Load (контролируемая нагрузка)
VI - Video (задержка и разброс доставки <100мсек)
VO - Voice (голос, задержка и разброс доставки <10мсек)
NC - Network Control (управление сетью)

Одним из наиболее приемлемых, но пока не реализованных в LAN протоколов обеспечения заданного уровня QoS является MPLS. Этот протокол, предназначенный первоначально для формирования VPN и ускорения коммутации пакетов, оказался весьма удобным и для классификации трафика, а также обеспечения требуемого уровня QoS. Пакеты, входящие в VPN из традиционной сети Интернет, снабжаются метками в краевых маршрутизаторах LER (Label Edge Router), именно здесь осуществляется классификация этих пакетов. Метка представляет собой идентификатор фиксированной длины (см. http://book.itep.ru/4/4/mpls17.htm). В данном протоколе маршрут пакета определяется метками, а не IP-адресом места назначения. Полный анализ заголовка пакета выполняется только в краевом маршрутизаторе LER, последующие маршрутизаторы (или коммутаторы) рассматривают только метку (это касается и услуг с гарантированным QoS). Такое решение минимизирует время коммутации по сравнению с IP-сетями.

В современных сетях VPN часто содержат IP (PPP или Ethernet) и АТМ участки. Соединение сетевых элементов MPLS через АТМ каналы оказывается наиболее дешево. Обычно это реализуется с помощью постоянных виртуальных путей PVC ATM. Коммутация в АТМ производится в этом случае на основе поля VPI. Поле же VPI выполняет функцию метки. VPI-соединение должно быть заказано с определенным классом АТМ-сервиса. В АТМ предусмотрены следующие стандартные классы сервиса:

Обычно для приложений MPLS используются классы ATM CBR или VBR. Выбор определяется расценками сервис-провайдеров, которые могут варьироваться в широких пределах. Протокол MPLS поддерживает следующие услуги в сфере QoS:

По проблематике QoS смотри также:

RFC-1633 "Integrated Services in the Internet Architecture: An Overview" Braden R., Clark D., Shenker S., June 1994.
RFC-2474 "Definition of the Differentiated Services Field (DS Field) in the IPv4 and IPv6 Headers", K. Nichols, December 1998.
RFC-2475 "An Architecture for Differetiated Services", Blake S., Black D., Carlson M. Davies E., Wang Z., Weiss W., December 1998.
RFC-2386 "A Framework for QoS-based Routing in the Internet", E. Crawley, August 1998
RFC-2597 "Assured Forwarding PHB Group", J. Heinanen, June 1999
RFC-2598 "An Expedited Forwarding PHB", V. Jacobson, June 1999
RFC-3387 "Considerations from the Service Management Research Group (SMRG) on Quality of Service (QoS) in the IP Network", M. Eder, H. Chaskar, S. Nag. September 2002
http://staff.washington.edu/gray/ papers/eqos22.html "Enterprise QoS Survival Guide 1999 Edition" Gray T., 1999.
http://www.ietf.org/internet-drafts/ draft-iab-qos-00.txt "Next Steps for IP QoS Atchitecture" Huston G.,
http://www.syngress.com/solutions "Administering CISCO QoS in IP-Networks", Michael E. Flannagen, Syngress, 2001

Previous: 4.4.3.1 Модели реализации протокола TCP и его перспективы    UP: 4.4.3 Протокол TCP
    Next: 4.4.3.3 Новый протокол TCP