antiCisco blogs


блоги по технологиям и оборудованию cisco от инструкторов

Опубликовано 7 Сентябрь , 2010

В этой статье я бы хотел кратко описать основную задачу механизмов качества
обслуживания и немного поговорить о сетевых характеристиках.
Сетевые устройства без применённых механизмов качества обслуживания обрабатывают
все пакеты одинаково (в порядке их поступления). Но в этих условиях получится, что
трафик пиринговых сетей, DoS атак, атак сетевых червей с точки зрения предоставляемой
полосы будет обрабатываться также как и голосовой трафик, видео трафик и трафик
важных для компании данных… Чтобы этого не происходило, механизмы качества
обслуживания обеспечивают способность сети предоставлять «специальное»
обслуживание пакетов определённых групп пользователей и/или приложений в ущерб
остальному трафику.

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

Основными сетевыми характеристиками при этом будут: доступная полоса пропускания,
задержка сети, джиттер, процент потерянных пакетов и распределение потерянных
пакетов.

Полоса пропускания:

Доступная для приложения полоса пропускания (bandwidth) является одной из самых
важных сетевых характеристик. Предположим имеется исходящий канал имеет
пропускную способность 512 кбит/с, а трафик поступает со скоростью 1 Мбит/с.
Очевидно, что мы получим скорость потерь в 488 кбит/с. Помимо этого будет расти
задержка очерёдности для пакетов (при рассогласовании скоростей неизбежна
буферизация) и увеличится джиттер (изменение задержки).
Получается, что нехватка пропускной способности может привести к ухудшению всех
сетевых характеристик, которое получает приложение. Поэтому обеспечение требуемой
для приложения полосы пропускания является одной из главных задач механизмов
качества обслуживания.
Наверное лучшим решением увеличения доступной полосы является расширение
пропускной способности каналов связи. К сожалению, это далеко не всегда возможно по
экономическим или техническим причинам. Механизмы качества обслуживания как
правило не требуются, если полезная нагрузка, к примеру, никогда не превышает 80%
пропускной способности канала. Такой подход имеет право на существование, однако, тут
можно вспомнить и про неучтённые факторы. Например, что произойдёт с трафиком в
условиях DoS атаки?
Фактически мы начинаем говорить о механизмах качества обслуживания тогда, когда
пропускной способности нашего канала не хватает, чтобы передать весь поступающий
трафик. Основным инструментом увеличения пропускной способности для приложений
является использование системы очерёдности, гарантирующей предоставление требуемой
полосу пропускания для важных нам приложений. В примере про канал с пропускной
способностью 512 кбит/с и трафиком, поступающим со скоростью 1 Мбит/с, что мы
сможем сделать используя продвинутую систему очерёдности? Потери всё равно составят
488 кбит/с, но мы можем сделать так, что будем терять трафик только неважных для нас
приложений, путём преимущественной отправки важного трафика. Возникает задача: как
разделить трафик на «важный» и «неважный»? Это уже задача классификации трафика и
она неразрывно связана с другими механизмами QoS.
Дополнительным способом увеличения доступной полосы является уменьшение
количества передаваемой информации, что можно сделать за счёт сжатия. На практике
существует 2 способа: сжатие заголовков и сжатие полезной нагрузки кадров. Сжатие
заголовков эффективно при большой доле маленьких по размерам пакетов. Сжатие
полезной нагрузки кадров эффективно использовать при наличии аппаратной поддержки,
поскольку программное сжатие может сильно увеличить загрузку процессора и время
обработки пакетов.

Задержка:

Сквозная задержка складывается из суммы задержек различных типов на каждом сетевом
участке. Типы сетевых задержек можно разделить на 4 основных типа:
1) Задержка на обработку — время, которое тратится устройством на принятие пакета на
входящем интерфейсе и размещение его в очередь на исходящем интерфейсе.Задержка на
обработку зависит от производительности устройства, его загрузки, архитектуры,
используемого способа коммутации пакетов и применяемых механизмов обработки
пакеты на входящем и исходящем интерфейсе.
2) Задержка очерёдности — время, в течение которого пакет находится в системе
очерёдности. Этот тип задержки зависит от количества пакетов, уже находящихся в
очереди, пропускной способности интерфейса и типа применяемой системы очерёдности.
3) Задержка сериализации — время размещения всех битов пакета в канал связи. Данный
тип задержки сказывается на низкоскоростных линиях связи. При канале полосой B бит/с
задержка сериализации для пакета размером Q бит будет определяться по формуле: Ts =
Q/B c. К примеру, при B = 64 кбит/с и Q = 1500 байт задержка сериализации составит
187,5 мс. А при B > 768 кбит/c становится меньше 15 мс.
4) Задержка распространения — время передачи пакета в канале связи, зависит от типа
среды передачи канала (скорости передачи информации в канале V, м/с) и протяжённости
линии связи L, м. Tp = L/V с. Задержка распространения особенно ощутима для
спутниковых линий связи.

Джиттер:

