Ж у р н а л   о   к о м п ь ю т е р н ы х   с е т я х   и   т е л е к о м м у н и к а ц и о н н ы х   т е х н о л о г и я х
СЕТИ И СИСТЕМЫ СВЯЗИ on-line
  ПОИСК: ПОДПИСКА НА НОВОСТИ: НОМЕР:
    ДОМОЙ • Архив: Новостей | Конференций | НомеровПодписка
 
   
 
   
    
РЕДАКЦИЯ
 
Все о журнале
Подписка
Как проехать
Где купить
Тематический план
Отдел рекламы
Адреса в Интернет

РУБРИКАТОР
   
• Инфраструктура
• Информационные
   системы

• Сети связи
• Защита данных
• Кабельные системы
• Бизнес
• Колонка редактора
• Электронная
   коммерция

• Только на сервере
• Системы
   учрежденческой
   связи

• Новые продукты


Rambler's Top100

  

На что способны QoS?

Майкл Дж. Димариа

Если вы хотите, чтобы пакеты данных доставлялись за 30 мс или еще быстрее, значит, пришло время внедрить в сети механизмы гарантированного качества обслуживания (Quality of Service — QoS).

Помню где-то в 80-х годах прошлого века крупная сеть пиццерий рекламировала “горячую пиццу с доставкой за 30 минут”. Пицца на вашем пороге могла появиться, например, через 25 или 27 минут, а иногда и через 31 минуту с момента заказа, но вы могли быть твердо уверены, что дольше ждать не придется. Почти так же и в сетевых технологиях, только вместо пиццы доставляются данные, а скорость доставки измеряется не в минутах, а миллисекундах.

К сожалению, ни Ethernet, ни IP, ни Интернет изначально не были разработаны для гарантированной доставки данных или выделения полосы пропускания с учетом приоритетов. Поэтому в обычных сетях, построенных на основе этих технологий, время отклика на ping-запрос сильно разнится, пропускная способность непостоянна, а перегрузка временами столь велика, что даже не удается установить сеанс связи. Сетевые ресурсы — доступная полоса пропускания, максимальное число одновременных сеансов, процессорная мощность маршрутизаторов — всегда ограничены. И вот виртуальная частная сеть, связывающая филиалы вашей компании, вдруг начинает резко “тормозить”, и вовсе не из-за дефицита полосы пропускания, а из-за массовых Web-путешествий.

Когда дрожит задержка

На качество обслуживания трафика в сети влияют четыре основные характеристики.

• Задержка — время, которое требуется пакету для “путешествия” из одного пункта в другой. Оно может зависеть от доступной полосы пропускания, загрузки ресурсов (ЦПУ или ОЗУ) сетевых устройств, расстояния между узлами, типа соединения. Уменьшить задержку можно, но только до определенного уровня, например, нельзя отослать сообщение и получить ответ по спутниковой линии связи менее чем за 500 мс.

• Джиттер — это вариация задержки. Если только два узла не подключены к одному коммутатору, то задержка может изменяться от пакета к пакету. Когда сетевой канал перегружен, вариация задержки растет. Для таких приложений, как загрузка файлов и Web-серфинг, это, как правило, не так уж и важно. Однако на потоковое видео и IP-телефонию большой джиттер может оказать крайне негативное влияние. Вот здесь-то и пригодятся механизмы QoS, которые помогут сгладить джиттер, назначив трафику потокового мультимедиа более высокий приоритет. Другое решение — увеличение размера буфера.

• Сброс (потеря) пакетов случается при перегрузке сетей или устройств и приводит к выпадению “кусков” информации в потоковых передачах, разрыву соединений и прочим проблемам. Что еще хуже, возможна повторная передача сброшенных пакетов, что только усугубит проблему. Методы QoS позволяют ограничить полосу пропускания, которую могут использовать те или иные протоколы или соединения, таким образом предотвращая или ограничивая перегрузку.

• Контроль за использованием полосы пропускания. Некоторые виды трафика, например FTP или потоковое видео, способны, как губка, “впитать” всю полосу пропускания. Одноранговый обмен файлами (P2P) сильно осложнил ситуацию в большинстве университетских сетей США. Так, в некоторых таких сетях каналы зачастую полностью забиты одним только P2P-трафиком. При этом, например, скорость отклика Web-серверов резко замедляется, что становится серьезной проблемой.

Возможность контролировать трафик имеет критически важное значение, особенно в тех случаях, когда у вас не так уж много сетевых ресурсов. Механизмы QoS позволяют приоритизировать трафик критически важных бизнес-приложений, транзакции сетевого управления или запросы к базам данных, оставляя оставшиеся канальные ресурсы для менее важных приложений.

