L2.5 MPLS, L2VPN, L3VPN, EVPN, Segment Routing
Это «операторская кухня» — то, на чём работают сети провайдеров, телеком-операторов и крупнейших дата-центров. MPLS живёт между L2 и L3 (отсюда полушуточное «L2.5»): он не маршрутизирует по IP и не коммутирует по MAC, а переключает пакеты по меткам. Поверх него строят виртуальные частные сети (VPN) для тысяч клиентов на одной физической инфраструктуре.
- Зачем вообще придумали MPLS и что такое коммутация по меткам
- Анатомия MPLS-метки и стек меток (label stack)
- LSP, LSR/LER, push/swap/pop, PHP
- Как метки раздаются: LDP (и зачем бывает RSVP-TE)
- L3VPN: VRF, Route Distinguisher, Route Target — изоляция клиентов
- L2VPN, VPLS, pseudowire — «протянуть L2 через провайдера»
- EVPN + VXLAN — современная замена, основа дата-центров и мост в облако
- Segment Routing (SR-MPLS, SRv6) — куда всё движется
- Мост в DevOps: где ты это реально встретишь
1. Зачем придумали MPLS
В 1990-х классическая IP-маршрутизация была медленной: на каждом роутере для каждого пакета делался дорогой longest-prefix-match по огромной таблице. MPLS предложил иначе: на входе в сеть пакету один раз присваивается короткая метка (label), а дальше роутеры переключают его, глядя только на метку — простой и быстрый lookup по таблице меток, как по индексу.
Сегодня железо умеет делать IP-lookup на полной скорости, и «MPLS ради скорости» уже неактуально. Но MPLS остался — по другой причине: метки создают «туннели», поверх которых удобно строить сервисы, не зависящие от IP-адресации клиентов: VPN, Traffic Engineering, QoS-классы, быстрое перенаправление при отказе (FRR).
2. Анатомия метки и коммутация
MPLS-метка вставляется между L2-заголовком (Ethernet) и L3-заголовком (IP) — поэтому «L2.5». Это 32-битная вставка (shim header):
Три операции и роли устройств
| Термин | Что значит |
|---|---|
| LER (Edge / PE) | граница MPLS-домена: навешивает метку на входе (push), снимает на выходе |
| LSR (Core / P) | ядро: переключает по метке (swap), не смотрит в IP |
| push | добавить метку (вход в домен) |
| swap | заменить метку на следующую (транзит) |
| pop | снять метку (выход) |
| LSP | Label-Switched Path — однонаправленный «туннель» из меток через домен |
MPLS-стек «на проводе»:
3. Как раздаются метки: LDP (и RSVP-TE)
Чтобы все роутеры согласовали, «какая метка ведёт к какому префиксу», нужен протокол распределения меток. Самый распространённый — LDP (Label Distribution Protocol): он привязывает метки к IGP-маршрутам (OSPF/IS-IS). То есть IGP строит топологию, а LDP «навешивает» на неё метки.
- LDP — просто следует за IGP. Лёгкий, без управления трафиком. 90% MPLS-сетей.
- RSVP-TE — позволяет строить туннели по заданному пути с резервированием ресурсов (Traffic Engineering), обходить узкие места, делать быстрый ре-роут (FRR). Сложнее.
4. L3VPN: VRF, Route Distinguisher, Route Target
Самый востребованный сервис на MPLS — MPLS L3VPN. Провайдер подключает множество клиентов; у каждого свои IP-адреса, и они могут пересекаться (все любят 10.0.0.0/8). Как держать их изолированными на одном железе? Три понятия:
| Понятие | Что делает |
|---|---|
| VRF (Virtual Routing and Forwarding) | отдельная таблица маршрутизации на роутере «для этого клиента» — как виртуальный роутер внутри роутера |
| RD (Route Distinguisher) | префикс-уникализатор: делает пересекающиеся 10.0.0.0/8 разных клиентов уникальными (RD:префикс), чтобы BGP их различал |
| RT (Route Target) | BGP-community «кому импортировать»: управляет, какие VRF видят какие маршруты (отсюда и hub-and-spoke, и any-to-any топологии) |
Маршруты клиентов переносятся между PE-роутерами по MP-BGP (multiprotocol BGP, address-family VPNv4) — да, тот самый BGP из модуля 7, расширенный для VPN. Внутри ядра — MPLS-метки.
5. L2VPN, VPLS, pseudowire — «протянуть L2»
Иногда клиенту нужен не L3-сервис, а «как будто один общий коммутатор» между удалёнными площадками — один broadcast-домен, свой L2. Это семейство L2VPN:
- Pseudowire (VPWS) — точка-точка: «виртуальный провод» между двумя портами через MPLS.
- VPLS — точка-многоточка: эмуляция единого Ethernet-сегмента между многими площадками.
Проблема классического VPLS — он «учит» MAC-адреса в data-plane (как обычный свитч), плохо масштабируется и плохо дружит с резервированием. Эту проблему и решил EVPN.
6. EVPN + VXLAN — современная замена и мост в облако
EVPN (Ethernet VPN) — это «правильный» способ переносить L2 (и L3) поверх сети, где MAC-адреса распространяются через BGP (control plane), а не учатся вслепую. Чаще всего EVPN работает в паре с VXLAN — инкапсуляцией, которая заворачивает Ethernet-кадр в UDP-пакет и тащит его поверх обычной IP-сети.
Почему это важно именно тебе, идущему в DevOps:
- EVPN-VXLAN — стандарт современных дата-центров (фабрика Spine-Leaf). Облака внутри устроены похоже.
- VXLAN — основа overlay-сетей в Kubernetes: CNI вроде Flannel (vxlan backend) и Calico (vxlan mode) заворачивают трафик подов именно в VXLAN. Ты буквально встретишь VNI и VTEP, отлаживая сеть кластера.
- Понимание «overlay поверх underlay» — ключ к тому, как вообще устроены сети контейнеров и мульти-облака.
7. Segment Routing — куда всё движется
Segment Routing (SR) — современная эволюция MPLS. Идея: вместо того чтобы каждый роутер хранил состояние туннелей (как в LDP/RSVP-TE), весь путь кодируется списком «сегментов» прямо в заголовке пакета на входе. Ядро не держит per-flow состояние — оно просто исполняет инструкции из пакета. Это проще, масштабируемее и идеально дружит с SDN-контроллерами.
- SR-MPLS — сегменты кодируются стеком MPLS-меток (работает на существующем MPLS-железе).
- SRv6 — сегменты кодируются прямо в IPv6-адресах (расширение IPv6). Будущее операторских и облачных сетей.
8. Мост в DevOps: где ты это встретишь
| Технология | Где встретишь в DevOps/облаке |
|---|---|
| VXLAN | overlay-сети Kubernetes (Flannel, Calico vxlan), сети дата-центров, OpenStack Neutron |
| EVPN | фабрики Spine-Leaf под облаком/кластерами, мульти-ДЦ растяжка L2 |
| VRF | Linux network namespaces / VRF (ip vrf) — изоляция таблиц на сервере; multi-tenant сети |
| MP-BGP | тот же BGP (модуль 7), на котором держится EVPN; Calico умеет EVPN-подобные схемы |
| MPLS L3VPN | линки между офисами/ДЦ от провайдера (ты будешь «клиентом» такого сервиса) |
Не операторские конфиги LDP, а модель «overlay поверх underlay» (VXLAN/EVPN) и понятие VRF как изоляции таблиц. Это прямо ложится на сети Kubernetes и мульти-облако. Остальное — эрудиция для собеседования и спокойствия в разговоре с сетевиками-операторами.
9. Вопросы с собеседования
10. Частые заблуждения
- MPLS («L2.5») переключает по меткам между L2 и L3; метка = 32 бита (Label/TC/S/TTL), бывает стек меток.
- LER (PE) делает push/pop на границе, LSR (P) — swap в ядре; LSP — туннель из меток; часто PHP.
- LDP раздаёт метки по IGP; RSVP-TE — для Traffic Engineering; тренд — Segment Routing.
- L3VPN: VRF (изоляция таблиц), RD (уникализация префиксов), RT (политика импорта); перенос по MP-BGP VPNv4.
- L2VPN/VPLS тянут L2; EVPN — современная замена, MAC через BGP, обычно с VXLAN.
- VXLAN = L2 в UDP поверх IP, VNI до 16М сегментов; основа ДЦ-фабрик и overlay в Kubernetes.
- Segment Routing (SR-MPLS/SRv6) кодирует путь в заголовке, ядро без состояния — будущее.
- MPLS-VPN изолирует, но НЕ шифрует. Помни про MTU при любой инкапсуляции.
- В DevOps отсюда реально нужны: overlay/underlay (VXLAN/EVPN) и VRF как изоляция.