Изменение задержки (джиттер) сказывается за счёт наличия переменной составляющей
сквозной задержки, фактически означающее изменение временной разницы между
пакетами на приёме. Например, при передаче голосового трафика при отправке пакетов
время между пакетами одинаково и равно периоду пакетизации(обычно 20 или 30 мс).
При передаче через сеть пакеты могут испытывать разную задержку и поэтому возникает
изменение временной разницы между пакетами при их получении. Для того чтобы
скомпенсировать изменение задержки при передаче голоса или видео конечные узлы
используют джиттер-буфер, который вносит дополнительную задержку, но позволяет
декодеру равномерно воспроизводить приходящие пакеты.
Как уменьшить задержку?
Для уменьшения сквозной задержки необходимо уменьшать составляющие этой
задержки.Задержка обработки и задержка распространения путём применения механизмов
качества обслуживания не уменьшатся.Очевидно, что увеличение пропускной
способности канала уменьшает задержку сериализации и задержку очерёдности.
Применение систем очерёдности с приоритезацией позволяет минимизировать задержку
для трафика, попадающего в приоритетную очередь. Средняя длина очереди и средний
размер пакетов в очереди также влияют на среднюю задержку очерёдности.

Потери пакетов:

Уровень потери пакетов определяет количество пакетов, отбрасываемых сетью во время
передачи. Основными причинами потери пакетов являются перегрузка сети и
повреждение пакетов во время передачи по линиям связи. Чаще всего отбрасывание
пакетов происходит в местах перегрузки, где число поступающих пакетов превышает
верхнюю границу размера выходной очереди. Как правило, уровень потери пакетов
выражается как доля отброшенных пакетов за определённый интервал времени по
отношению к общему количеству поступивших пакетов.
Некоторые приложения не способны нормально функционировать или же функционируют
крайне неэффективно в случае потери пакетов. Подобные приложения требуют от сети
гарантии надёжной доставки всех пакетов. Следует отметить, что отброшенные пакеты
указывают на неэффективное использование ресурсов сети, часть которых была потрачена
на доставку пакетов в точку, где они были потеряны.
Очевидно, что в условиях отсутствия перегрузки потерь пакетов не происходит (по
крайней мере по причинам связанным с QoS). Следовательно, уменьшение потерь можно
обеспечить 2-мя способами:
1) Предоставить определённым классам трафика требуемую полосу пропускания, что
достигается применением систем очерёдности.
2) Обеспечить согласование скоростей, что означает ситуацию, когда трафик данных
занимает лишь предоставленную полосу и не превышает её. Это можно обеспечить путём
применения алгоритма Weighted Random Early Detection (WRED), суть которого
заключается в случайном сбрасывании приходящих пакетов, не дожидаясь полной
загрузки очереди. Для TCP сессий потеря TCP сегмента приводит к сокращению скорости
передачи за счёт уменьшения размера «скользящего окна» TCP.

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

 

Метки:
Опубликовано: Маршрутизаторы и коммутаторы

 

6 комментариев “QoS. Зачем это нужно? Статья 1.”

comment rss - Trackback

  1. m0ps:

    Спасибо. Хорошее начало, с нетерпением жду продолжения…

  2. Hando:

    Сергей, хорошая статья. Есть просьба: поправьте пжлста 512 488 на 512 512. Я понимаю, что это опечатка,но мне очень сильно глаза режит 🙂

  3. flider:

    Позволил себе обрезать статью на главной — очень длинная. Вся статья доступна при нажатии «Читать продолжение записи»

    На будущее, полезно вставлять тэг «more» при редактировании статей.

    Ждем продолжения!

  4. siv:

    2 Hando:

    Я могу ошибаться, но: 1 Мбит/c = 1000 кбит/c = 512 кбит/с + 488 кбит/с. Поэтому пока исправлять не буду. То что в километре 1024 метра я знаю )). Никит, если я не прав, прошу сильно не пинать…

    2 flider:

    Спасибо что поправили, статья первая, поэтому с форматированием я ещё только разбираюсь.

    Всем спасибо!

  5. ГОСТ 8.417-2002 говорит, что «Исторически сложилась такая ситуация, что с наименованием „байт“ некорректно (вместо 1000 = 10^3 принято 1024 = 2^10) использовали (и используют) приставки СИ: 1 Кбайт = 1024 байт, 1 Мбайт = 1024 Кбайт, 1 Гбайт = 1024 Мбайт и т.д.» (Нет, я не помню ГОСТы наизусть, я его нагуглил) 😉
    Про биты ничего не сказано, но по умолчанию используются десятичные приставки, значит логично предположить что и там надо десятичные.

    Еще есть стандарт IEC 60027-2, в котором рекомендуется использовать префиксы «киби» (ki), «меби» (Mi), «гиби» (Gi) для двоичных приставок, а обозначения «к/кило», «М/мега», «Г/гига» считать десятичными.

    С этих позиций вычисление про 512 Кбит/с + 448 Кбит/с = 1 Мбит/с выглядит верно.

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

» Оставить комментарий

Вы должны войти чтобы прокомментировать.