Большинство устройств, поддерживающих алгоритмы QoS, позволяют указать минимальную и максимальную полосы пропускания для конкретного протокола, а более “продвинутые” продукты даже минимальную и максимальную полосы для каждого сеанса связи. Например, один сеанс потокового видео можно ограничить полосой 100 Кбит/с и указать, что все сеансы потокового видео суммарно не могут использовать более 1 Мбит/с. Еще технология QoS позволяет назначить привилегированный статус трафику, генерируемому приложениями определенных пользователей.

Выбираем уровень

Рассматривая вопрос внедрения QoS, решите, на каком уровне модели OSI следует проводить проверку трафика. Механизмы QoS главным образом работают на четвертом (транспортном) и седьмом (прикладном) уровнях.

На четвертом уровне проверяются только номера протокольных портов и IP-адреса. В старые добрые времена каждому протоколу назначался свой собственный порт. Сейчас же большинство межсетевых экранов пропускают через порт 80 трафик от любой машины данной организации, в результате пользователи могут смотреть потоковое видео, пользоваться Web-почтой, запускать P2P-сервисы обмена файлами, просматривать Web-страницы и устанавливать туннелированные SSH-соединения — и все это через порт 80. Использоваться при этом может как обычный протокол HTTP, так и его зашифрованный вариант HTTPS.

Если вы работаете в небольшой замкнутой среде, где пользователи вряд ли будут подключать к сети собственные машины или устанавливать неутвержденное ПО, то средства седьмого уровня для вас, вероятно, не столь уж важны. Но вот, например, в университетской сети даже думать нельзя о том, чтобы обойтись без проверки на прикладном уровне.

Устройства QoS с “интеллектом” седьмого уровня имеют ряд очень “продвинутых” средств. Так, QoSWorks компании Sitara умеет идентифицировать трафик в зависимости от типа HTTP-контента. Например, вы сможете ограничить скорость передачи изображений или встроенных мультимедийных файлов, что позволит быстрее передавать HTML-текст. Некоторые устройства способны даже распознать, когда сеанс с использованием протокола HTTP занят доставкой Web-страниц, а когда скачиванием MP3-файлов. Вам, скорее всего, захочется назначить разные правила для этих двух типов трафика.

Простые способы

Самое простое решение проблем, связанных с недостаточным качеством обслуживания в сети, — выделение дополнительных ресурсов (overprovision). Вам требуется больше полосы пропускания? Установите вторую линию T1. Маршрутизаторы сбрасывают пакеты? Добавьте им ОЗУ. Похоже на советы человека, не желающего себя ничем особо утруждать, однако добавление ресурсов — это действительно эффективное, а порой и единственно возможное решение. Например, нельзя передавать поступающие с цифровой видеокамеры потоки по беспроводной ЛВС 802.11b в режиме реального времени. Цифровое видео потребительского качества требует полосу 25—36 Мбит/с, тогда как пропускная способность сети 802.11b составляет 11 Мбит/с (а на практике лишь от 4 до 6 Мбит/с). Или, скажем, у вас имеется 128-Кбит/с канал ISDN, а вы хотите пускать по нему 100 одновременных сеансов IP-телефонии по 8 Кбит/с каждый. Даже самое совершенное QoS-решение не обеспечит вам этого.

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

Только нужно проявить осмотрительность и не потратить на новое оборудование (каналы, услуги) больше, чем у вас ушло бы в случае применения специализированных механизмов QoS. Для примера возьмем удаленный офис с 1,5-Мбит/с DSL-соединением, которое обходится вам в 150 долл. в месяц. Web-трафик постоянно “тормозит”, и чтобы избавиться от ежедневных жалоб пользователей, вы решаете добавить второе соединение. Но не спешите. Сначала проанализируйте состав трафика: причиной всех бед может оказаться потоковое Интернет-радио или нечто столь же легкомысленное. С помощью механизмов QoS можно снизить или полностью исключить передачу потокового аудио и сэкономить нашему гипотетическому филиалу 1800 долл. в год.

Другой способ сбережения полосы пропускания — это использование алгоритмов сжатия. Так, для графики можно снизить разрешение или глубину цвета, видео ужать при помощи таких эффективных кодеков, как MPEG или DivX, а аудио закодировать на более низкой скорости передачи битов или преобразовать из стерео в моно. Впрочем, подобные схемы сжатия с потерями стоит применять только до тех пор, пока не проявится заметное ухудшение качества. Можно, конечно, воспользоваться схемами сжатия без потерь, такими, как zip, gzip или Aladdin Stuffit. Они не снижают качества, но и размеры файлов уменьшаются не столь заметно. Кроме того, они неэффективны для уже сжатых данных, например JPEG-, MP3- или видеофайлов.

