14.2 Настройка MPLS
14.2.1 Введение в функцию
MPLS (Multiprotocol Label Switching) — мультипротокольная технология, потому что её методы применимы к любому сетевому протоколу на уровне сети. В этом документе мы сосредоточены на использовании IP в качестве протокола уровня сети.
Заголовки пакетов содержат гораздо больше информации, чем нужно для простого выбора следующего хопа. Выбор следующего хопа можно рассматривать как составление двух функций. Первая функция разделяет весь набор возможных пакетов на набор "Forwarding Equivalence Classes (FECs)". Вторая функция отображает каждый FEC на следующий хоп. В том, что касается решения о перенаправлении, разные пакеты, попавшие в один и тот же FEC, считаются неразличимыми. Все пакеты, принадлежащие определённому FEC и путешествующие от определённого узла, следуют по одному и тому же пути (или, если используется многопутевая маршрутизация, они следуют по одному из путей, связанных с FEC). В обычной маршрутизации IP конкретный маршрутизатор будет считать два пакета находящимися в одном и том же FEC, если в его таблицах маршрутизации есть префикс X, такой что X является "longest match" для адреса назначения каждого пакета. Пока пакет проходит через сеть, каждый хоп в свою очередь повторно анализирует пакет и присваивает ему FEC.
В MPLS присвоение конкретного пакета конкретному FEC происходит только один раз, когда пакет входит в сеть. FEC, которому присвоен пакет, кодируется в виде короткого фиксированного значения, известного как "label". Когда пакет перенаправляется на следующий хоп, метка отправляется вместе с ним, то есть пакеты "labeled" перед тем, как быть перенаправленными. На последующих хопах дальнейший анализ заголовка сетевого уровня пакета не производится. Вместо этого метка используется как индекс в таблице, которая указывает следующий хоп и новую метку. Старая метка заменяется новой, и пакет перенаправляется на следующий хоп.
В парадигме MPLS, как только пакету присваивается FEC, последующие маршрутизаторы не проводят дополнительного анализа заголовка пакета; все перенаправления осуществляются с использованием меток.
14.2.2 Конфигурация
Настройка MPLS LSP

Рисунок 14-2: Модель MPLS LSP
Настройка должна выполняться на всех коммутаторах, если идентификатор устройства (ID) не указан.
Шаг 1: Вход в режим настройки
Switch# configure terminal
Шаг 2: Настройка интерфейсов и включение label switching
Настройка интерфейса для PE1:
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# ip address 11.11.9.1/24
Switch(config-if)# label-switching
Switch(config-if)# exit
Switch(config)# interface eth-0-1
Switch(config-if)# no switchport
Switch(config-if)# ip address 10.10.10.1/24
Switch(config-if)# label-switching
Switch(config-if)# exit
Настройка интерфейса для P:
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# ip address 11.11.9.2/24
Switch(config-if)# label-switching
Switch(config-if)# exit
Switch(config)# interface eth-0-17
Switch(config-if)# no switchport
Switch(config-if)# ip address 11.11.17.2/24
Switch(config-if)# label-switching
Switch(config-if)# exit
Настройка интерфейса для PE2:
Switch(config)# interface eth-0-17
Switch(config-if)# no switchport
Switch(config-if)# ip address 11.11.17.3/24
Switch(config-if)# label-switching
Switch(config-if)# exit
Switch(config)# interface eth-0-1
Switch(config-if)# no switchport
Switch(config-if)# ip address 20.20.20.1/24
Switch(config-if)# label-switching
Switch(config-if)# exit
Шаг 3: Настройка статических FTN/ILM
Статический ftn для PE1:
Switch(config)# mpls ftn-entry 172.22.4.1/24 100 11.11.9.2
Статический ilm для P:
Switch(config)# mpls ilm-entry swap 100 11.11.17.3 200
Статический ilm для PE2:
Switch(config)# mpls ilm-entry php 200 20.20.20.2
Шаг 4: Проверка
Отображение FTN на PE1:
PE1# show mpls ftn-database
Codes: > - selected FTN, p - stale FTN, B - BGP FTN, K - CLI FTN,
L - LDP FTN, R - RSVP-TE FTN, S - SNMP FTN, I - IGP-Shortcut,
U - unknown FTN
Code FEC Out-Label Nexthop Out-Intf
K> 172.22.4.0/24 100 11.11.9.2 eth-0-9
Отображение ILM на P:
P# show mpls ilm-database
Codes: > - selected ILM, p - stale ILM, B - BGP ILM, K - CLI ILM,
L - LDP ILM, R - RSVP-TE ILM, S - SNMP ILM, I - IGP-Shortcut,
U - unknown ILM
Code FEC I/O Label Nexthop Out-Intf
K> 0.0.0.0/0 100/200 11.11.17.3 eth-0-17
Отображение ILM на PE2:
PE2# show mpls ilm-database
Codes: > - selected ILM, p - stale ILM, B - BGP ILM, K - CLI ILM,
L - LDP ILM, R - RSVP-TE ILM, S - SNMP ILM, I - IGP-Shortcut,
U - unknown ILM
Code FEC I/O Label Nexthop Out-Intf
K> 0.0.0.0/0 200/3 20.20.20.2 eth-0-1