Skip to content

Latest commit

 

History

History
50 lines (33 loc) · 4.86 KB

1.-teoriya.md

File metadata and controls

50 lines (33 loc) · 4.86 KB

Теория

Что произошло?

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.

Ещё раз шаги настройки:

  1. Создать VFI, с одинаковым VPN ID на всех PE и настроить связность со всеми соседями.
  2. Привязать AC-интерфейсы к Service Instance.
  3. Связать VFI и Service Instance с помощью Bridge-domain.

Итак подытожим про Martini mode:

  • Для сигнализации меток VPN используется протокол LDP (метод DU).
  • Метки используются рационально — без какого-либо запаса. Это очень важный момент, поскольку ресурс меток ограничен и легко может стать узким местом.
  • Соседи на каждом узле настраиваются вручную. (Но к этому вопросу мы ещё вернёмся — всё совсем не так плохо).
  • Масштабируемость оригинального режима Martini, строго говоря, не велика — это ограничение полносвязной топологии. Но и для этой проблемы уже есть решение.