Отличный способ — организовать сжатие HTTP-трафика на Web-серверах. В спецификации HTTP 1.0 поддержка сжатия была определена как факультативная опция для программ-клиентов, для клиентов HTTP 1.1 она уже обязательна. Сжатие HTML весьма эффективно, однажды с его помощью мы умудрились “втиснуть” 8 Гбайт текста на стандартный CD-диск. Единственный отрицательный момент — большая нагрузка на ЦПУ.

Компании Expand Networks, Packeteer и Peribit Networks продают устройства, сжимающие данные при передаче их между территориально удаленными узлами. Они устанавливаются за Интернет-маршрутизаторами в удаленных офисах и выполняют автоматическое сжатие всего проходящего через них трафика. Эти устройства недороги и позволят повысить эффективность ваших WAN-линий.

Если ни один из перечисленных выше простых способов не решает вашу проблему, значит, пришло время прибегнуть к различным ухищрениям.

Кое-что посложнее

Сетевой трафик можно подразделять по классам в зависимости от протокола, диапазона IP- или MAC-адресов, набора потоков. В большинстве систем в качестве потока рассматривается полный TCP-сеанс, т. е. от момента выполнения Web-пользователем процедуры handshake, затем HTTP-передачи и до завершения сеанса связи весь трафик рассматривается как часть одного потока. Устройства QoS применяют политики сразу к целому классу трафика либо к отдельным его потокам или к комбинации того и другого.

Для достижения требуемых параметров QoS можно задействовать биты ToS (Type of Service). Поле ToS состоит из восьми битов, расположенных в заголовке пакета IPv4. Биты 0, 1 и 2 поля ToS могут использоваться для указания относительного приоритета пакета (RFC791) в диапазоне от 0 до 7. Бит 3 служит для указания нормальной или низкой задержки, бит 4 — нормальной или высокой пропускной способности, а бит 5 — нормальной или высокой надежности. В указанном документе RFC говорится, что из этих трех опций можно использовать не более двух. Биты 6 и 7 зарезервированы для будущих нужд.

Не существует никаких официальных документов, где четко указывается, что следует делать с информацией поля ToS. Предполагается, что сетевые устройства будут сбрасывать низкоприоритетный трафик, чтобы дать “зеленую улицу” высокоприоритетным пакетам. Трафик с одинаковым уровнем приоритета не поддается дальнейшей дифференциации. Пакеты сетевого управления (например, сообщения RIP и ICMP), как правило, имеют самый высокий приоритет, поэтому реально остаются только шесть эффективных уровней приоритета.

К сожалению, согласно данным Cisco Systems, фирмы-производители в своих реализациях по-разному интерпретируют биты ToS с 3-го по 5-й.

И что еще хуже, спустя десятилетие после появления RFC791, в новом документе RFC1349 биты с 3-го по 6-й были переопределены для следующей классификации: минимальная задержка, максимальная пропускная способность, максимальная надежность, минимальные денежные расходы (monetary cost) или же нормальное обслуживание. Выбрать можно только одну опцию, при этом ни одна из них не гарантирует полосу пропускания. В протоколе IPv6 от октета ToS отказались в пользу октета “класс трафика”.

Использование ToS часто ассоциируется с “цветной” градацией — давно придуманной системой деления уровней обслуживания на бронзовый, серебряный, золотой, бриллиантовый и платиновый. Подобную систему используют многие сервис-провайдеры. Кое-где классификация трафика с помощью поля ToS все еще применяется, но в ЛВС — крайне редко.

Модель интегрированного обслуживания (Integrated Services — IntServ) может обеспечить сквозное (end-to-end) качество обслуживания, гарантируя необходимый уровень полосы пропускания, если все маршрутизаторы в сети поддерживают и реально учитывают механизмы IntServ.

В данной модели существует два класса: гарантированного обслуживания (guaranteed service) и контролируемой загрузки (controlled load). Первый из них гарантирует выделение заданной полосы пропускания и отсутствие дополнительной задержки из-за очередей пакетов. Пакеты, отнесенные ко второму классу (контролируемой загрузки) передаются как традиционный IP-трафик, идущий по малонагруженной сети, т. е. они получают максимум из возможного (best-efforts), но без жестких гарантий. Трафик, не принадлежащий к классам IntServ, довольствуется остатками ресурсов.

