понедельник, 25 мая 2009 г.

Мультисервисная сеть: качество обслуживания и мультикаст. Часть 3

Часть 1, Часть 2, Часть 3

Реализация QoS

Для обеспечения стабильного функционирования этого нового сервиса, необходимо назначить приоритеты для всех важных сервисов - VoIP, предоставление услуг Internet, административных сервисов, мультикаст трафика. Необходимо также, выбрать метод обработки классифицированных пакетов.

Приоритеты и механизм ACL

Маркировку пакетов необходимо производить максимально близко к абоненту, то есть на оборудовании, к которому он непосредственно подключен. Для маркировки пакетов используется механизм ACL (Access Control List).

Стандартом IEEE 802.1d определены 8 уровней приоритетов:

  • Level 7 - для трафика, связанного с управлением сетью, например, для сообщений с настройками маршрутизатора.
  • Level 6 - для голосового трафика, особенно чувствительного к неустойчивой синхронизации (т.е. к изменчивости задержек).
  • Level 5 - для видеоданных, требующих широкой полосы пропускания и чувствительных к неустойчивой синхронизации.
  • Level 4 - для трафика с контролируемой нагрузкой на сеть, но чувствительного к задержкам – например, для транзакций SNA (системной сетевой архитектуры IBM).
  • Level 3 - для трафика, требующего передачи при первой возможности или с преимуществом относительно других видов трафика – например, для важного рабочего трафика, допускающего некоторую задержку.
  • Level 2 - для выделения резерва полосы пропускания.
  • Level 1 - для некритичного “фонового” трафика, например, для неконтролируемой передачи данных, которая допускается, но не должна никоим образом сказываться на других задачах и пользователях. Level 0 - для трафика, передаваемого только при наличии возможностей.

В нашей конфигурации управление сетевым оборудованием вынесено в отдельный vlan (9-manage), поэтому необходимо определить для всего 9-manage vlan - 7 уровень приоритета (IEEE 802.1d).

В nord-mk1 строки конфигурации выглядят следующим образом:

create access_profile ip vlan profile_id 3 //Создаем правило

config access_profile profile_id 3 add access_id 1
ip vlan 9-manage port 1 permit priority 7 replace_priority
//
для 9-manage vlan задаем 7 приоритет на 1 порту

...

config access_profile profile_id 3 add access_id 1
ip vlan 9-manage port 28 permit priority 7 replace_priority

Создаем для VoIP следующую конфигурацию:

create access_profile ip source_ip_mask 255.255.255.255
profile_id 4

config access_profile profile_id 4 add access_id 29
ip source_ip 192.168.0.4 port 1 permit priority 6
replace_priority

...

config access_profile profile_id 4 add access_id 29
ip source_ip 192.168.0.4 port 28 permit priority 6
replace_priority

Для всего мультикаст трафика задаем 6 приоритет:

create access_profile ip destination_ip_mask 240.0.0.0
profile_id 6

config access_profile profile_id 6 add access_id 1
ip destination_ip 224.0.0.0 port 1 permit priority 5
replace_priority

...

config access_profile profile_id 6 add access_id 1
ip destination_ip 224.0.0.0 port 28 permit priority 5
replace_priority

Здесь, на самом деле можно выделить нужный диапазон мультикаст адресов и задать приоритет именно этому диапазону. Таким образом, можно дифференцировать нужный мультикаст трафик от служебного или менее значимого для конкретной решаемой задачи.

С остальными сервисами поступаем аналогично.

Для того, чтобы nord-mk1-sw04 (DES-2108) "понимал" заданные nord-mk1 приоритеты, необходимо, чтобы uplink его был тегированный.

Текущая конфигурация не обеспечивает полноценную реализацию QoS для каждого абонента, то есть исходящий трафик от абонента маркируется только после приема его nord-mk1. Вследствие этого, может возникнуть перегрузка на nord-mk1-sw04 (рисунок 1), когда абоненты создадут исходящий поток, превышающий пропускную способность uplink-канала (100 Мбит/c) на nord-mk1 (nord-mk1).

При использовании коммутаторов серии DES-3526 (26 портов) взамен DES-2108 (8 портов) этот недостаток полностью устраняется тем, что в DES-3526 существует механизм ACL, что позволяет перенести маркирование трафика максимально близко к абонентам. Конфигурация ACL DES-3828 полностью совместима с DES-3526. В итоге, получаем схему, в которой нужный исходящий и входящий трафик абонента промаркирован на всем пути следования пакетов. Таким образом, реализуется полноценное качество обслуживания для каждого абонента.

Использование DES-2108 обусловлено двумя причинами:

  • стоимость коммутатора DES-2108 в 3 раза ниже DES-3526;
  • невысокая плотность клиентов в подъездах;

По мере развития сети, увеличения плотности абонентов, повышения нагрузки на каналы в «узких» местах коммутаторы DES-2108 будут заменяться.

Методы обработки классифицированых пакетов.

Для обработки классифицированных пакетов в выбранном оборудовании есть возможность выбрать один из двух методов:

  1. Метод Strict.

