Теория
Last updated
Last updated
Что произошло?
1. Сразу после этого устанавливаются соединения LDP и происходит обмен метками. Технически LDP достаточно привязки к bridge-domain — не обязательно, чтобы были AC-интерфейсы (это поведение зависит от производителя.).
Вот обмен между Linkmeup_R1 и Linkmeup_R3:
FEC 63 — номер нашего VPN. Метка выделена 0x18 (или 24).
То есть, когда Linkmeup_R3 будет отправлять кадры в этом VFI AC-интерфейсу, подключенному к Linkmeup_R1, он должен добавить VPN-метку 24. А транспортная при этом — 17.
Заметьте, что разным соседям Linkmeup_R1 выдаёт разные метки — это для того, чтобы можно было корректно изучить MAC-адреса потом.
2. Если запустить пинг с Blue-A, то в дампе (на интерфейсе Gi1 Linkmeup_R1) можно увидеть сначала ARP-запрос:
Поскольку он широковещательный, то следом за ним можно увидеть его точную копию с одной лишь разницей — метки VPN и транспортная:
Один кадр был отправлен на Linkmeup_R3, другой — на Linkmeup_R4.
3. В таблице MACов видим MAC-адрес узла Blue-A (AABB-CC00-0700) — он находится за портом GE3.EFP10 (Ethernet Flow Point и Service instance 10) — и MAC, соответствующий IP-адресу 192.168.0.2 (AABB-CC00-0300) — за интерфейсом Pseudoport Blue.100401a.
К сожалению, установить зависимость между Pseudoport и pseudowire мне так и не удалось. Как инженеру определить, с какого PW изучается MAC-адрес? Например show l2vpn vfi показывает очевидное соответствие, но эти имена никак не перекликаются. Если кому-то удастся проследить связь между Pseudoport и pseudowire, эта статья станет чуточку полнее.
Естественно, это всё строго локально. Как и обычные коммутаторы — VPLS не сигнализирует MAC'и другим PE, а занимается их изучением исключительно в рамках Data Plane.
Ещё раз шаги настройки:
Создать VFI, с одинаковым VPN ID на всех PE и настроить связность со всеми соседями.
Привязать AC-интерфейсы к Service Instance.
Связать VFI и Service Instance с помощью Bridge-domain.
Итак подытожим про Martini mode:
Для сигнализации меток VPN используется протокол LDP (метод DU).
Метки используются рационально — без какого-либо запаса. Это очень важный момент, поскольку ресурс меток ограничен и легко может стать узким местом.
Соседи на каждом узле настраиваются вручную. (Но к этому вопросу мы ещё вернёмся — всё совсем не так плохо).
Масштабируемость оригинального режима Martini, строго говоря, не велика — это ограничение полносвязной топологии. Но и для этой проблемы уже есть решение.