Конечный хост инициирует QoS-сеанс IntServ, посылая запрос RSVP (Resource Reservation Protocol, RFC2205) — сигнального протокола, служащего для резервирования ресурсов в сети. Сеть может ответить или согласием, или отказом — все зависит от доступности ресурсов на каждом ее участке. При “положительном решении вопроса” полоса пропускания резервируется. Каждый маршрутизатор в сети поддерживает таблицу состояний (state table) для каждого сеанса IntServ. Если на узле-отправителе случится аварийная ситуация, сеанс IntServ завершится по истечении определенного времени (обнулению специального таймера) и резервирование ресурсов будет снято.

В модели IntServ состояние резервирования необходимо поддерживать во всей сети, что накладывает дополнительную нагрузку на ЦПУ и ОЗУ сетевых устройств. Причем каждое устройство на пути следования пакета, включая конечные узлы, должно “понимать” алгоритмы IntServ. На практике модель IntServ используется только в небольших сетях.

В сильно распределенных и крупномасштабных сетях она не получила распространения именно из-за проблем масштабируемости.

Модель дифференцированного обслуживания (Differentiated Services — DiffServ, RFC2475) решает некоторые проблемы ToS и IntServ. Она более масштабируемая, и при корректной реализации может работать в инфраструктуре, охватывающей несколько сетей. Первые шесть битов ToS в пакете IPv4 или октет “класс трафика” в пакете IPv6 называются полем DiffServ CodePoint (DSCP), в котором можно указывать до 64 классов трафика.

Сеть маршрутизаторов с поддержкой механизмов DiffServ называют “облаком DiffServ”. Классификация трафика происходит на входе в это “облако”. Провайдер обычно договаривается с клиентом и заключает с ним соглашение об уровне обслуживания (SLA). Например, компания может подписаться на бронзовый, серебряный или золотой пакет услуг Интернет-провайдера. Заключенный контракт и определит уровень приоритетов DiffServ.

Самым большим преимуществом модели DiffServ является то, что она действует на границе “облака”. После того как данные пересекли эту границу, внутренним маршрутизаторам можно не заниматься поддержанием информации о статусе QoS и полностью сосредоточиться на своей основной функции — маршрутизации.

Но и при использовании модели DiffServ остаются элементы непредсказуемости. Отдельные внутренние маршрутизаторы могут неадекватно отреагировать на значения битов в поле ToS или даже изменить их. И нет установленных стандартов: “золотой” статус одного провайдера может соответствовать “бронзовому” другого. Следовательно, вы можете платить своему Интернет-провайдеру за самое лучшее обслуживание, а при переходе в сеть другого провайдера статус вашего трафика изменится. Поскольку DiffServ работает за счет выборочного сброса пакетов в периоды сетевой перегрузки, то соединения с низким приоритетом вообще могут разорваться во время “всплесков” сетевой активности.

Модель DiffServ хороша для крупных ЛВС и территориально распределенных сетей (WAN), так как имеет меньшие накладные расходы (overhead) и лучше масштабируется (по сравнению с IntServ). Поскольку классификация трафика происходит на входе в “облако” DiffServ, то конечные узлы и промежуточные маршрутизаторы не обязаны ни “понимать”, ни устанавливать значения битов DiffServ.

Профилирование трафика

Устройства профилирования (shaper) трафика — это апофеоз концепции QoS. Продукты этой категории, выпускаемые компаниями Allot Communications, Lightspeed Systems, Packeteer и Sitara Networks, выполняют глубокую проверку пакетов, классификацию трафика, генерацию отчетов. Хотя эти устройства могут классифицировать трафик по значениям полей DiffServ и ToS, но на сами технологии они не полагаются. Работают они как самостоятельные устройства, не требуя увязки с остальной частью вашей сети.

Традиционно эти продукты располагаются на границе сети, хотя их можно использовать и для профилирования внутреннего трафика ЛВС. Большинство из них работают на прикладном уровне, что позволяет избавиться от синдрома “пустим все через порт 80, и никто ничего не заметит”. Подобный подход приводит к возникновению проблем в том случае, когда, например, нужно задать определенные правила для трафика протокола HTTP, работающего через тот же порт, что и нежелательное для вас приложение потокового мультимедиа. Устройства с “интеллектом” седьмого уровня способны отличить проходящий через порт 80 трафик HTTP от трафика потокового видео или передачи файлов HTML или JPG.

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

