# Теория

Давайте проследим, что там происходило за кулисами протоколов (дамп снят с интерфейса GE1 Linkmeup\_R1). Можно выделить основные вехи:

**0)** IGP сошёлся, LDP определил соседей, поднял сессию и раздал транспортные метки.\
Как видите, Linkmeup\_R4 выделил транспортную метку 19 для FEC 4.4.4.4.

![](https://habrastorage.org/files/74a/1df/6c0/74a1df6c0dda4bfe9b03b36817512241.PNG)

**1)** А вот tLDP начал свою работу.

**--А.** Сначала мы настроили его на Linkmeup\_R1 и tLDP начал периодически отправлять свой Hello на адрес 4.4.4.4\
![](https://habrastorage.org/files/b60/b1a/a0e/b60b1aa0e053458ea96796bdb89ca50e.PNG)

Как видите, это юникастовый IP пакет, который отправляется с адреса Loopback-интерфейса 1.1.1.1 на адрес такого же Loopback удалённого PE — 4.4.4.4.\
Упакован в UDP и передаётся с одной меткой MPLS — транспортной — 19. Обратите внимание на приоритет — поле EXP — 6 — один из наивысших, поскольку это пакет служебного протокола. Подробнее мы об этом поговорим в выпуске о QoS.

Состояние PW пока в DOWN, потому что с обратной стороны ничего нет.

![](https://habrastorage.org/files/a52/4bd/9eb/a524bd9eb99644f1b03a363e4d7139f9.PNG)

**--Б.** После того, как настроили xconnect на стороне Linkmeup\_R4 — сразу Hello и установление соединения по TCP.\
![](https://habrastorage.org/files/e7e/ed9/87e/e7eed987e2564f75b32859b1c036311c.PNG)

В этот момент установлено LDP-соседство\
![](https://habrastorage.org/files/2dd/932/884/2dd932884774462db64883d68423e1d0.png)

**--В.** Пошёл обмен метками:\
![](https://habrastorage.org/files/4ca/5c9/2ec/4ca5c92ec15f45b2af460c48ad6381ee.PNG)

В самом низу можно видеть, что FEC в случае VPWS — это VC ID, который мы указали в команде xconnect — это идентификатор нашего VPN — **127**.\
А чуть ниже выделенная ему Linkmeup\_R4 метка — 0х16 или **22** в десятичной системе.\
То есть этим сообщением Linkmeup\_R4 сообщил Linkmeup\_R1, мол, если ты хочешь передать кадр в VPN с VCID 127, то используй сервисную метку 22.

> Тут же вы можете видеть ещё кучу других сообщений Label Mapping — это LDP делится всем, что нажил — информацией про все FEC. Нас это мало интересует, ну а Lilnkmeup\_R1 и подавно.

То же самое делает и Linkmeup\_R1 — сообщает Linkmeup\_R4 свою метку:

![](https://habrastorage.org/files/c42/8f6/db9/c428f6db9d5c4b99a73cc14f558492e9.PNG)

После этого поднимаются VC и мы можем увидеть метки и текущие статусы:\
![](https://habrastorage.org/files/7cc/231/289/7cc2312893174c6db8a66743b1f2b3ac.PNG)

![](https://habrastorage.org/files/580/8c0/85b/5808c085bf5944078bea6edf15e9554d.png)

Команды **show mpls l2transport vc detail** и **show l2vpn atom vc detail** в целом идентичны для наших примеров.

**2)** Далее соседи будут только поддерживать контакт:\
![](https://habrastorage.org/files/956/bf1/2a8/956bf12a86b748a8b5b3acf7fe75ad90.PNG)

**3)** Теперь всё готово для передачи пользовательских данных. В этот момент мы запускаем ping. Всё предсказуемо просто: две метки, которые мы уже видели выше.\
![](https://habrastorage.org/files/3ba/420/987/3ba4209872ce4807aa0b0b2239ba1e04.PNG)

> Почему-то Wireshark не разобрал внутренности MPLS, но я вам покажу, как прочитать вложение:\
> ![](https://habrastorage.org/files/bda/b21/bc8/bdab21bc884a40deba3f8bb2af30f8ba.png)\
> \
> Два блока, выделенных, красным — это MAC-адреса. DMAC и SMAC соответственно. Жёлтый блок 0800 — поле Ethertype заголовка Ethernet — значит внутри IP.\
> Далее чёрный блок 01 — поле Protocol заголовка IP — это номер протокола ICMP. И два зелёных блока — SIP и DIP соответственно.\
> Теперь вы можете в Wireshark!

Соответственно ICMP-Reply возвращается только с меткой VPN, потому что на Linkmeup\_R2 возымел место [PHP](http://lookmeup.linkmeup.ru/#term487) и транспортная метка была снята.\
![](https://habrastorage.org/files/1aa/f95/c89/1aaf95c89c6b4898a976ec7bcf288308.PNG)

Если VPWS — это просто провод, то он должен спокойно передать и кадр с меткой VLAN?\
Да, и нам для этого не придётся ничего перенастраивать.\
Вот пример кадра с меткой VLAN:\
![](https://habrastorage.org/files/6d6/7a5/0cc/6d67a50ccf1a4b52adb15a5927bb743c.png)

Здесь вы видите Ethertype 8100 — 802.1q и метку VLAN 0x3F, или 63 в десятичной системе.

Если мы перенесём конфигурацию xconnect на сабинтерфейс с указанием VLAN, то он будет терминировать данный VLAN и отправлять в PW кадр без заголовка 802.1q.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://linkmeup.gitbook.io/sdsm/12.-mpls-l2vpn/1.-vpws/3.-teoriya.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
