Стек меток - Многопротокольная коммутация по меткам

пример четырехуровнего стека меток mpls

Рис. 4 Пример четырехуровнего стека меток MPLS

Функциональные возможности стека MPLS позволяют реализовать несколько функций и, в частности, объединить (агрегировать) несколько LSP в один. Концепция стека меток является развитием концепции двухуровневой адресации виртуальных каналов VPI/VPC, принятой в АТМ. Многоуровневый принцип создания путей сокращает время задержки передачи пакета.

Если в одном LSP сливается несколько потоков (каждый поток - со своим FEC и своей меткой), то этот LSP помещает сверху метку нового FEC, который соответствует объединенному потоку пакетов, образующемуся в результате слияния. В точке окончания такого объединенного тракта он разветвляется на составляющие его индивидуальные LSP. Так могут объединяться тракты, имеющую общую часть маршрута. Пример четырехуровнего стека меток приведен на рисунке 4.

Здесь заголовок MPLS № 1 был первым заголовком MPLS, помещенным в пакет, затем в него были помещены заготовки № 2, № 3, № 4. Извлекаются заголовки меток из стека в обратной последовательности (4,3,2,1). Коммутация по меткам всегда использует верхнюю метку стека, метки удаляются из пакета сверху. Каждый заголовок MPLS имеет собственные значения поля ЕХР, S-бита и поля TTL. Заголовок метки №1 на рисунке 4 является самым нижним (S=1). MPLS может выполнять со стеком следующие операции: помещение метки в стек (push), удаление верхней метки из стека (pop), замену метки (swap). На рисунке 5 показан пример использования стека в MPLS при создании путей двух пакетов IP с разными адресами назначения и, соответственно, разными значениями FEC. Сеть состоит из двух MPLS - доменов. В LER1 начинаются два пути (коммутируемых по меткам тракта) - LSP1 и LSP2 (LSP1 для пакета IP1 с адресом получателя А в заголовке и LSP2 для пакета IP2 с адресом получателя В в заголовке). В LER1 метки каждого из этих пакетов (соответственно 305 для первого пакета и 14 - для второго пакета) проталкиваются (push) вниз, а верхней становится в обоих пакетах метка 256. Продвижение обоих пакетов производится по верхней метке, которая на выходе меняет значение (256 на 272).

На предпоследнем LSR2 домене производится удаление (pop) верхней метки. В результате верхней меткой для пакета IP1 становится метка 305, а для IP2 метка 14 уничтожается. LER2 завершает путь LSP2 пакета IP1, передавая его оконечному устройству. LER2 продвигает пакет IP1 на основе таблицы маршрутизации. LER2 заменяет метку 305 на метку 299 и далее через LER3 и LER4 продвигает его по пути LER2 до оконечного пункта А. Приведенный пример двухуровневого пути может быть расширен для любого количества уровней.

пример путей lsp1 и lsp2, проложенных в доменах 1 и 2

Рис. 5 Пример путей LSP1 и LSP2, проложенных в доменах 1 и 2

Таким образом, если в одном маршрутизаторе сливаются несколько потоков (каждый поток со своим FEC и со своей меткой), то этот коммутируемый по меткам тракт (путь) LSP не заменяет метки, связанные с названными потоками, а оставляет их, помещая сверху метку нового FEC, который соответствует объединенному потоку пакетов, образующемуся в результате слияния. Если в промежуточном маршрутизаторе такого объединенного потока происходит слияние еще с одним потоком, то на верху стека устанавливается еще одна метка. Путь LSP1: LERl, LSRl, LSR2, LER2, LER3, LSR3, LER4 пакета IP1 с адресом получателя пункт А. Путь LSP2: LER1, LSR1, LSR2, LER 2 пакета IP2 с адресом получателя пункт В. В результате стек меток позволяет создать древовидную структуру множества трактов LSP, заканчивающихся в одном маршрутизаторе (корне дерева).

Введем понятие уровня m тракта LSP. Маршрут LSP уровня m представляет собой последовательность маршрутизаторов, которая с входного LSR, помещающего в пакет метку уровня m (стек из m заголовков меток), содержит промежуточные LSR, каждый из которых принимает решение о пересылке пакета на основе метки уровня m и заканчивается входным LSR, где решение о пересылке принимается на основе метки уровня m-1 или на основе обычных (не MPLS, а IP) процедур пересылки. От предпоследнего LSR в выходной граничный маршрутизатор можно передавать пакеты со стеком метки глубины (m-1), поскольку метка уровня m выходному LSR не требуется. В предпоследнем LSR производится уничтожение верхней метки стека.

На рис. 6 приведен пример древовидной структуры множества трактов LSP четырех уровней (m=4) для тракта LSP4.

древовидная структура трактов lsp

Рис. 6 Древовидная структура трактов LSP

В таблице 1 приведена структура этих уровней в маршрутизаторах LSR1, LSR2, LSR3, LSR4.

Таблица 1. Структура стека меток тракта LSP4

Уровни LSP

Содержание метки

4

Общая метка LSP1, LSP2, LSP3, LSP4

3

Общая метка LSP2, LSP3, LSP4

2

Общая метка LSP3, LSP4

1

Метка LSP4

Аналогично для LSP3, LSP2, LSP1 древовидная структура представляет соответственно три (для LSP3) и два (для LSP1 и LSP2) уровня тракта LSP.

Маршрутизация пакетов в узле коммутации LSR

Когда пакет MPLS поступает в маршрутизатор коммутации по меткам LSR, этот маршрутизатор производит коммутацию пакета, используя имеющуюся у него таблицу информационной базы меток LIB (Label Information Base). Ниже приведен пример такой таблицы пересылки пакета в MPLS (табл. 2).

Таблица 2

Пример таблицы пересылки LIB

Входящая метка

Первая запись

Вторая запись

Значение входящей метки

Исходящая метка

Исходящая метка

Выходной интерфейс

Выходной интерфейс

Адрес следующего LSR

Адрес следующего LSR

Как видно из таблицы 2, пересылка пакета производится на выходной интерфейс на основании значения метки во входящем в LSR пакете MPLS. При этом в исходящем из LSR пакете указывается адрес следующего LSR и устанавливается новое значение метки. Несколько записей в таблице пересылки (в табл. 2 их две) требуются при многоадресной рассылке пакета. Программное обеспечение LSR может быть разработано в одном из двух вариантов LIB - либо одна общая таблица для LSR, либо их несколько по количеству интерфейсов LSR. Алгоритм формирования привязки метки к FEC предусматривает выделение в LSR отдельного пула "свободных" меток. Эти метки используются для их локальной привязки, а число таких "свободных" меток определяет максимальное число таких пар "метка - FEC", которое может быть установлено в текущий момент работы данного LSR.

Похожие статьи




Стек меток - Многопротокольная коммутация по меткам

Предыдущая | Следующая