Пример статического MPLS
В данном примере выполняется построение MPLS-сети между четырьмя маршрутизаторами путём статической настройки таблиц FTN (FEC To Next Hop и ILM (Incoming Label Map) для организации сквозных LSP. Маршрутизаторы R1 и R4 выполняют роль LER, присваивая и удаляя метки на границах MPLS-домена, а R2 и R3 функционируют как транзитные LSR, осуществляя коммутацию меток на основе предварительно прописанных правил.
Постройте схему в соответствии с рисунком ниже.

Рисунок
Настройте порты и интерфейсы на каждом из маршрутизаторов:
enable
configure
hostname R1
interface 2ge0
label-switching
ip address 10.0.1.1/24
port ge0
service-instance 4ge0
encapsulation untagged
connect ip interface 2ge0enable
configure
hostname R2
interface 2ge0
label-switching
ip address 10.0.1.2/24
port ge0
service-instance 4ge0
encapsulation untagged
connect ip interface 2ge0
interface 2ge1
label-switching
ip address 10.0.2.2/24
port ge1
service-instance 4ge1
encapsulation untagged
connect ip interface 2ge1enable
configure
hostname R3
interface 2ge0
label-switching
ip address 10.0.3.3/24
port ge0
service-instance 4ge0
encapsulation untagged
connect ip interface 2ge0
interface 2ge1
label-switching
ip address 10.0.2.3/24
port ge1
service-instance 4ge1
encapsulation untagged
connect ip interface 2ge1enable
configure
hostname R4
interface 2ge0
label-switching
ip address 10.0.3.4/24
port ge0
service-instance 4ge0
encapsulation untagged
connect ip interface 2ge0На R1 в конфигурационном режиме введите команду: mpls ftn-entry 10.0.3.0/24 111 10.0.1.2 2ge0. Команда вносит правило в FTN (FEC To Next hop) — таблицу сопоставления FEC и NextHop. Цель, к которой нужно проложить путь от R1, — это подсеть 10.0.3.0/24; именно этот префикс является FEC. В качестве входного MPLS-маршрутизатор (Ingress LER) R1 добавляет метку 111 и передаёт пакет на следующий узел — на интерфейс 2ge0 и адрес 10.0.1.2.
На R2 в конфигурационном режиме введите команду: mpls ilm-entry 111 2ge0 swap 222 2ge1 10.0.2.3 10.0.3.0/24. Команда вносит правило в ILM (Incoming Label Map) — таблицу, устанавливающую действие над пришедшим MPLS-пакетом в зависимости от его метки. На R2, пакет пришедший на интерфейс 2ge0 с меткой 111, перенаправляется на интерфейс 2ge1 и адрес 10.0.2.3 с заменой (SWAP) метки на 222.
На R3 в конфигурационном режиме введите команду: mpls ilm-entry 222 2ge1 swap 3 2ge0 10.0.3.4 10.0.3.0/24. Аналогично предыдущему действию, пакет перенаправляется в сторону R4 с меткой 3. Метка 3 имеет специфическое значение неявной нулевой метки (Implicit Null Label) и реализует механизм PHP (Penultimate Hop Popping), снимая метку уже на R3. В результате на R4 придёт уже обычный IP-пакет без MPLS заголовка.
Путь LSP (Label Switching Path) является однонаправленным. Для двусторонней связи необходимо проложить обратный путь.
На R4 в конфигурационном режиме введите команду: mpls ftn-entry 10.0.1.0/24 333 10.0.3.3 2ge0. Это полная аналогия правила введённого на R1, но теперь R4 выступает в роли Ingress LSR, а FEC — это адрес подсети 10.0.1.0/24.
На R3 в конфигурационном режиме введите команду: mpls ilm-entry 333 2ge0 swap 444 2ge1 10.0.2.2 10.0.1.0/24. R3 меняет пакету метку и отправляет дальше по цепочке на R2.
На R2 в конфигурационном режиме введите команду: mpls ilm-entry 444 2ge1 swap 0 2ge0 10.0.1.1 10.0.1.0/24. R2 предпоследний маршрутизатор перед Egress LSR R1. Здесь пакету присваивается специфическая метка 0 (явный нуль, Explicit Null), которая станет сигналом для R1, что метку нужно просто снять (POP) и обрабатывать пакет как обычный IP-пакет. При этом значения QoS и TTL придут на R1 вместе с MPLS-заголовком и будут доступны для обработки. Это можно легко увидеть, если применить анализатор трафика на соединении R1—R2.
На R1 выполните команду ping 10.0.3.4. Связь по всей цепочке R1—R2—R3—R4 построена средствами статического MPLS в обоих направлениях, и вы должны получить успешный обмен ICMP-пакетами.
Обратите внимания, что в примере не была настроена никакая, даже статическая, IP-маршрутизация, но при этом обеспечена связность и происходит успешный обмен данными. Это возможно только благодаря ручному вводу правил с указанием адресов для перехода. В любом другом случае маршрутизаторам будет необходимо каким-то образом “узнать” о сети, доступных соседях и адресах их интерфейсов (например с помощью протокола динамической маршрутизации).
