6.1. Введение в архитектуру MPLS
6.3. Метки и способы маркировки
6.1. Введение в архитектуру MPLS
MPLS (Multiprotocol Label Switching) - технология быстрой коммутации пакетов в многопротокольных сетях, основанная на использовании меток. MPLS разрабатывается и позиционируется как способ построения высокоскоростных IP-магистралей, но область ее применения не ограничивается протоколом IP, а распространяется на трафик любого маршрутизируемого сетевого протокола. Традиционно главными требованиями, предъявляемыми к технологии магистральной сети, были высокая пропускная способность, малое значение задержки и хорошая масштабируемость. Однако современное состояние рынка диктует новые правила игры. Теперь поставщику услуг недостаточно просто предоставлять доступ к своей IP-магистрали. Изменившиеся потребности пользователей включают в себя и доступ к интегрированным сервисам сети, и организацию виртуальных частных сетей (VPN), и ряд других интеллектуальных услуг.
Для решения возникающих задач и разрабатывается архитектура MPLS, которая обеспечивает построение магистральных сетей, имеющих практически неограниченные возможности масштабирования, повышенную скорость обработки графика и беспрецедентную гибкость с точки зрения организации дополнительных сервисов. Кроме того, технология MPLS позволяет интегрировать сети IP и АТМ, за счет чего поставщики услуг смогут не только сохранить средства, инвестированные в оборудование асинхронной передачи, но и извлечь дополнительную выгоду из совместного использования этих протоколов.
За развитие архитектуры MPLS отвечает рабочая группа с одноименным названием, входящая в секцию по маршрутизации консорциума IETF. В деятельности группы принимают активное участие представители крупнейших поставщиков сетевых решений и оборудования. В архитектуре MPLS собраны наиболее удачные элементы всех упомянутых разработок, и вскоре она должна превратиться в стандарт Internet благодаря усилиям IETF и компаний, заинтересованных в скорейшем продвижении данной технологии на рынок.
6.2. Принцип коммутации
В основе MPLS лежит принцип обмена меток. Любой передаваемый пакет ассоциируется с тем или иным классом сетевого уровня (Forwarding Equivalence Class, FEC), каждый из которых идентифицируется определенной меткой. Значение метки уникально лишь для участка пути между соседними узлами сети MPLS, которые называются также маршрутизаторами, коммутирующими по меткам (Label Switching Router, LSR). Метка передается в составе любого пакета, причем способ ее привязки к пакету зависит от используемой технологии канального уровня.
Маршрутизатор LSR получает топологическую информацию о сети, участвуя в работе алгоритма маршрутизации - OSPF.BGP, IS-IS. Затем он начинает взаимодействовать с соседними маршрутизаторами, распределяя метки, которые в дальнейшем будут применяться для коммутации. Обмен метками может производиться с помощью как специального протокола распределения меток (Label Distribution Protocol, LDP), так и модифицированных версий других протоколов сигнализации в сети (например, незначительно видоизмененных протоколов маршрутизации, резервирования ресурсов RSVP и др.).
Распределение меток между LSR приводит к установлению внутри домена MPLS путей с коммутацией по меткам (Label Switching Path, LSP). Каждый маршрутизатор LSR содержит таблицу, которая ставит в соответствие паре "входной интерфейс, входная метка" тройку "префикс адреса получателя, выходной интерфейс, выходная метка". Получая пакет, LSR пo номеру интерфейса, на который пришел пакет, и по значению привязанной к пакету метки определяет для него выходной интерфейс. (Значение префикса применяется лишь для построения таблицы и в самом процессе коммутации не используется.) Старое значение метки заменяется новым, содержавшимся в поле "выходная метка" таблицы, и пакет отправляется к следующему устройству на пути LSP.
Вся операция требует лишь одноразовой идентификации значений полей в одной строке таблицы. Это занимает гораздо меньше времени, чем сравнение IP-адреса отправителя с наиболее длинным адресным префиксом в таблице маршрутизации, которое используется при традиционной маршрутизации.
Сеть MPLS делится на две функционально различные области - ядро и граничную область. ядро образуют устройства, минимальным требованием к которым является поддержка MPLS и участие в процессе маршрутизации графика для того протокола, который коммутируется с помощью MPLS. Маршрутизаторы ядра занимаются только коммутацией. Все функции классификации пакетов по различным FEC, а также реализацию таких дополнительных сервисов, как фильтрация, явная маршрутизация, выравнивание нагрузки и управление графиком, берут на себя граничные LSR. В результате интенсивные вычисления приходятся на граничную область, а высокопроизводительная коммутация выполняется в ядре, что позволяет оптимизировать конфигурацию устройств MPLS в зависимости от их местоположения в сети. Таким образом, главная особенность MPLS - отделение процесса коммутации пакета от анализа IP-адресов в его заголовке, что открывает ряд привлекательных возможностей. Очевидным следствием описанного подхода является тот факт, что очередной сегмент LSP может не совпадать с очередным сегментом маршрута, который был бы выбран при традиционной маршрутизации. Поскольку на установление соответствия пакетов определенным классам FEC могут влиять не только IP-адреса, но и другие параметры, нетрудно реализовать, например, назначение различных LSP пакетам, относящимся к различным потокам RSVP или имеющим разные приоритеты обслуживания. Конечно, подобный сценарий удается осуществить и в обычных маршрутизируемых сетях, но решение на базе MPLS оказывается проще и к тому же гораздо лучше масштабируется.
Каждый из классов FEC обрабатывается отдельно от остальных - не только потому, что для него строится свой путь LSP, но и в смысле доступа к общим ресурсам (полосе пропускания канала и буферному пространству). В результате технология MPLS позволяет очень эффективно поддерживать требуемое качество обслуживания, не нарушая предоставленных пользователю гарантий. Применение в LSR таких механизмов управления буферизацией и очередями, как WRED, WFQ или CBWFQ, дает возможность оператору сети MPLS контролировать распределение ресурсов и изолировать трафик отдельных пользователей.
Использование явно задаваемого маршрута в сети MPLS свободно от недостатков стандартной IP-маршрутизации от источника, поскольку вся информация о маршруте содержится в метке и пакету не требуется нести адреса промежуточных узлов, что улучшает управление распределением нагрузки в сети.
Основные преимущества технологии MPLS:
1. Отделение выбора маршрута от анализа IP-адреса (даёт возможность предоставлять широкий спектр дополнительных сервисов при сохранении масштабируемости сети)
2. Ускоренная коммутация (сокращает время поиска в таблицах)
3. Гибкая поддержка QoS ,интегрированных сервисов и виртуальных частных сетей.
4. Эффективное использование явного маршрута
5. Сохранение инвестиций в установленное ATM-оборудование
6. Разделение функциональности между ядром и граничной областью сети.
6.3. Метки и способы маркировки
Метка - это короткий идентификатор фиксированной длины, который определяет класс FEC. По значению метки пакета определяется его принадлежность к определенному классу на каждом из участков коммутируемого маршрута.
Как уже отмечалось, метка должна быть уникальной лишь в пределах соединения между каждой парой логически соседних LSR. Поэтому одно и то же ее значение может использоваться LSR для связи с различными соседними маршрутизаторами, если только имеется возможность определить, от какого из них пришел пакет с данной меткой. Другими словами, в соединениях "точка-точка" допускается применять один набор меток на интерфейс, а для сред с множественным доступом необходим один набор меток на модуль или все устройство. В реальных условиях угроза исчерпания пространства меток очень маловероятна.
Перед включением в состав пакета метка определенным образом кодируется. В случае использования протокола IP она помещается в специальный "тонкий" заголовок пакета, инкапсулирующего IP. В других ситуациях метка записывается в заголовок протокола канального уровня или кодируется в виде определенного значения VPI/VCI (в сети АТМ). Для пакетов протокола IPv6 метку можно разместить в поле идентификатора потока.
6.4. Стек меток
В рамках архитектуры MPLS вместе с пакетом разрешено передавать не одну метку, а целый их стек. Операции добавления/изъятия метки определены как операции на стеке (push/pop). Результат коммутации задает лишь верхняя метка стека, нижние же передаются прозрачно до операции изъятия верхней.
Такой подход позволяет создавать иерархию потоков в сети MPLS и организовывать туннельные передачи. Стек состоит из произвольного числа элементов, каждый из которых имеет длину 32 бита: 20 бит составляют собственно метку, 8 отводятся под счетчик времени жизни пакета, один указывает на нижний предел стека, а три не используются. Метка может принимать любое значение, кроме нескольких зарезервированных. Коммутируемый путь (LSP) одного уровня состоит из последовательного набора участков, коммутация на которых происходит с помощью метки данного уровня (рис. 6.1). Например, LSP нулевого уровня проходит через устройства LSR 0, LSR 1, LSR 3, LSR 4 и LSR 5. При этом LSR 0 и LSR 5 являются, соответственно, входным (ingress) и выходным (egress) маршрутизаторами для пути нулевого уровня. LSR 1 и LSR 3 играют ту же роль для LSP первого уровня; первый из них производит операцию добавления метки в стек, а второй - ее изъятия. С точки зрения графика нулевого уровня, LSP первого уровня является прозрачным туннелем. В любом сегменте LSP можно выделить верхний и нижний LSR по отношению к графику. Например, для сегмента "LSR 4 - LSR 5" четвертый маршрутизатор будет верхним, а пятый - нижним.
Рис. 6.1 - Компоненты коммутируемого соединения
6.5. Привязка и распределение меток
Под привязкой понимают соответствие между определенным классом FEC и значением метки для данного сегмента LSP. Привязку всегда осуществляет "нижний" маршрутизатор LSR, поэтому и информация о ней распространяется только в направлении от нижнего LSR к верхнему. Вместе с этими сведениями могут предаваться атрибуты привязки. Обмен информацией о привязке меток и атрибутах осуществляется между соседними LSR с помощью протокола распределения меток. Архитектура MPLS не зависит от конкретного протокола, поэтому в сети могут применяться разные протоколы сетевой сигнализации. Очень перспективно в данном отношении - использование RSVP для совмещения резервирования ресурсов и организации LSP для различных потоков.
Существуют два режима распределения меток: независимый и упорядоченный. Первый предусматривает возможность уведомления верхнего узла о привязке до того, как конкретный LSR получит информацию о привязке для данного класса от своего нижнего соседа. Второй режим разрешает высылать подобное уведомление только после получения таких сведений от нижнего LSR, за исключением случая, когда маршрутизатор LSR является выходным для этого FEC. Распространение информации о привязке может быть инициировано запросом от верхнего устройства LSR (downstream on-demand) либо осуществляться спонтанно (unsolicited downstream).
6.6. Построение коммутируемого маршрута
Сначала посредством многоадресной рассылки сообщений UDP коммутирующие маршрутизаторы определяют свое "соседство" (adjacency). Кроме близости на канальном уровне, LSR могут устанавливать связь между "логически соседними" LSR, не принадлежащими к одному каналу. Это необходимо для реализации туннельной передачи. После того как соседство установлено, LSR определяет маршрут, по которому должно быть установлено соединение и начинает процедуру установки. От узла к узлу передаются запросы на привязку и собственно привязки соединений MPLS. После того как соединение было успешно установлено, источник периодически отправляет сообщения keepalive, информируя все транзитные LSR о том что соединение еще не разорвано.