Кратко, алгоритм работы следующий: В первую очередь обрабатываются наиболее приоритетные пакеты, остальные — отбрасываются.

  1. Wighted Round Robin (Взвешенное круговое обслуживание).

Обработка приоритетов происходит в зависимости от их "веса", задаваемого в конфигурации коммутатора.

Пример:

config scheduling 0 max_packet 1
config scheduling 1 max_packet 2
config scheduling 2 max_packet 3
config scheduling 3 max_packet 4
config scheduling 4 max_packet 5
config scheduling 5 max_packet 6
config scheduling 6 max_packet 7
config scheduling 7 max_packet 8

В примере, для каждого уровня QoS задается количество пакетов, которые будут обработаны в первую очередь. То есть, при наличии в буфере устройства трафика с 8 приоритетами, сначала будут обработаны 8 пакетов 7 уровня QoS, затем 7 пакетов 6 уровня QoS, и так далее по убыванию.

Масштабируемость и модернизация сети

При увеличении количества абонентов плотность абонентов также будет расти. Масштабируемость и модернизация на уровне доступа абонента реализуется заменой свитчей DES-2108. В качестве замены выступает свитч DES-3526 (таблица 1), обладающий бОльшим количеством портов, наличием 2х комбо-портов 1000BASE-T/SFP Gigabit Ethernet, продвинутой функциональностью. Стоимость «на порт» DES 3526 равна стоимости «на порт» DES-2108.

Использование приоритетов для выбранного трафика позволит обеспечить стабильное функционирование важных сервисов без увеличения пропускной способности канала, что сэкономит и оттянет затраты на замену вышестоящего оборудования. При дальнейшем увеличении количества абонентов и загруженности каналов, управляемый коммутатор Fast Ethernet уровня 3 DES-3828 может быть заменен на аналогичный по функциональности DGS-3627G. Этот коммутатор обеспечивает высокую плотность гигабитных портов оснащенных слотами SPF для гибкого подключения по оптике, а также слотами для установки модулей расширения с портами 10 Gigabit Ethernet.

Так как все используемые коммутаторы стекируемые (за исключением DES-2108), то использование технологии виртуального стека, также позволяет масштабировать сеть, добавляя необходимое количество портов.

Итог

Для утверждения, что сеть готова к предоставлению сервисов VoIP и видеоконференций необходимо проводить полноценное тестирование. Предварительное же тестирование показало, что предоставление сервиса ТРВ возможно уже сейчас. Тестирование проводилось постепенным увеличеним нагрузки на канал различными сервисами, а также генерацией искусственного трафика, близкого по характеристикам к текущим и возможным сервисам в сети. При увеличении нагрузки на канал, искажений и заметных потерь в приоритезированном видео замечено не было. Для получения точных результатов, а также выявления зависимостей влияния параметров сети (задержки, джиттера и т.д.) на сервис ТРВ необходимо проводить полномасштабное тестирование. Но тестирование и оценка влияния параметров сети на видео- и аудиосервисы выходит далеко за рамки этой статьи.

Надеюсь, данная статья поможет разобраться с практическими основами внедрения QoS, повысить эффективность работы сети, а также поможет обеспечить стабильную работу нужных именно Вам сервисов.

Литература

  1. Шринивас Вегешна «Качество обслуживания в сетях IP», Cisco, издательство «Вильямс»,2003
  2. http://www.dlink.ru/technical/
  3. «Как организовать сервис телерадиовещания в сети», «Системный администратор», сентябрь 2007

Опубликовано в журнале "Системный администратор", апрель 2008

Мультисервисная сеть: качество обслуживания и мультикаст. Часть 2

Часть 1, Часть 2, Часть 3

Внедрение мультикастинга

Технология мультикастинга предусматривает распространение данных от источника — группе получателей. Например - распространение телевизионных каналов ограниченной группе абонентов, при условии, что каждый абонент получает только тот канал, который он заказывал. Для достижения этой цели в IP сетях часто используется связка протоколов IGMP и PIM, хотя есть и другие, менее распространенные варианты.

IGMP + PIM

Для включения в мультикаст группу абонентов, находящихся в непосредственно присоединенных к маршрутизатору сетях, используется протокол IGMP. Для подключения к группе сначала посылается IGMP-сообщение "всем клиентам" о включении в группу, при этом локальный мультикаст-сервер подготавливает маршрут. Маршрутизатор регулярно отправляет запросы с требованием подтверждения участия в группе. Клиент посылает отклик - подтверждение для каждой из групп, если у него (клиента) есть хотя бы один процесс - член группы. Если при очередном запросе клиент не подтверждает членство в группе, то он покидает группу. На основе этих запросов-откликов мультикастинг-маршрутизатор составляет и поддерживает таблицу интерфейсов, которые имеют одного или более клиентов, входящих в мультикастинг-группы.

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

Одними из наиболее используемыми современными протоколами мультикаст маршрутизации являются два протокола PIM (Protocol Independent Multicast) - PIM DM (Dense Mode) и PIM SM (Sparse Mode).

