«Многопротокольная коммутация по метке» (Multi-Protocol Label Switching, далее - MPLS) является технологией быстрой коммутации пакетов, работающей с любым протоколом сетевого уровня [RFC3031]. MPLS сочетает в себе преимущества, изначально заложенные в технологию ATM - с точки зрения коммутации, и в технологию IP - с точки зрения маршрутизации. MPLS позволяет осуществлять быстрое перенаправление пакетов. В общем, принципы MPLS совпадают с принципами функционирования виртуальных каналов и трактов (VCI/VPI) в технологии ATM. Своим появлением технология MPLS обязана таким более ранним проектам как:
• ІР-коммутация фирмы Ascend, принадлежащая на данный момент Lucent Technologies [Lucent];
• ІР-коммутация фирмы Ipsilon [IPSW96];
• ІР-коммутация ARIS фирмы IBM [ARIS971;
• коммутация по метке фирмы Cisco [RFC2105];
• архитектура маршрутизатора с коммутацией ячеек фирмы Toshiba [RFC2098].
С точки зрения поддержки качества обслуживания, MPLS является мощным решением по сравнению с решениями, базирующимися просто на протоколе IP. MPLS предоставляет возможность перенаправления пакетов по произвольным маршрутам, являющимися не только наикратчайшими, таким образом, позволяя провайдерам в рамках своей сети оптимизировать распределение трафика с различными требованиями по качеству обслуживания. Также MPLS поддерживает использование механизмов управления трафиком, например, маркировка пакетов, управление очередями и пр., что делает эту технологию очень привлекательной.
Рис. 4.20. Принцип функционирования MPLS
MPLS функционирует между вторым (канальным, или звена данных) и третьим (сетевым) уровнями модели OSI и TCP/IP, т.е. очевидно, что скорость функционирования этого протокола априори выше скорости функционирования протокола IP. Далее для удобства маршрутизатор, поддерживающий функции MPLS и, соответственно, осуществляющий только лишь перенаправление пакета в соответствии со значением метки, будем называть LSR (Label Switched Router). Пограничным входящим маршрутизатором LSR в каждый пакет, поступающий в сегмент MPLS, инкапсулируется заголовок MPLS, состоящий из полей метки, класса услуги, индикатора стека меток и времени жизни пакета. Эта информация определяется в соответствии с содержимым заголовка исходного пакета IP и данными текущего LSR.
Поле метки обеспечивает заданное качество обслуживания, т.к. его значение соответствует заранее определенному на всех LSR классу обслуживания, называемому FEC (Forwarding Equivalence Class), т.е. при определении значения поля метки данного пакета осуществляется определение его класса обслуживания. Далее внутри рассматриваемого сегмента MPLS маршрутизация осуществляется по содержимому поля метки, т.е. процедура сведена к простому просмотру таблицы маршрутизации и определению адреса следующего LSR, что существенно проще по сравнению со стандартной 1Р-маршрутизацией.
При выходе пакета из сегмента MPLS специфический заголовок исключается, и далее пакет маршрутизируется с использованием стандартных для данной сети методов и протоколов маршрутизации. Маршрут от пограничного входящего до пограничного исходящего LSR называется «маршрут, скоммутированный по метке» (Label Switched Path, далее - LSP). Отметим, что на каждом очередном LSR значение поля метки может изменяться, т.е. значение поля метки является уникальным для каждой пары соединенных LSR. Маршрутизация (переназначение метки) в каждом транзитном LSR реализуется при помощи так называемой компоненты «метки маршрута следующего шага» (Next-Hop Label Forwarding Entry, далее - NHLFE), состоящей из следующих частей:
• информации о следующем шаге при маршрутизации «шаг за шагом»;
• ряда функций по работе со стеком (см. далее) меток;
• информации о приоритете пакета.
В каждом LSR также реализованы следующие функции:
• «соответствия входящей метки» (Incoming Label Мар, далее - ILM), задачей которой является установление соответствия между входящими метками и набором компонент NHLFE при маршрутизации пакетов с метками;
• «соответствия FEC компоненте NHLFE» (FEC-to-NHLFE, далее - FTN), задачей которой является установление соответствия между
FEC и набором компонент NHLFE при маршрутизации пакетов без метки, причем в результате маршрутизации пакетам назначаются метки.
Отметим, что в случае установления соответствия набору компонент NHLFE (как ILM, так и FTN) содержащему более одного элемента, при маршрутизации некоторого пакета только лишь один элемент из набора может быть выбран, т.е., например, между несколькими маршрутами одинаковой стоимости возможно балансировать нагрузку путем последовательного выбора элементов из набора компонент NHLFE.
Для осуществления автоматического контроля и распределения информации между маршрутизаторми LSR об установленных FTN примененяется «протокол распределения меток» LDP (Label Distribution Protocol) [RFC3036], Отметим, что для успешного функционирования протокола LDP необходимо иметь достаточно большое количество служебной информации, а также доступ к ресурсам. Для этого в протоколы маршрутизации BGP-4 и резервирования ресурсов RSVP был внесен ряд дополнений [RFC3107J и [RFC3209], соответственно.
Выбор типа маршрутизации внутри сегмента MPLS заключается в установлении соответствия между классом FEC и маршрутом LSP. Существует два возможных варианта:
• маршрутизация «шаг за шагом», в этом случае путь определяется последовательно на каждом LSR, как при обычной IP-маршрутизации;
• «явная» маршрутизация, подразумевающая, что на пограничном входящем LSR определяется индивидуальный маршрут LSP для прохождения данного пакета до пограничного исходящего LSR. В этом случае подобный маршрут LSP обладает свойствами виртуального соединения и ему могут быть выделены определенные ресурсы, следовательно, качество обслуживания может быть гарантированно на всем его протяжении.
На физической сети может определяться несколько виртуальных частных сетей VPN, одна для каждого класса FEC. Эти виртуальные сети имеют разные топологии и ресурсы, поэтому могут обеспечивать различное качество обслуживания, от Premium Service до доступного для Best Effort, а также могут использоваться для постоянной поддержки критичных к уровню QoS-приложений.
Рис. 4.21. Упрощенная структура внутреннего маршрутизатора LSR
Рис. 4.22. Упрощенная структура пограничного входящего маршрутизатора LSR
В MPLS предусмотрена возможность передачи в заголовке пакета целого стека меток, организованного по принципу «последним пришел - первым обслужен» LIFO (Last In First Out). LSR осуществляет маршрутизацию на базе значения верхней метки стека. Нижние значения стека меток передаются прозрачно. Подобный метод позволяет организовывать туннельную передачу, создавать иерархию потоков в сегменте MPLS и создавать туннели внутри сегмента MPLS для управления трафиком в его пределах. Поэтому очевидно, что наибольшее применение технология MPLS получила при решении задач построения виртуальных частных сетей VPN.
Несмотря на достаточное количество положительных качеств MPLS на практике внедрение этой технологии встретило достаточно большое количество как скептиков, так и противников. На сегодняшний день будущее MPLS весьма оптимистично. Сравнительно недавно, в июне 2003 года, альянсом MPLS and Frame Relay Forum [MPLSF] совместно с европейским центром сетевого тестирования EANTC и комитетом ETSI были проведены очередные испытания совместимости и функциональных характеристик оборудования, представленного четырнадцатью производителями [Interop03], Заинтересованный читатель сможет найти исчерпывающую информацию о тестах и их результатах в документе «Enabling a multi-service future. Test Plan and Results», доступном по адресуhttp://mplsforum.org/tech/superdemo_2003.pdf
⇐Реализация функционирования intserv через diffserv | Управление трафиком и качество обслужевания в сети | Протокол cops⇒