Тема 3. MPLS для ускорения маршрутизации – MPLS IGP Тема 3. MPLS для ускорения маршрутизации – MPLS IGP Определение FEC Распространение меток с помощью протокола LPD Особенности работы MPLS поверх ATM и FR Конфигурирование MPLS IGP в маршрутизаторах Cisco
Label Distribution Protocol (RFC 3036) Протокол LDP представляет собой набор процедур, с помощью которых один Label Switch Router (LSR) информирует другой о значении меток, используемых для продвижения пакетов между ними и через них. LDP отображает маршрутную информацию сетевого уровня информацию непосредственно на коммутируемый путь LSP канального уровня. LDP связывает Forwarding Equivalence Class (FEC) с путем LSP, который он создает. FEC определяет, какие пакеты будут передаваться, а LSP - по какому пути они пойдут.
LDP-peer Сессия и сообщения LDP Двусторонний протокол, позволяющий одному LDP- peer узнать отображение FEC-labels другого 4 типа сообщений LDP: Discovery messages - объявление и обнаружение LSR в сети Session messages - установление, управление и завершение сессий между LDP-peers Advertisment messages - создание, изменение и удаление отображений меток для классов FEC Notification messages - сообщения об ошибках и информация для мониторинга
1. Discovery message - Hello Сообщение Hello рассылается периодически всем LSR подсети по известному групповому IP-адресу. Используется протокол UDP и известный LDP-порт Сообщения Hello 2. LSR, знающий о других LSR, может установить с каким-либо LSR сессию LDP, пользуясь сообщением Initialization из группы Session LDP
3. Запрос (request) и объявление (advertisement) отображения метки Request FEC 2 Advertisment Label=124 LSR запрашивает отображение метки тогда, когда ему это необходимо и объявляет отображение метки тогда, когда считает это нужным или по запросу
Формат сообщения Label Request
Формат сообщения Label Mapping Связывание
Полный набор сообщений протокола LDP
Задание FEC в протоколе LDP FEC определяет набор пакетов, которые продвигаются по определенному пути LSP FEC является набором элементов FEC Каждый элемент FEC задает подмножество пакетов, отображаемых на данный LSP Элемент 1Элемент 2Элемент 3 FEC Агрегирование – несколько потоков объединяются в один за счет использования нескольких элементов
Два типа элементов FEC в протоколе LDP 1. Address Prefix Длина от 0 до 32 бит /9 2. Host address - точный адрес назначения Address Prefix длиной в 32 бита и Host Address, имеющие одинаковое значение, оказывают различное значение на набор пакетов данного LSP
Правила отображения определенного пакета на определенный LSP Если есть в точности один путь LSP, который имеет FEC- элемент Host Address, идентичный адресу назначения пакета, то пакет отображается на этот LSP Если есть несколько путей LSP, каждый из которых имеет FEC-элемент Host Address, идентичный адресу назначения пакета, то пакет отображается на один из этих LSP. Выбор одного из этих LSP стандартом не определяется Если адрес пакета имеет префикс, совпадающий с FEC- элементом Address Prefix только одного LSP, то пакет отображается на данный LSP
Если адрес пакета имеет префикс, совпадающий с FEC- элементами Address Prefix нескольких LSP, то пакет отображается на тот LSP, который имеет более длинный префикс. Если все FEC-элементы имеют префиксы равной длины, то выбирается любой из путей LSP (выбор стандартом не определяется). Если известно, что пакет должен пересечь определенный выходной (из сети MPLS) маршрутизатор, и имеется LSP, у которого есть FEC-элемент с префиксом, совпадающим с адресом этого маршрутизатора, то пакет отображается на этот LSP. Процедура получения таких знаний стандартом не определяется Пример такой ситуации: Адрес выходного маршрутизатора получен по протоколу iBGP как адрес Next Hop Правила отображения определенного пакета на определенный LSP (продолжение)
Следствия из правил отображения пакетов Пакет может быть направлен по пути, имеющего Address Prefix FEC-элемент с префиксом, совпадающим с префиксом пакета, только в том случае, когда нет путей с Host Address FEC- элементом, совпадающим с адресом назначения пакета. Пакет может быть послан по пути, определяемому адресом выходного маршрутизатора, если нет путей, имеющих FEC-элементы с адресом или префиксом адреса назначения пакета
Пространства меток LSR может использовать для отображения FEC на путь пространства меток двух типов: 1. Специфические для интерфейса (interface-specific). Все метки пространства применимы только только в пределах одного интерфейса, на других интерфейсах метки данного пространства не используются, поэтому из значения могут повторяться. Такой тип пространства меток используется при связях «точка-точка» двух LSR. Примеры: метки VCI интерфейса АТМ, метки DLCI интерфейса frame relay 2. Специфические для платформы метки (platform- specific). Метки пространства уникальны в пределах LSR (платформы). Применяется для разделяемых связей (например, Ethernet)
103 Порт 3 Порт 4 Коммутатор не может ошибиться и спутать пакет синего LSP, помеченный меткой 103, с пакетом зеленого LSP, помеченный меткой 103, так как они всегда приходят при связях «точка-точка» на разные порты.
103 При связях с множественным доступом метки должны быть уникальными в пределах LSR
Идентификатор пространства меток В качестве идентификатора LSR может использоваться IP-адрес: : :2
Распределение меток в LDP 2 метода (method): Downstream On Demand - распределение по запросу. Downstream LSR получает запрос от Upstream LSR и назначает метку запрошенному FEC Downstream Unsolicited - распределение без запроса в восходящем направлении. Downstream LSR назначает метку FEC без предварительного запроса и передает ее Upstream LSR. В рамках одной LDP-сессии может использоваться только один из методов
2 режима (mode) управления распределением : Независимый - Independent Label Distribution Control Каждый LSR может выполнить назначение и распространение метки, не дожидаясь получения метки от нисходящего LSR - обычно, при обнаружении нового маршрута (по протоколу маршрутизации) - при методе Downstream On Demand - не дожидаясь, когда нисходящий LSR ответит на запрос - при методе Downstream Unsolicited - в любой момент, когда данный LSR готов объявить о привязке метки к FEC Упорядоченный - Ordered Label Distribution Control Начать процесс назначения метки может только последний LSR на пути (egress LSR) Применяется при Constraint-based Routing - путь выбирается не только по адресу назначения Режимы управления распределением меток
Борьба с зацикливанием запросов на распределение меток В сообщениях Label Request и Label Mapping передаются два параметра: Path Vector - последовательность идентификаторов LSR, через которые прошло сообщение (подобно номерам AS, которые пересекло сообщение Update протокола BGP) Hop Count - общее количество LSR, которые пересекло сообщение. Вводится лимит - аналог TTL.
Условия генерация сообщения Label Mapping в независимом режиме управления: 1. LSR распознал новый класс FEC из своей таблицы маршрутизации, при этом режим объявлений - Downstream Unsolicited 2. LSR получил сообщение Request Label от своего восходящего соседа для FEC, присутствующего в его таблице маршрутизации 3. Следующий хоп для некоторого FEC изменился 4. Получено отображение метки от нисходящего LSR И a) восходящее отображение пока не сделано ИЛИ b) сконфигурировано обнаружение петель
Условия генерация сообщения Label Mapping в упорядоченном режиме управления: 1. Если LSR распознал новый FEC в своей таблице маршрутизации, и LSR является выходным LSR для данного FEC 2. LSR получил сообщение Request Label для FEC, присутствующего в его таблице маршрутизации, и данный LSR является выходным для этого FEC или имеет нисходящее отображение для этого FEC 3. Следующий хоп для FEC изменился 4. Получено отображение метки от нисходящего LSR И a) восходящее отображение пока не сделано ИЛИ b) сконфигурировано обнаружение петель
Условия генерации сообщения Label Request 1. LSR распознал новый FEC из своей таблицы маршрутизации, следующий хоп - это LDP-peer, а LSR еще не имеет отображения от следующего хопа для данного FEC 2. Изменился следующий хоп для некоторого FEC, и LSR еще не имеет отображения от нового следующего хопа 3. LSR получил запрос Label Request на FEC от восходящего LDP-peer, и LSR еще не имеет отображения от следующего хопа
Пример установления путей LSP Prefix= /16 Prefix= /9 Prefix= /24 Prefix= /8 Prefix= /16 Prefix= /24 LSR1 LSR2 LSR3 LSR4 LSR5 LSR6 LSR LSR4 IP Dest. Next Hop LSR LSR LSR LSR LSR2 1. Запрос Label Request от LSR1 (LRE) к LSR4 FEC = ( /16; /9; ) 2. Запрос Label Request от LSR4 к LSR5 FEC = ( /16; /9; ) 3. Ответ Label Mapping от LSR5 к LSR4 FEC = ( /16; /9; ) Label = Ответ Label Mapping от LSR4 к LSR1 FEC = ( /16; /9; ) Label =
Пример установления путей LSP Prefix= /16 Prefix= /9 Prefix= /24 Prefix= /8 Prefix= /16 Prefix= /24 LSR1 LSR2 LSR3 LSR4 LSR5 LSR6 LSR LSR4 IP Dest. Next Hop LSR LSR LSR LSR LSR
Соответствие агрегатов потоков в соседних LSR – слияние потоков LSR9 LSR7 LSR3 L = / /24 LSR3: FEC1 = /24, serial1 ->in103 FEC2 = /24, serial1->in104 FEC3 = /16, serial2 - >in105 FEC4 = /16, serial2 - >in105 LSR9: FEC1 = /24, /16 ->in200
Соответствие агрегатов потоков в соседних LSR – расщепление потоков (возможно при независимом управлении распределением меток) LSR9 LSR7 LSR3 L = / /24 LSR7: FEC1 = /24, serial1 ->in201 FEC2 = /16, serial2 - >in202 LSR9: FEC1 = /24, /16 ->in200 Можно отобразить метку 200 на любую метку (201 или 202), если знать, что оба потока выходят через один LER
Пример агрегирования FEC и слияния меток Prefix= /16 Prefix= /9 Prefix= /24 LSR1 LSR2 LSR3 LSR4 LSR5 LSR6 LSR LSR4 IP Dest. Next Hop LSR LSR LSR LSR LSR LSR LSR2 IP Dest. Next Hop LSR LSR LSR LSR LSR > > 205 Отображения меток в LSR4:
Агрегирование и АТМ Обычно АТМ коммутаторы не поддерживают слияние виртуальных путей (VC-merge) Причина? Пакеты передаются большим количеством ячеек АТМ, при объединении виртуальных каналов ячейки перемешиваются (interleaves) и собрать пакет в точке назначения становится невозможно!
Совместная работа Merging LSR и Non- Merging LSR LSR9 LSR7 LSR3 Если LSR9 – Non-merging А LSR7 – Merging, то LSR9 отвечает на каждый новый запрос о метке для одного и того же FEC новым значением метки, но отображает их всех на одну выходную метку Составьте таблицы FTN и NHFLE для LSR9 и LSR7 для двух FEC FEC1 = /24 FEC2 = /16
Иерархические пути, стек меток и туннелирование AS 1 AS 2 LER4 LER1 LER3 LER2 LSR 1 LSR 4 LSR 3 LSR 5 LSR 3 LSR 2 LSP 1: LER1, LER2, LER3, LER4 - общение по BGP LSP2: LSR1, LSR2, LSR3, LSR4 - по OSPF LSP3: LSR3, LSR4, LSR5 - по OSPF
Иерархические пути, стек меток и туннелирование AS 1 AS 2 LER4 LER1 LER3 LER2 LSR 1 LSR 4 LSR 3 LSR 5 LSR 3 LSR IP IP IP IP IP 315 IP 455 IP IP IP455 IP
Методы распространения иерархии меток AS 1 AS 2 LER4 LER1 LER3 LER2 LSR 1 LSR 4 LSR 3 LSR 5 LSR 3 LSR 2 LSP Местные соседи по распределению меток – local label distribution peers Дальние соседи по распределению меток – remote label distribution peers
Методы распространения иерархии меток (2) 1 вариант: Дальние соседи направленно посылают метки друг другу, как если бы они были местными 2 вариант: Дальние соседи косвенно посылают метки друг другу, помещая их в стек сообщений LDP и направляя местным соседям для передачи дальним – более масштабированное решение
Создание агрегированного пути для определенной выходной точки MPLS домена Если Ingress LER знает, что разные пути разных FEC будут заканчиваться в одной точке сети (общий egress LER), то он может объединить их в одни FEC
Особенности работы MPLS в случае АТМ на канальном уровне PPP Header Layer 3 Header Shim Header Метод размещения стека меток в кадре 2-го уровня называется «кодированием стека» - stack encoding Хотелось бы использовать имеющееся поле VPI/VCI и меньше изменять имеющуюся аппаратуру и ПО продвижения в АТМ-коммутаторах
Особенности работы MPLS в случае АТМ на канальном уровне (2) HEC CLP PTI VCI GFC VPI Label Shim 1 Shim 2 Существует несколько методов кодирования стека меток в АТМ А) Метка помещается в поле VPI/VCI SVC Encoding Недостаток – не поддерживается иерархия путей, нельзя выполнить операцию pop
Особенности работы MPLS в случае АТМ на канальном уровне (3) HEC CLP PTI VCI GFC VPI Label1 Label2 Shim 1 Shim 2 B) Top-level метка помещается в поле VPI, а следующая из стека метка – в поле VCI SVP Encoding Преимущества – поддерживается иерархия Недостаток – не всегда можно использовать поле VPI, если два ATM-LSR соединяются через сеть non-MPLS ATM-коммутаторов (почему?)
Особенности работы MPLS в случае АТМ на канальном уровне (4) HEC CLP PTI VCI GFC VPI L1 L2 ID Shim 1 Shim 2 B) Top-level метка помещается в поле VPI, а следующая из стека метка – в поле VCI, а в оставшиеся биты VCI помещается идентификатор upstream LSR SVP Multipoint Encoding Преимущества – позволяет агрегировать потоки в АТМ коммутаторах, не поддерживающих VC Merge
Методы, исключающие перемешивание ячеек разных пакетов при агрегировании путей 1.Использование кодирования стека SVP Multipoint Encoding – пакеты можно собрать, так как в поле VCI имеется признак виртуального пути, по какому они шли до агрегирования 2.Буферизация всех ячеек одного пакета (по полю AAL5 End of frame indicator), затем отправка на выходной порт агрегированного потока – свойство VC-merge АТМ коммутатора