В нашем случае, по протоколу PIM передается информация о мультикаст группах всем роутерам вплоть до nord-mk1. Использование протокола PIM DM в нашем случае обусловлено большой плотностью получателей и архитектурой сети. Он не требует доступа к внутренним таблицам маршрутизации, поэтому достигается независимость от протоколов маршрутизации (OSPF, RIP, статическая маршрутизация). PIM DM реализует метод RPF (Reverse Path Forwarding) с усечением (Prune). То есть, при отсутствии получателей на очередном маршрутизаторе, отправляется сообщение Prune, и данный маршрутизатор отсекается от дерева рассылки. Каждые 3 минуты рассылаются пробные дейтаграммы, так как за это время истекает срок сообщения Prune. Время Prune можно задавать в конфигурации маршрутизатора.

Реализация

Итак, приступим к настройке мультикаста.

В нашем случае, для "обычной" маршрутизации используется протокол OSPF.

Настраиваем OSPF на обоих интерфейсах маршрутизаторов. Пример настройки на маршрутизаторе nord-mk1:

config ospf ipif System area 0.0.0.0 priority 1
hello_interval 10 dead_interval 40

config ospf ipif System authentication none
metric 1 state enable active

config ospf router_id 10.255.255.170

enable ospf

Проверить правильность настройки интерфейсов можно выполнив следующую команду

sh ospf neighbour

Результат вывода должен быть приблизительно таким.

IP Address of Router ID of Neighbor Neighbor

Neighbor Neighbor Priority State

--------------- --------------- -------- -------------

10.255.255.17 192.168.149.5 1 Full

Total Entries : 1

После тщетных попыток заставить работать мультикаст, пришлось обратиться в службу технической поддержки компании D-Link. На запрос были получены новые версии прошивок для nord и nord-mk1 и ситуация исправилась.

Следует также обратить внимание на следующую «особенность». В тексте конфигурационного файла nord-mk1 присутствуют вот такие записи:

disable gvrp
config gvrp 25-28 state disable ingress_checking
enable acceptable_frame admit_all pvid 1

Несмотря на казалось бы глобальное запрещение gvrp, вторая строка влияет на работу, причем именно мультикаста. Как оказалось, необходимо в качестве pvid выставить 1, несмотря на вот эти строки в нашей конфигурации:

config vlan default delete 1-28
config vlan default advertisement enable
create vlan 20-mik9jan-1 tag 20
config vlan 20-mik9jan-1 add tagged 26
config vlan 20-mik9jan-1 advertisement disable

Для каждого из маршрутизаторов DGS-3612G, DXS-3326GSR, nord-mk1 выполняем следующие команды:

enable igmp_snooping
config igmp_snooping all state enable
config igmp all state enable
enable pim
config pim all state enable
create pim crp group 224.0.0.0/4 rp System

Для свитча nord-mk1 обязательным является включение PIM DM совместно с IGMP на всех интерфейсах, где требуется получение мультикаст трафика. Эти и некоторые другие, менее значительные, особенности (ошибки) реализации удалось решить только при активном сотрудничестве со службой технической поддержки компании D-Link.

Проверяем фунционирование протоколов.

DES-3800:admin#show igmp

IGMP Interface Configurations

QI : Query Interval MRT : Maximum Response Time

RV : Robustness Value LMQI : Last Member Query Interval

Interface IP Address/Netmask Version QI MRT RV LMQI State

------------ ------------------ ------- ----- --- --- ---- --------

System 10.255.255.170/30 2 125 10 2 1 Enabled

101-port1 10.0.60.1/26 2 125 10 2 1 Enabled

102-port2 10.0.60.65/26 2 125 10 2 1 Enabled

...

116-port16 10.0.63.193/26 2 125 10 2 1 Enabled

Total Entries: 21


DES-3800:admin#show pim neighbor

PIM Neighbor Address Table

Interface Name Neighbor Address Expired Time

--------------- ---------------- ------------

System 10.255.255.169 96

Total Entries: 1


DES-3800:admin#sh igmp group

Interface Multicast Group Last Reporter IP Querier IP Expire

------------ --------------- --------------- --------- ---------

101-port1 230.1.1.1 10.0.60.4 SELF 145

101-port1 230.1.1.2 10.0.61.3 SELF 250

...

106-port6 239.255.255.250 10.0.61.77 SELF 216


DES-3800:admin#sh ipmc cache

IP Multicast Forwarding Table

Multicast Source Upstream Expire Routing

Group Address/Netmask Neighbor Time Protocol

--------------- ------------------ --------------- ------ ---------

230.1.1.1 10.0.6.144/32 10.255.255.169 163 PIM-DM

230.1.1.2 10.0.6.144/32 10.255.255.169 183 PIM-DM

...

230.1.1.1.6 10.0.6.144/32 10.255.255.169 209 PIM-DM

Total Entries: 21

Не углубляясь в тонкости подбора параметров протоколов PIM DM и IGMP, настройку мультикаста в данном сегменте сети можно считать завершенной. Таким образом, сеть подготовлена к внедрению сервиса теле- и радиовещания и решена первая часть задачи.