Теоретические основы и архитектура
Лабораторная работа объединяет весь модуль: CE-A подключается к PE1 и PE2 одним LACP-пучком, оба PE объявляют один Ethernet Segment (ESI) в режиме all-active, а клиентская подсеть 192.168.100.0/24 живёт в EVI 100 с anycast-шлюзом. Вторая подсеть 192.168.200.0/24 находится в EVI 200 на PE3. Между EVI маршрутизация выполняется симметричным IRB в общем IP-VRF TENANT-A: префиксы подсетей и хосты передаются маршрутами Type 5 и Type 2. Вы проверите маршруты Type 1/2/3/4/5, выбор Designated Forwarder, aliasing, затем выполните тест отказа: отключите линк или PE1 и измерите потерю пакетов. В конце сравните результат с устаревшим вариантом на PW redundancy (active/standby): он показан отдельным блоком только как сопоставление. Предполагается, что подложка IGP/LDP и RR 10.255.0.100 (AS 65000) из предыдущих лабораторных уже работают, а вы знакомы с ESI, Type 5 и IRB из уроков модуля.
Что именно вы строите
Схема объединяет три механизма модуля. Multihoming: CE-A подключён к PE1 и PE2 через один LACP-пучок, оба PE объявляют ES с ESI 00:11:22:33:44:55:66:77:88:10 в режиме all-active. Это даёт маршруты Type 4 (ES), Type 1 per-ES (ESI label, mass withdrawal) и Type 1 per-EVI (aliasing). L2-сервис: EVI 100 соединяет PE1, PE2 и (при необходимости) PE3 по маршрутам Type 2 и Type 3. L3: IP-VRF TENANT-A с симметричным IRB, где подсети 192.168.100.0/24 и 192.168.200.0/24 объявляются Type 5, а хосты - Type 2 с двумя метками. Трафик CE-A -> CE-B проходит L3-lookup на ingress PE (PE1 или PE2), доставляется по метке IP-VRF на PE3, затем L3-lookup на egress PE3 и L2-доставка в EVI 200.
Подготовка и порядок включения
Underlay (OSPF/IS-IS, LDP или SR) и iBGP с RR 10.255.0.100 уже работают, поэтому на RR нужно только активировать address-family l2vpn evpn и назначить route-reflector-client для PE1-PE3. Порядок включения: сначала LACP и ESI (без IRB), затем EVI, потом VRF и IRB, затем Type 5. После каждого шага проверяйте соответствующие маршруты: так вы локализуете ошибку. Одинаковый LACP system-id на PE1 и PE2 задаётся на Junos явно; на других платформах его формирование из настроек ES проверьте командой LACP-статуса. RD уникален на PE (10.255.0.X:100), RT общий; RD IP-VRF тоже уникален на PE, иначе RR выберет один из двух одинаковых маршрутов и потеряет второй путь.
Что показывает каждый тип маршрутов
Type 4 подтверждает, что PE1 и PE2 нашли друг друга по ES-Import RT. Type 1 per-ES c MAX-ET (0xFFFFFFFF) отвечает за mass withdrawal, per-EVI - за aliasing. Type 3 строит списки ingress replication для EVI. Type 2 на PE1 и PE2 содержит MAC и IP CE-A: сначала его объявляет PE, на который хэшем LACP попал трафик CE, но благодаря per-EVI A-D удалённый PE устанавливает оба next hop. Type 5 передаёт префикс подсети с меткой IP-VRF. Если оба PE объявляют одинаковый префикс (оба имеют интерфейс IRB), PE3 строит ECMP из двух next hop с равной стоимостью; именно это ожидается в таблице TENANT-A на PE3.
Тест отказа и сходимость
Рассмотрите три события. 1) Отключение порта на PE1 (shutdown интерфейса): PE1 обнаруживает потерю линка локально, отзывает per-ES A-D и Type 2, удалённые PE сразу исключают PE1 из next hop для MAC этого ES (mass withdrawal); CE-A по LACP перераспределяет поток на оставшийся линк. Потери определяются временем обнаружения LACP/линка и обработкой BGP и обычно измеряются долями секунды (зависит от платформы и нагрузки). 2) Отказ всего PE1 (перезагрузка или обрыв питания): PE1 не может отозвать маршруты; их удаляет RR после падения сессии BGP (hold timer), либо раньше - когда IGP и next hop tracking отмечают недоступность loopback PE1, либо BFD для BGP/IGP. Без BFD и без быстрого обнаружения сессии BGP потери могут длиться десятки секунд. 3) Возврат линка: PE1 заново объявляет ES, запускается DF wait timer (по умолчанию 3 с), DF для VLAN пересчитывается; из-за возврата роли DF возможен краткий разрыв BUM-пересылки.
Сравнение с PW redundancy
В устаревшем варианте (приведён отдельным блоком) PE3 держит основной PW до PE1 и резервный PW до PE2, а CE-A подключён к обоим PE активно/пассивно (например, STP или MC-LAG). Активен один путь, второй простаивает; при отказе PE1 PE3 переключается на резервный PW по PW status или после обнаружения отказа (BFD, LDP keepalive), а таблицы MAC сбрасываются MAC withdrawal. Нет aliasing, нет межподсетевой маршрутизации Type 5, каждый PW настраивается вручную, а число PW растёт с числом клиентов. EVPN даёт стандартное поведение одной общей конфигурацией ES и сервиса, но требует поддержки платформой всех типов маршрутов и согласованных настроек LACP/ESI.
Типичные ошибки и диагностика
Если ping не проходит, идите снизу вверх: (1) LACP и ESI; (2) Type 4 и DF; (3) EVI: Type 2 и Type 3; (4) VRF и IRB: интерфейс привязан к VRF, anycast MAC одинаков; (5) Type 5 и RT IP-VRF; (6) MTU и фильтры. Для теста потерь используйте длительный ping с интервалом 10 мс (rapid ping) и считайте число потерянных запросов: потеря одного запроса при интервале 10 мс примерно соответствует 10 мс простоя. Результат зависит от платформы, поэтому записывайте его в протокол лабораторной вместе с версией ПО.
Схема архитектуры и топология
RR 10.255.0.100 (AS 65000)
|
+---------------------+---------------------+
| | |
+-----+------+ +-----+-----+ +-----+------+
| PE1 |--------| P1 |---------| PE3 |
| 10.255.0.1 | | 10.255.0.11| | 10.255.0.3 |
+-----+------+ +-----+-----+ +-----+------+
| | |
| +-----+-----+ EVI 200, VLAN 200
| | PE2 | 192.168.200.0/24
| | 10.255.0.2| |
| +-----+-----+ +----+----+
| ae10 / Po10 | ae10 / Po10 | CE-B |
| ESI ...88:10 | | .200.10 |
+-------+ +---------+ +---------+
| |
+--+---+--+
| CE-A | EVI 100, VLAN 100, 192.168.100.0/24
| .100.10 | anycast gateway 192.168.100.1
+---------+
IP-VRF TENANT-A (RT 65000:1100): PE1, PE2, PE3 - symmetric IRB, Type 5Схема прохождения трафика и стек меток
1. Bring up the LACP bundle: CE-A to PE1 and PE2 with the same LACP system-id
on both PEs and the same ESI on ae10/Po10.
2. Check Type 4 (ES) and Type 1 (A-D per-ES and per-EVI) routes from PE1 and
PE2; confirm one DF per VLAN and the all-active mode.
3. Verify Type 2 and Type 3 routes in EVI 100 and EVI 200 (MAC, IP, IM).
4. Check Type 5: PE3 receives 192.168.100.0/24 from PE1 and PE2 (two next
hops, ECMP) and PE1/PE2 receive 192.168.200.0/24 from PE3.
5. Ping CE-A -> CE-B (192.168.100.10 -> 192.168.200.10) through the anycast
gateway, then start a long ping with size 1400.
6. Failure test: shut the PE1 link; PE1 withdraws per-ES A-D, PE3 invalidates
PE1 for the ES at once (mass withdrawal), the DF is recomputed.
7. Restore the link, repeat the test with a PE1 reload, and compare with the
legacy active/standby PW redundancy block.Таблица состояний и параметров
| Элемент | Значение в лабораторной | Что проверить |
|---|---|---|
| Сегмент ES | ESI ...88:10, all-active, ae10/Po10 на PE1 и PE2 | Type 4 от обоих PE, один DF на VLAN |
| EVI 100 | VLAN 100, RT 65000:100, 192.168.100.0/24, anycast 192.168.100.1 | Type 2 с MAC и IP, Type 3 от PE1/PE2/PE3 |
| EVI 200 | VLAN 200, RT 65000:200, 192.168.200.0/24 на PE3 | Type 2 хоста CE-B |
| IP-VRF TENANT-A | RT 65000:1100, симметричный IRB | Type 5 для обеих подсетей, ECMP на PE1/PE2 |
| Тест отказа | Выключение линка PE1 и перезагрузка PE1 | Потери пакетов, mass withdrawal, смена DF |
Архитектурная модель и принцип работы
В реальных сетях оператора MPLS объединяет оборудование различных производителей. Ниже представлены практические примеры конфигурации и вывода команд Data Plane / Control Plane для четырёх платформ: Cisco IOS-XE/XR, Huawei VRP, Juniper Junos и MikroTik RouterOS v7. Обратите внимание на различия в синтаксисе и механизмах распределения меток.
Практическая конфигурация (Cisco, Huawei, Juniper, MikroTik)
Cisco (IOS-XE/XR)
vrf definition TENANT-A
rd 10.255.0.3:1100
address-family ipv4
route-target export 65000:1100
route-target import 65000:1100
exit-address-family
l2vpn evpn instance 200 vlan-based
encapsulation mpls
rd 10.255.0.3:200
route-target export 65000:200
route-target import 65000:200
default-gateway advertise enable
interface GigabitEthernet2
no ip address
service instance 200 ethernet
encapsulation dot1q 200
rewrite ingress tag pop 1 symmetric
bridge-domain 200
member GigabitEthernet2 service-instance 200
member evpn-instance 200
router bgp 65000
neighbor 10.255.0.100 remote-as 65000
neighbor 10.255.0.100 update-source Loopback0
address-family l2vpn evpn
neighbor 10.255.0.100 activate
neighbor 10.255.0.100 send-community both
address-family ipv4 vrf TENANT-A
advertise l2vpn evpn
redistribute connected
interface BDI200
vrf forwarding TENANT-A
ip address 192.168.200.1 255.255.255.0
mac-address 0000.5e00.00c8Это конфигурация PE3 (одиночный сайт CE-B). VRF TENANT-A с RD 10.255.0.3:1100 и RT 65000:1100 совпадает по RT с VRF на PE1/PE2, поэтому Type 5 подсети 192.168.100.0/24 импортируются сюда. EVI 200 с RT 65000:200 даёт L2-сервис для CE-B через bridge-domain 200, а BDI200 в VRF образует шлюз 192.168.200.1. Команда advertise l2vpn evpn в address-family ipv4 vrf превращает подключённые маршруты VRF в Type 5; последние строки задают IP и MAC шлюза.