> For the complete documentation index, see [llms.txt](https://linkmeup.gitbook.io/sdsm/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://linkmeup.gitbook.io/sdsm/12.-mpls-l2vpn/0.-vpn-types.md).

# О технологиях L2VPN

Прежде чем погрузиться в тёплый MPLS, взглянем на то, какие вообще виды L2VPN существуют.

* **VLAN/QinQ** — их можно сюда отнести, поскольку основные требования VPN выполняются — организуется виртуальная L2 сеть между несколькими точками, данные в которой изолированы от других. По сути VLAN per-user организует Hub-n-Spoke VPN.
* **L2TPv2/PPTP** — устаревшие и скучные вещи.
* **L2TPv3** вместе с **GRE** имеют проблемы с масштабированием.
* **VXLAN, EVPN** — варианты для ЦОД'ов. Очень интересно, но DCI не входит в планы этого выпуска. Зато о них был отдельный подкаст (слушайте запись 25-го ноября)
* **MPLS L2VPN** — это набор различных технологий, транспортом для которых выступает MPLS LSP. Именно он сейчас получил наиболее широкое распространение в сетях провайдеров.

Почему он победитель? Главная причина, безусловно, в способности маршрутизаторов, передающих MPLS-пакеты абстрагироваться от их содержимого, но при этом различать трафик разных сервисов.\
Например, Е1-кадр приходит на PE, сразу же инкапсулируется в MPLS и уже никто по пути даже не заподозрит, что там внутри — важно только вовремя поменять метку.\
А на другой порт приходит Ethernet-кадр и по тому же самому LSP он может пройти по сети, только с другой меткой VPN.\
А кроме того MPLS TE позволяет строить каналы с учётом требований трафика к параметрам сети.\
В связке же с LDP и BGP становится более просто настраивать VPN и автоматически находить соседей.

Возможность инкапсулировать трафик любого канального уровня в MPLS называется **AToM** — Any Transport over MPLS.\
Вот список поддерживаемых AToM протоколов:

* ATM Adaptation Layer Type-5 (AAL5) over MPLS
* ATM Cell Relay over MPLS
* Ethernet over MPLS
* Frame Relay over MPLS
* PPP over MPLS
* High-Level Data Link Control (HDLC) over MPLS

**Два мира L2VPN**

Для построения любого L2VPN существуют два концептуально разных подхода.

* **Point-to-Point**. Применим к любым типам протоколов канального уровня и в принципе, в полной мере исчерпывает все сценарии применения L2VPN. Поддерживает все мыслимые и немыслимые протоколы. Причём некоторые из них ещё и по-разному [может реализовывать](https://www.ietf.org/rfc/rfc4717.txt). В основе лежит концепция PW — PseudoWire — псевдопровод. Вы хотите соединить два узла друг с другом. Тогда сеть провайдера для вас будет как один виртуальный кабель — то, что вошло в него на одном конце обязательно выйдет на другом без изменений. Общее название услуги: **VPWS** — Virtual Private Wire Service. ![](https://habrastorage.org/files/489/144/e71/489144e715634e0c9f55e1045751a439.png)
* **Point-to-Multipoint**. Этот режим только для Ethernet, поскольку только в нём фактически такая необходимость есть. В этом случае у клиента может быть три-пять-десять-сто точек подключения/филиалов, и все они должны передавать данные друг другу, причём, как одному конкретному филиалу, так и всем сразу. Это до боли [напоминает обычный Ethernet-коммутатор](https://habrastorage.org/files/5e8/9d7/3e3/5e89d73e389245589d155cdef2304f22.png), но было бы страшной банальностью об этом говорить. Название технологии: **VPLS** — Virtual Private LAN Service. ![](https://habrastorage.org/files/e11/5f4/d76/e115f4d76dba4d9d834c9f05461f2a75.png)

**Терминология**

Традиционно термины будут вводиться по мере необходимости. Но о некоторых сразу.\
**PE** — Provider Edge — граничные маршрутизаторы MPLS-сети провайдера, к которым подключаются клиентские устройства (CE).\
**CE** — Customer Edge — оборудование клиента, непосредственно подключающееся к маршрутизаторам провайдера (PE).\
**AC** — Attached Circuit — интерфейс на PE для подключения клиента.\
**VC** — Virtual Circuit — виртуальное однонаправленное соединение через общую сеть, имитирующее оригинальную среду для клиента. Соединяет между собой AC-интерфейсы разных PE. Вместе они составляют цельный канал: AC→VC→AC.\
**PW** — PseudoWire — виртуальный двунаправленный канал передачи данных между двумя PE — состоит из пары однонаправленных VC. В этом и есть отличие PW от VC.

![](https://habrastorage.org/files/579/f80/02c/579f8002c6544a3ba45244baa3e5f4ec.png)
