Алгоритм взвешенных очередей (Weighted Queuing) разработан для того, чтобы для всех классов трафика можно было предоставить определенный минимум пропускной способности или удовлетворить требования к задержкам. Под весом какого-либо класса понимается доля выделяемой данному виду трафика пропускной способности выходного интерфейса. Алгоритм, в котором вес классов трафика может назначаться администратором, называется «настраиваемой очередью». Трафик делится на несколько классов, и для каждого вводится отдельная очередь пакетов. С каждой очередью связывается доля пропускной способности выходного интерфейса, гарантируемая данному классу трафика при перегрузках этого интерфейса. В примере, приведенном на рисунке 3.7, устройство поддерживает пять очередей для пяти классов трафика. Этим очередям соответствует 10, 10, 30, 20 и 30% пропускной способности выходного интерфейса при перегрузках.
Рисунок 3.7 – Взвешенные настраиваемые очереди
Поставленная цель достигается благодаря тому, что очереди обслуживаются последовательно и циклически, и в каждом цикле из каждой очереди забирается такое число байт, которое соответствует весу очереди. Например, если цикл просмотра очередей в рассматриваемом примере равен 1 сек, а скорость выходного интерфейса составляет 100 Мбит/с, то при перегрузках в каждом цикле из первой очереди забирается 10 Мбит данных, из второй тоже 10 Мбит, из третьей — 30 Мбит, из четвертой — 20 Мбит, из пятой — 30 Мбит. В результате каждому классу трафика достается гарантированный минимум пропускной способности, что во многих случаях является более желательным результатом, чем подавление низкоприоритетных классов высокоприоритетным.
Точные значения параметров QoS для алгоритма взвешенного обслуживания предсказать трудно. Они существенным образом зависят от динамически изменяющихся параметров нагрузки сетевого устройства — интенсивности пакетов всех классов и вариаций промежутков времени между прибытием пакетов. В общем случае взвешенное обслуживание приводит к большим задержкам и их отклонениям, чем первоочередное обслуживание для самого приоритетного класса, даже при значительном превышении выделенной пропускной способности над интенсивностью входного потока данного класса. Но для более низких приоритетных классов взвешенное справедливое обслуживание часто оказывается более приемлемым с точки зрения создания благоприятных условий обслуживания всех классов трафика.
Взвешенное справедливое обслуживание — это комбинированный механизм обслуживания очередей, сочетающий приоритетное обслуживание со взвешенным (рисунок 3.8). Этот механизм предусматривает существование одной особой очереди, которая обслуживается по приоритетной схеме — всегда в первую очередь и до тех пор, пока все заявки из неё не будут исполнены. Эта очередь предназначена для системных сообщений, сообщений управления сетью и, возможно, пакетов наиболее критических и требовательных приложений. Во всяком случае, предполагается, что её трафик имеет невысокую интенсивность, поэтому значительная часть пропускной способности выходного интерфейса остается другим классам трафика.
Остальные очереди устройство просматривает последовательно, в соответствии с алгоритмом взвешенного обслуживания. Администратор может задать вес для каждого класса трафика аналогично тому, как это делается в случае взвешенного обслуживания. Вариант работы по умолчанию предусматривает для всех остальных классов трафика равные доли пропускной способности выходного интерфейса (за вычетом оставшейся от приоритетного трафика).
Механизм WFQ является одним из основных для поддержки качества обслуживания.
MPLS —коммутация "меченых" пакетов
позволяет обеспечивать качество
обслуживания, поскольку работает
по принципу автомобилей с мигалками).
Технология MPLS
MPLS (MultiProtocol Label Switching) — это технология быстрой коммутации пакетов в многопротокольных сетях, основанная на использовании меток. MPLS широко используется для построения высокоскоростных IP-магистралей.
Технология MPLS основана на концепции коммутации по меткам: к каждому пакету данных добавляется независимая и уникальная "метка", которая используется для коммутации и маршрутизации пакета по сети. Метка имеет простую структуру - по существу, это сокращенная версия информации заголовка пакета - так что сетевое оборудование может быть оптимизировано на обработку метки и передаваемого трафика. Важно понять разницу в способе маршрутизации MPLS и IP при передаче данных по сети. При традиционной передаче IP-пакетов используется IP-адрес пункта назначения в заголовке пакета, чтобы позволить каждому маршрутизатору в сети принимать независимое решение о передаче. При этом определяется кратчайший путь через сеть и не рассматриваются другие факторы, такие как время задержки или перегрузка трафика.
MPLS создает модель с установлением соединения, накладываемую на традиционную, не ориентированную на установление соединений, структуру маршрутизируемых IP-сетей.
Преимущества MPLS
1) Технология MPLS позволяет сети поддерживать как новые, так и существующие услуги. MPLS функционирует как поверх существующей (Е3, SDH), так и новой инфраструктуры (10/100/1000/10G Ethernet) и других сетей.
2) MPLS поддерживает предоставление услуг с гарантированным качеством обслуживания. Пакеты, которые должны доставляться с высоким качеством, могут помечаться, позволяя провайдерам обеспечивать определенные малые значения задержки для речевых и видео сигналов.
3) MPLS упрощает требования обработки, предъявляемые к маршрутизаторам, поскольку маршрутизаторы просто передают пакеты, основываясь на фиксированных метках.
4) MPLS обеспечивает соответствующий уровень безопасности, одновременно сокращая потребность на шифрование в IP-сетях общего пользования.
В соответствии с технологией MPLS пакетам присваиваются метки для их передачи по сети. Метки включаются в заголовок MPLS, вставляемый в пакет данных (Рисунок 6.1).
Метки-идентификаторы определяют принадлежность каждого пакета тому или иному классу FEC. FEC (Forwarding Equivalence Classes) класс эквивалентности при пересылке – это семейство пакетов, которые пересылаются одинаковым способом по одному и тому же маршруту и обрабатываются одинаковым образом, например, с целью обеспечить заданное QoS.
Метка MPLS имеет локальное значение – она действительна на участке между двумя соседними маршрутизаторами, являясь исходящей меткой определенного FEC для одного из них и входящей - для второго. Второй маршрутизатор, пересылая пакет этого FEC к следующему маршрутизатору, снабжает его другой меткой, которая идентифицирует тот же FEC на следующем участке маршрута, и т.д. Таким образом, каждый FEC имеет свою систему меток.
Чтобы понять суть MPLS-маршрутизации приведу пример: Студенты отправляются в путешествие по реке Амур. Каждый студент одет в синюю футболку с надписью ХИИК. При посадке на теплоход не имеет смысла у каждого студента проверять билет, так как все студенты отправляются по единому маршруту (как все пакеты одного и того же сообщения). Таким образом, уменьшается время на отправку каждого студента и значительно упрощается весь процесс транспортировки студентов по всему маршруту следования.
MPLS предопределяет путь распространения данных по сети и кодирует эту информацию в виде метки, которую понимают маршрутизаторы сети. Поскольку планирование маршрута происходит в начальный момент времени и на краю сети (где состыковываются сети потребителя и провайдера услуг), MPLS-помеченные данные требуют меньше вычислительных возможностей от маршрутизаторов, чтобы пересечь ядро сети провайдера услуг.
Сети MPLS организуют помеченные коммутируемые маршруты LSP (Label Switched Path)для прохождения данных по сети. LSP определяются последовательностью меток, назначаемых узлам на пути следования пакета от источника к получателю.
На рисунке 4.1 показана типичная сеть MPLS. Центральное облако представляет саму сеть MPLS. Весь информационный трафик в пределах этого облака является MPLS-помеченным. Весь трафик между облаком и сетями потребителей не является MPLS-помеченным (например, IP).
Рисунок 4.1 – Сеть MPLS
Собственные маршрутизаторы потребителей на краю сети потребителя (CE) взаимодействуют с маршрутизаторами на краю сети провайдера, также называемые краевыми маршрутизаторами меток (Label Edge Routers) - LER, являющихся собственностью провайдера услуг. В точке входа сети MPLS (входящий поток) маршрутизаторы LER добавляют метки пакетам. В точке выхода сети MPLS маршрутизаторы LER удаляют метки. В пределах облака MPLS маршрутизаторы провайдера, называемые коммутирующими маршрутизаторами меток (Label Switching Routers) - LSR последовательно коммутируют трафик, основываясь на метках MPLS.
Прежде чем направить трафик в сеть MPLS, маршрутизаторы LER сначала организуют LSP через сеть MPLS до удаленных LER.
Входной LER анализирует заголовок пришедшего извне пакета, устанавливает, какому FEC он принадлежит, чтобы связать его с определённым уровнем качества, снабжает этот пакет меткой, которая присвоена данному FEC, и пересылает пакет к соответствующему LSR. Пакет продолжает движение по LSP, при этом каждый промежуточный маршрутизатор LSR заменяет метки, как определено информацией в его базе меток LIB, чтобы направить пакет на следующий транзитный участок. В LER точки выхода последняя метка MPLS удаляется, и пакет передается с использованием традиционных механизмов маршрутизации. Затем пакет направляется в сеть потребителя.
Итак, метка, помещаемая в некоторый пакет, представляет FEC, к которому этот пакет относится. Как правило, отнесение пакета к определенному классу производится на основе сетевого адреса получателя.
Метки для каждого FEC всегда назначаются «снизу», то есть либо выходным LER, либо тем LSR, который является для этого FEC «нижним» (расположенным ближе к адресату), и распределяются им по тем маршрутизаторам, которые расположены «выше» (ближе к отправителю).
Для распределения меток может использоваться специальный протокол LDP (Label Distribution Protocol)— протокол распределения информации о привязке меток к FEC.
Каждый LSR содержит таблицу, которая ставит в соответствие паре величин «входной интерфейс, входящая метка» пару величин «выходной интерфейс, исходящая метка». Получив пакет, LSR определяет для него выходной интерфейс (по входящей метке и по номеру интерфейса, куда пакет поступил). Входящая метка заменяется исходящей (записанной в соответствующем поле таблицы), и пакет пересылается к следующему LSR. Вся операция требует лишь одноразовой идентификации значений в полях одной строки таблицы и занимает гораздо меньше времени, чем сравнение IP-адреса отправителя с адресным префиксом в таблице маршрутов при традиционной маршрутизации.
Поскольку принадлежность пакетов тому или иному FEC определяется не только IP-адресом, но и другими параметрами, нетрудно организовать разные LSP для потоков пакетов, предъявляющих разные требования к QoS. Каждый FEC обрабатывается отдельно от остальных - не только в том смысле, что для него образуется свой LSP, но и в смысле доступа к общим ресурсам (полосе пропускания канала, буферному пространству). Поэтому технология MPLS позволяет очень эффективно поддерживать требуемое QoS, соблюдая предоставленные пользователю гарантии.