Очереди и алгоритмы их обслуживания — основа QoS
Механизмы очередей используются в любом сетевом устройстве, где применяется коммутация пакетов — маршрутизаторе, коммутаторе локальной или глобальной сети, конечном узле.
Необходимость в очереди возникает в периоды временных перегрузок, когда сетевое устройство не успевает передавать поступающие пакеты на выходной интерфейс. Если причиной перегрузки является процессорный блок сетевого устройства, то необработанные пакеты временно помещаются во входную очередь, т. е. в очередь на входном интерфейсе.
Стратегия FlFO
Принцип алгоритма FIFO (рисунок 3.5) состоит в следующем. В случае перегрузки пакеты помещаются в очередь, а если перегрузка устраняется или уменьшается, пакеты передаются на выход в том порядке, в котором поступили («первым пришел — первым ушел», First In — First Out).
Рисунок 3.5 – Очередь FIFO
Этот алгоритм обработки очередей по умолчанию применяется во всех устройствах с коммутацией пакетов. Он отличается простотой реализации и отсутствием потребности в конфигурировании, однако имеет принципиальный недостаток — дифференцированная обработка пакетов различных потоков невозможна. Очереди FIFO необходимы для нормальной работы сетевых устройств, но они не справляются с поддержкой дифференцированного качества обслуживания.
Такая схема приемлема, если исходящий канал имеет достаточно большую свободную полосу пропускания.
Приоритетное обслуживание очередей
В сетевом устройстве имеется несколько очередей, в соответствии с количеством классов. Поступивший в период перегрузки пакет помещается в очередь согласно его приоритету. На рисунке 3.6 приведен пример использования трёх приоритетных очередей: с высоким, средним и низким приоритетом. Приоритеты очередей имеют абсолютный характер предпочтения при обработке: пока из более приоритетной очереди не будут выбраны все пакеты, устройство не переходит к обработке следующей, менее приоритетной. Поэтому пакеты со средним приоритетом всегда обрабатываются только тогда, когда очередь пакетов с высоким приоритетом пуста, а пакеты с низким приоритетом — только, когда пусты все вышестоящие очереди.
Рисунок 3.6 – Очереди с приоритетами
Конечный размер буферной памяти сетевого устройства предполагает некоторую предельную длину каждой очереди. Пакет, поступивший в то время, когда буфер заполнен, просто отбрасывается.
Приоритетное обслуживание очередей обеспечивает высокое качество сервиса для пакетов из самой приоритетной очереди. Что же касается остальных классов приоритетов, то качество их обслуживания ниже, чем у пакетов с наивысшим приоритетом, причем предсказать уровень снижения затруднительно. Оно может быть довольно существенным, если высокоприоритетные данные передаются с большой интенсивностью.
Взвешенные настраиваемые очереди
Алгоритм взвешенных очередей (Weighted Queuing) разработан для того, чтобы для всех классов трафика можно было предоставить определенный минимум пропускной способности или удовлетворить требования к задержкам. Под весом какого-либо класса понимается доля выделяемой данному виду трафика пропускной способности выходного интерфейса. Алгоритм, в котором вес классов трафика может назначаться администратором, называется «настраиваемой очередью». Трафик делится на несколько классов, и для каждого вводится отдельная очередь пакетов. С каждой очередью связывается доля пропускной способности выходного интерфейса, гарантируемая данному классу трафика при перегрузках этого интерфейса. В примере, приведенном на рисунке 3.7, устройство поддерживает пять очередей для пяти классов трафика. Этим очередям соответствует 10, 10, 30, 20 и 30% пропускной способности выходного интерфейса при перегрузках.
Рисунок 3.7 – Взвешенные настраиваемые очереди
Поставленная цель достигается благодаря тому, что очереди обслуживаются последовательно и циклически, и в каждом цикле из каждой очереди забирается такое число байт, которое соответствует весу очереди. Например, если цикл просмотра очередей в рассматриваемом примере равен 1 сек, а скорость выходного интерфейса составляет 100 Мбит/с, то при перегрузках в каждом цикле из первой очереди забирается 10 Мбит данных, из второй тоже 10 Мбит, из третьей — 30 Мбит, из четвертой — 20 Мбит, из пятой — 30 Мбит. В результате каждому классу трафика достается гарантированный минимум пропускной способности, что во многих случаях является более желательным результатом, чем подавление низкоприоритетных классов высокоприоритетным.
Точные значения параметров QoS для алгоритма взвешенного обслуживания предсказать трудно. Они существенным образом зависят от динамически изменяющихся параметров нагрузки сетевого устройства — интенсивности пакетов всех классов и вариаций промежутков времени между прибытием пакетов. В общем случае взвешенное обслуживание приводит к большим задержкам и их отклонениям, чем первоочередное обслуживание для самого приоритетного класса, даже при значительном превышении выделенной пропускной способности над интенсивностью входного потока данного класса. Но для более низких приоритетных классов взвешенное справедливое обслуживание часто оказывается более приемлемым с точки зрения создания благоприятных условий обслуживания всех классов трафика.
Взвешенное справедливое обслуживание (Weighted Fair Queuing, WFQ)
Взвешенное справедливое обслуживание — это комбинированный механизм обслуживания очередей, сочетающий приоритетное обслуживание со взвешенным (рисунок 3.8). Этот механизм предусматривает существование одной особой очереди, которая обслуживается по приоритетной схеме — всегда в первую очередь и до тех пор, пока все заявки из неё не будут исполнены. Эта очередь предназначена для системных сообщений, сообщений управления сетью и, возможно, пакетов наиболее критических и требовательных приложений. Во всяком случае, предполагается, что её трафик имеет невысокую интенсивность, поэтому значительная часть пропускной способности выходного интерфейса остается другим классам трафика.
Рисунок 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, вставляемый в пакет данных (Рисунок 4.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, соблюдая предоставленные пользователю гарантии.
Построение коммутируемого маршрута
Сеть MPLS автоматически создает путь LSP с помощью протокола LDP. Сначала посредством многоадресной рассылки сообщений UDP коммутирующие маршрутизаторы LSR определяют свое «соседство» в рамках протокола LDP. Это необходимо для реализации туннельной передачи. После того как соседство установлено, LDP открывает транспортное соединение между участниками сеанса с помощью протокола ТСР. По этому соединению передаются запросы на установку привязки и сама информация о привязке. Кроме того, участники сеанса периодически проверяют работоспособность друг друга, отправляя тестовые сообщения. Рассмотрим на примере, как происходит заполнение таблиц меток по протоколу LDP (рис. 4.2).
На стадии A каждое из устройств сети MPLS строит базу топологической информации, задействуя любой из современных протоколов маршрутизации (на схеме — OSPF).
На стадии B маршрутизаторы сети MPLS применяют процедуру нахождения соседних устройств и устанавливают с ними сеансы LDP.
Рисунок 4.2 – Построение коммутируемого маршрута
На стадии С LER 2 на основе анализа собственных таблиц маршрутизации обнаруживает, что он является выходным LER для пути, ведущего к IP-сети 193.233.48.0. Тогда LER 2 ассоциирует класс FEC с пакетами, адрес получателя которых соответствует префиксу данной сети, и присваивает этому классу случайное значение метки — в нашем случае 18. Получив привязку, протокол LDP уведомляет верхний маршрутизатор LSR (LSR 1) о том, что потоку, адресованному сети с префиксом 193.233.48, присвоена метка 18. LSR 1 помещает это значение в поле выходной метки своей таблицы.
На стадии D устройство LSR 1, которому известно значение метки для потока, адресованного на префикс 193.233.48, присваивает собственное значение метки 33 данному FEC и уведомляет верхнего соседа (LER 0) об этой привязке. Теперь LER 0 записывает полученную информацию в свою таблицу. После завершения данного процесса все готово для передачи пакетов из сети «клиента» в сеть с адресом 193.233.48.0, т.е. по выбранному пути LSP.
Дата добавления: 2016-04-06; просмотров: 1032;