Хотя в реализации систем профилирования трафика разных фирм существует специфика, их общей характеристикой является модификация трафика на базе его класса (зависящего, например, от протокола или подсети), отдельных потоков или того и другого сразу. При этом можно задать минимум и максимум полосы пропускания, а также ограничить всплески трафика (burst). Например, можно выделить FTP-трафику 10 Мбит/с при нормальных условиях и ограничить его всплески величиной 15 Мбит/с (при наличии свободной полосы пропускания). Устройства профилирования трафика позволяют давать и более детальные указания, например: “Разрешить каждому сеансу IP-телефонии использовать 8 Кбит/с, но суммарный VoIP-трафик не должен занимать полосу более 1 Мбит/с. Если вся эта полоса занята, установление новых VoIP-сеансов запретить”.

Окна и очереди

Устройства профилирования трафика работают при помощи либо обработки очередей пакетов (например, продукты фирм Allot Communications и Lightspeed), либо манипулируя размерами окна TCP (системы компаний Packeteer и Sitara).

Поставщики, применяющие очереди, утверждают, что протокол TCP и так автоматически сбрасывает темп при возникновении очереди, поэтому в использовании механизма TRS (TCP Rate Shaping) нет необходимости, и вообще вещь эта неестественная и не специфицированная IETF. Кроме того, TRS не умеет справляться с трафиком протокола UDP (User Datagram Protocol). Впрочем, это как раз незначительное замечание, поскольку любой поставщик TRS-устройств реализует в них еще и второй алгоритм на базе очередей для обслуживания UDP-трафика.

Технология TRS работает манипулируя управляющими сообщениями протокола TCP и размерами его окна. Это заставляет TCP-сеанс “поверить”, что связь с хостом происходит по значительно более медленной линии. Поставщики TRS-устройств утверждают, что выстраивание очередей приводит к дополнительным задержкам, вызывает сброс большего числа пакетов и не так уж эффективно в замедлении входящего трафика.

Сторонники организации очередей имеют в своем распоряжении четыре основных механизма:

• PQ (Priority Queuing) — обработка очередей с абсолютным приоритетом. Пакеты из очередей с более высоким приоритетом обслуживаются в первую очередь, а низкоприоритетные очереди могут остаться “на голодном пайке”.

• CBQ (Class-Based Queuing) — обслуживание очередей на основе классов. Этот алгоритм в некоторой степени справляется с проблемой “голода”, присущей схеме PQ. Всем классам назначается хоть какая-то минимальная полоса пропускания, причем ее можно “заимствовать” у других классов (если у них она свободна).

• WFQ (Weighted Fair Queuing) — взвешенные справедливые очереди. Этот алгоритм увеличивает или уменьшает размер очереди в зависимости от уровня приоритета. Использование полосы пропускания во внимание не принимается.

• HWFQ (Hierarchical Weighted Fair Queuing) — иерархические WFQ-очереди. Система оценивает наихудшую задержку пакета при различных сценариях прохождения трафика и использует эти данные при организации обслуживания очередей.

Спор между сторонниками использования очередей и нормирования скорости (TRS) для профилирования трафика продолжается уже не первый год, но, на наш взгляд, интерфейс управления, информативность генерируемых отчетов и производительность значат куда больше, чем применяемая технология.

***

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

Выберите те приложения, которые для вас являются самыми важными, и позаботьтесь о том, чтобы они всегда получали достаточно сетевых ресурсов. Или же просто ограничьте “аппетиты” самых “прожорливых” приложений.

Из нехватки производительности не следует автоматически делать вывод о необходимости дополнительной полосы пропускания. Нет никакого резона переходить на Gigabit Ethernet, если включение механизмов QoS на маршрутизаторе позволит бесплатно получить вполне удовлетворительные результаты. Как минимум, QoS можно использовать для поддержания сети “на плаву” до тех пор, пока не наступит следующий цикл приобретения оборудования..





  
14 '2003
СОДЕРЖАНИЕ

электронная Россия

• Инфокоммуникации на Урале

бизнес

• Avaya делает акцент на ПО

инфраструктура

• Как выбрать беспроводной сетевой адаптер

• Превосходные устройства NAS

информационные системы

• SIP готов к штурму

• Тестируем SIP-телефоны

• Active Directory: учимся на горьких ошибках

• Такие разные информационные табло

сети связи

• «Боинги» оптических сетей

• На что способны QoS?

кабельные системы

• Достаточно ли прочен ваш кабель Ethernet?

• Выбор оптоволокна для горизонтальной сети

защита данных

• Спор вокруг NIP-систем

новые продукты

• Terayon BW 3000 с поддержкой DOCSIS 2.0; Новые серверы NovaScale компании Bull; Новые радиорелейные станции компании Alcatel; Ethernet потоками Е1; Ethernet через сеть SDH


• Калейдоскоп



 Copyright © 1997-2005 ООО "Сети и Системы Связи". Тел. (495) 234-53-21. Факс (495) 974-7110. вверх