...
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | В контексте настройки параметров MPLS указать интерфейсы, участвующие в процессе MPLS-коммутации. | esr(config-mpls)# forwarding interface { <IF> | <TUN> } | <IF> – имя интерфейса устройства, задаётся в виде, описанном в разделе Типы и порядок именования интерфейсов маршрутизатора; <TUN> – имя туннеля устройства, задаётся в виде, описанном в разделе Типы и порядок именования туннелей маршрутизатора. |
2 | Задать router-id для LDP (не обязательно, если указан transport-address). | esr(config-ldp)# router-id <ID> | <ID> – идентификатор маршрутизатора, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. |
3 | В контексте настройки address family ipv4 указать transport-address (не обязательно, если указан router-id). | esr(config-ldp-af-ipv4)# transport-address <ADDR> | <ADDR> - задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. |
3 | В контексте настройки address family ipv4 указать интерфейсы для включение на них процесса LDP. | esr(config-ldp-af-ipv4)# interface { <IF> | <TUN> } | <IF> – имя интерфейса устройства, задаётся в виде, описанном в разделе Типы и порядок именования интерфейсов маршрутизатора; <TUN> – имя туннеля устройства, задаётся в виде, описанном в разделе Типы и порядок именования туннелей маршрутизатора. |
4 | Включить процесс LDP. | esr(config-ldp)# enable | |
5 | Включить функционал explicit-null (не обязательно). | esr(config-ldp)# egress-label-type explicit-null | |
6 | В режиме конфигурирования соседа LDP задать пароль командой password (не обязательно). | esr(config-ldp-neig)# password {<TEXT> | ENCRYPTED-TEXT>} | <CLEAR-TEXT> – пароль, задаётся строкой, длинной [8..16] символов; <ENCRYPTED-TEXT> – зашифрованный пароль размером [8..16] байт ([16..32] символа) в шестнадцатеричном формате (0xYYYY...) или (YYYY...). |
В рамках настройки протокола LDP также доступен следующий функционал:
|
...
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Настроить протокол LDP (см. раздел Управление технологией MPLS#Конфигурирование Конфигурирование протокола LDP) | ||
2 | В режиме конфигурации протокола LDP задать Hello holdtime | esr(config-ldp)# discovery hello holdtime <TIME> | <TIME> - Время в секундах в интервале [3..65535] |
3 | В режиме конфигурации протокола LDP задать Hello interval | esr(config-ldp)# discovery hello interval <TIME> | <TIME> - Время в секундах в интервале [3..65535] |
...
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Настроить протокол LDP (см. раздел Управление технологией MPLS#Конфигурирование Конфигурирование протокола LDP) | ||
2 | В режиме конфигурации address familly протокола LDP установить Hello holdtime на нужном интерфейсе | esr(config-ldp-af-ipv4-if)# discovery hello holdtime <TIME> | <TIME> - Время в секундах в интервале [3..65535] Значение по умолчанию: 15 |
3 | В режиме конфигурации address familly протокола LDP установить Hello interval на нужном интерфейсе | esr(config-ldp-af-ipv4-if)# discovery hello interval <TIME> | <TIME> - Время в секундах в интервале [3..65535] Значение по умолчанию: 5 |
...
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Настроить протокол LDP (см. раздел Управление технологией MPLS#Конфигурирование Конфигурирование протокола LDP) | ||
2 | В режиме конфигурации LDP задать параметр Keepalive | esr(config-ldp)# keepalive <TIME> | <TIME> - Время в секундах в интервале [3..65535] Значение по умолчанию: 180 |
...
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Настроить протокол LDP (см. раздел Управление технологией MPLS#Конфигурирование Конфигурирование протокола LDP) | ||
2 | В режиме конфигурации соседа задать параметр Keepalive holdtime | esr(config-ldp-neig)# keepalive <TIME> | <TIME> - Время в секундах в интервале [3..65535] Значение по умолчанию: 180 |
...
1 | Настроить протокол LDP (см. раздел Управление технологией MPLS#Конфигурирование Конфигурирование протокола LDP) | ||
2 | В режиме конфигурации протокола LDP задать Hello holdtime | esr(config-ldp)# discovery targeted-hello holdtime <TIME> | <TIME> - Время в секундах в интервале [3..65535] Значение по умолчанию: 45 |
3 | В режиме конфигурации протокола LDP задать Hello interval | esr(config-ldp)# discovery targeted- hello interval <TIME> | <TIME> - Время в секундах в интервале [1..65535] Значение по умолчанию: 5 |
4 | В режиме конфигурации протокола LDP задать Keepalive holdtime | esr(config-ldp)# keepalive <TIME> | <TIME> - Время в секундах в интервале [3..65535] Значение по умолчанию: 180 |
...
1 | Настроить протокол LDP (см. раздел Управление технологией MPLS#Конфигурирование Конфигурирование протокола LDP) | ||
2 | В режиме конфигурации LDP-соседа задать Hello holdtime | esr(config-ldp-neig)# discovery targeted-hello holdtime <TIME> | <TIME> - Время в секундах в интервале [3..65535] Значение по умолчанию: 45 |
3 | В режиме конфигурации LDP-соседа задать Hello interval | esr(config-ldp-neig)# discovery targeted- hello interval <TIME> | <TIME> - Время в секундах в интервале [1..65535] Значение по умолчанию: 5 |
4 | В режиме конфигурации LDP-соседа задать Keepalive holdtime | esr(config-ldp-neig)# keepalive <TIME> | <TIME> - Время в секундах в интервале [3..65535] Значение по умолчанию: 180 |
...
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Настроить протокол LDP (см. раздел Управление технологией MPLS#Конфигурирование Конфигурирование протокола LDP). | ||
2 | Создать object-group типа network. | esr(config)# object-group network <NAME> | <NAME> – имя конфигурируемого списка подсетей, задаётся строкой до 31 символа. |
3 | Описать префиксы, для которых будут назначаться метки. | esr(config-object-group-network)# ip prefix <ADDR/LEN> | <ADDR/LEN> – IP-адрес и маска подсети, задаётся в виде AAA.BBB.CCC.DDD/EE, где каждая часть AAA – DDD принимает значения [0..255] и EE принимает значения [1..32]; |
4 | В контексте настройки LDP применить созданную object-group. | esr(config-ldp)# advertise-labels <NAME> | <NAME> – имя конфигурируемого списка подсетей, задаётся строкой до 31 символа. |
...
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Настроить протокол LDP (см. раздел Управление технологией MPLS#Конфигурирование Конфигурирование протокола LDP). | ||
2 | Создать pw-class в системе и осуществить переход в режим настройки параметров pw-class. | esr(config-l2vpn)# pw-class <WORD> | <WORD> – имя pw-class длинной [1..31] символов. |
3 | Добавить описание для pw-class (не обязательно). | esr(config-l2vpn-pw-class)# description <LINE> | <LINE> – описание. Задается в виде строки длинной [1..255] символов |
4 | Установить значение MTU для pseudo-wire входящих в pw-class (не обязательно). | esr(config-l2vpn-pw-class)# encapsulation | <MTU> – значение MTU, принимает значение в диапазоне [552..10000] Значение по умолчанию: 1500. |
5 | Отключить обмен status-tlv сообщениями (не обязательно). | esr(config-l2vpn-pw-class)# encapsulation | Значение по умолчанию: status-tlv enable |
6 | Создать p2p-туннель в системе и осуществить переход в режим настройки параметров p2p-туннеля. | esr(config-l2vpn)# p2p <NAME> | <NAME> – имя p2p-сервиса, задается строкой до 31 символа. |
7 | Задать Attached Circuit интерфейс. | esr(config-l2vpn-p2p)# interface | <IF> – имя интерфейса устройства, задаётся в виде, описанном в разделе Типы и порядок именования интерфейсов маршрутизатора; <TUN> – имя туннеля устройства, задаётся в виде, описанном в разделе Типы и порядок именования туннелей маршрутизатора. |
8 | Включить p2p-туннель. | esr(config-l2vpn-p2p)# enable | |
9 | Задать транспортный режим (не обязательно). | esr(config-l2vpn-p2p)# transport-mode | <ethernet> – режим при котором при входе в pseudo-wire из заголовка удаляется 802.1Q тэг ; <vlan> – режим при котором 802.1Q тэг может быть сохранен при передаче через pseudo-wire. Значение по умолчанию: ethernet |
10 | Создать pseudo-wire и осуществить переход в режим настройки его параметров. | esr(config-l2vpn-p2p)# pw <PW_ID> <LSR_ID> | <PW_ID> – идентификатор psewdowire, задается в виде числа в диапазоне [1..4294967295 ] <LSR_ID> – идентификатор LSR до которого строится pseudo-wire, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255] |
11 | Добавить описание для pseudo-wire (не обязательно). | esr(config-l2vpn-pw)# description <LINE> | <LINE> – описание. Задается в виде строки длинной [1..255] символов |
12 | Задать pw-class для pseudo-wire. | esr(config-l2vpn-pw)# pw-class <WORD> | <WORD> – имя pw-class длинной [1..31] символов. |
13 | Задать адрес LSR до которого устанавливается pseudo-wire (Не обязательно если neighbor address совпадает с LSR_ID). | esr(config-l2vpn-pw)# neighbor-address <ADDR> | <ADDR> – IP-адрес маршрутизатора, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. |
14 | Включить pseudo-wire. | esr(config-l2vpn-pw)# enable | |
В случае если необходимо изменить параметры по умолчанию для targeted LDP-сессии, обратитесь к разделу Управление технологией MPLS#Конфигурирование Конфигурирование параметров сессии в протоколе targeted-LDP. |
...
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Настроить протокол LDP (см. раздел Управление технологией MPLS#Конфигурирование Конфигурирование протокола LDP). | ||
2 | Создать сетевой мост в системе без указания IP-адреса (см. раздел Настройка Bridge). | ||
3 | Создать pw-class в системе и осуществить переход в режим настройки параметров pw-class. | esr(config-l2vpn)# pw-class <WORD> | <WORD> - имя pw-class длинной [1..31] символов. |
4 | Добавить описание для pw-class (не обязательно). | esr(config-l2vpn-pw-class)# description <LINE> | <LINE> - описание. Задается в виде строки длинной [1..255] символов |
5 | Установить значение MTU для pseudo-wire входящих в pw-class (не обязательно). | esr(config-l2vpn-pw-class)# encapsulation | <MTU> - значение MTU, принимает значение в диапазоне [552..10000] Значение по умолчанию: 1500. |
6 | Отключить обмен status-tlv сообщениями (не обязательно). | esr(config-l2vpn-pw-class)# encapsulation | Значение по умолчанию: status-tlv enable |
7 | Создать VPLS-домен в системе и осуществить переход в режим настройки параметров VPLS-домена. | esr(config-l2vpn)# vpls <NAME> | <NAME> - имя p2p-сервиса, задается строкой до 31 символа. |
8 | Включить VPLS-туннель. | esr(config-l2vpn-vpls)# enable | |
9 | Добавить бридж-домен. | esr (config-l2vpn-vpls)# bridge-group <ID> | <ID> - идентификатор бридж -домена , задается в виде числа в диапазоне [1..250 ] |
10 | Задать транспортный режим (не обязательно). | esr(config-l2vpn-vpls)# transport-mode | <ethernet> - Режим при котором при входе в pseudo-wire из заголовка удаляется 802.1Q тэг; |
11 | Создать pseudo-wire и осуществить переход в режим настройки его параметров | esr(config-l2vpn-vpls)# pw <PW_ID> <LSR_ID> | <PW_ID> - идентификатор psewdowire, задается в виде числа в диапазоне [1..4294967295 ] <LSR_ID> - идентификатор LSR до которого строится pseudo-wire, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255] |
12 | Добавить описание для pseudo-wire (не обязательно). | esr(config-l2vpn-pw)# description <LINE> | <LINE> - описание. Задается в виде строки длинной [1..255] символов |
13 | Задать pw-class для pseudo-wire | esr(config-l2vpn-pw)# pw-class <WORD> | <WORD> - имя pw-class длинной [1..31] символов. |
14 | Задать адрес LSR до которого устанавливается pseudo-wire(Не обязательно если neighbor address совпадает с LSR_ID). | esr(config-l2vpn-pw)# neighbor-address <ADDR> | <ADDR> – IP-адрес маршрутизатора, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. |
15 | Включить pseudo-wire. | esr(config-l2vpn-pw)# enable | |
16 | В случае если топология создаваемого VPLS-домена требует установить более одного pseudo-wire, повторить шаги с 10 по 14. | ||
17 | В случае если необходимо изменить параметры по умолчанию для targeted LDP-сессии, обратитесь к разделу Управление технологией MPLS#Конфигурирование Конфигурирование параметров сессии в протоколе targeted-LDP . |
...
В отличии от Martini mode, где вся работа ложится на LDP, в данном режиме LDP отводится только работа с транспортными метками. Автообнаружение и построение псевдопроводного соединения возложено псевдо-провода возложено на протокол BGP.
Алгоритм настройки L2VPN VPLS
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Настроить протокол LDP (см. раздел Управление технологией MPLS#Конфигурирование Конфигурирование протокола LDP). | ||
2 | Создать сетевой мост в системе без указания IP-адреса (см. раздел Настройка Bridge). | ||
3 | Создать VPLS-домен в системе и осуществить переход в режим настройки параметров vpls-домена. | esr(config-l2vpn)# vpls <NAME> | <NAME> – имя p2p-сервиса, задается строкой до 31 символа. |
4 | Включить VPLS-туннель. | esr(config-l2vpn-vpls)# enable | |
5 | Добавить бридж-домен. | esr(config-l2vpn-vpls)# bridge-group <ID> | <ID> – идентификатор бридж-домена, задается в виде числа в диапазоне [1..250]. |
6 | Перейти в контекст настройки autodiscovery bgp. | esr(config-l2vpn-vpls)# autodiscovery bgp | |
7 | Указать route distinguisher для данного экземпляра VPLS. | esr(config-bgp)# rd <RD> | <RD> – значение Route distinguisher, задается в одном из следующем виде:
|
8 | Указать route target import для данного экземпляра VPLS. | esr(config-bgp)# route-target import <RT> | <RT> – значение route-target, задается в одном из следующих видов:
|
9 | Указать route target export для данного экземпляра VPLS. | esr(config-bgp)# route-target export <RT> | <RT> – значение route-target, задается в одном из следующих видов:
|
10 | Указать ve id. | esr(config-bgp)# ve id <ID> | <ID> – идентификатор экземпляра VPLS, задается в виде числа в диапазоне [1..16384]. |
11 | Указать vpn id. | esr (config-bgp)# vpn id <ID> | <ID> – идентификатор VPN, задается в виде числа в диапазоне [1..4294967295]. |
12 | Указать ve range (не обязательно). | esr (config-bgp)# ve range <RANGE> | <RANGE> – диапазон идентификаторов пограничных устройств VPLS [8..100]. |
13 | Указать mtu (не обязательно). | esr (config-bgp)# mtu <VALUE> | <VALUE> – значение MTU [552..10000]. |
14 | Включить игнорирование типа инкапсуляции (не обязательно). | esr(config-bgp)# ignore encapsulation-mismatch | |
15 | Включить игнорирование значений MTU (не обязательно). | esr(config-bgp)# ignore mtu-mismatch | |
16 | В контексте настройки address-family l2vpn vpls протокола BGP включить передачу расширенных атрибутов. | esr(config-bgp-neighbor-af)# send-community extended |
...
Блок кода |
---|
PE3# show bgp l2vpn vpls all neighbor 10.10.0.4 advertise-routes Origin codes: i - IGP, e - EGP, ? - incomplete Route Distinguisher VID VBO VBS Next hop Metric LocPrf Path --------------------- ----- ----- ----- --------------- ---------- ---------- ---------------------- 65500:100 3 1 10 10.10.0.3 -- 100 i |
Проверим, что псевдопровод псевдо-провод построен до обеих PE и находится в статусе "UP":
...
Примечание |
---|
В LDP signaling транспортный режим согласуется между PE в процессе создания псевдо-провода, поэтому он должен совпадать на обоих PE. |
...
- Если AC является сабинтерфейсом, то vlan-тег перед помещением в бридж сохраняется. При выходе из бриджа vlan-тег может быть сохранен или перезаписан в зависимости от конфигурации.
- Если АС является интерфейсом, то модификация трафика модификации тегов не происходит в обоих направлениях.
...
Очень важно понимать и правильно сконфигурировать параметр MTU на интерфейсах через который передается пакет. Это справедливо и для установки псевдопровода и для передачи сервисного трафика.проходит трафик. Если интерфейс принимает участие в пересылке mpls трафика , то на нем необходимо увеличить MTU на количество меток ( каждая метка равна 4 байтам).
Рассмотрим следующий пример:
При настройке MTU на интерфейсе ( gi 1/0/2 ) в сторону СE размеры Ethernet (18 байт) , inner tag (4 байта ), outer tag (4 байта ) не будут учитываться. Таким образом, пакеты с размером 1500 байт со стороны CE будут успешно обработаны на PE.
В слу
Во-первых, на интерфейсах, участвующих в передаче mpls трафика необходимо увеличить MTU , включив в них размер
Прежде всего, значение MTU участвует в сигнализации при построении псевдо-провода как в LDP-signaling, так и в BGP-signaling. В LDP-signaling MTU задается в рамках настройки pw – class:
...
Предупреждение |
---|
Значения MTU, участвующие в сигнализации, не влияют на фактический размер пакета, проходящего по псевдо-проводу. |
Блок кода | ||
---|---|---|
| ||
PE2(config)# mpls PE2(config-mpls)# l2vpn PE2(config-l2vpn)# pw-class MTU_example PE2(config-l2vpn-pw-class)# encapsulation mpls mtu 9000 PE2(config-l2vpn-pw-class)# exit PE2(config-mpls)# l2vpn PE2(config-l2vpn)# vpls MTU_Example_PW PE2(config-l2vpn-vpls)# pw 200 10.10.0.1 PE2(config-l2vpn-pw)# pw-class PE2(config-l2vpn-pw)# pw-class MTU_example *Просмотр созданных pw-class'ов* PE2# sh mpls l2vpn pw-class PW-class Neighbor PW ID Status Status-tlv MTU -------------------------------- ---------- ---------- ------ ---------- ------ MTU_example 10.10.0.1 200 Up Enable 9000 PE2# sh mpls l2vpn vpls MTU_Example_PW VPLS: MTU_Example_PW ... PWs: PW ID 2, Neighbor 10.10.0.1: MTU: 9000 Last change: 01:27:42 Status: Up * Для сигнализации PW 2 данного VPLS выбрано MTU 9000* |
...
На рисунке выше, РЕ1 поднимает два псевдопроводапсевдо-провода: Pseudowire pseudowire 10 до PE2, и Pseudowire pseudowire 20 до PE3 соответственно. Для сигнализации с PE2 будет выбрано MTU равным 2000 (pw-class TO_PE2), для PE3 – MTU 3000 (pw-class TO_PE3).
...
Блок кода | ||
---|---|---|
| ||
PE1(config)# mpls PE1(config-mpls)# l2vpn PE1(config-l2vpn)# vpls l2vpn_MTU PE1(config-l2vpn-vpls)# autodiscovery bgp PE1(config-bgp)# mtu 1500 PE2# sh mpls l2vpn vpls l2vpn_MTU VPLS: l2vpn_MTU ... PWs: PW ID 2, Neighbor 10.10.0.1: MTU: 1500 Last change: 01:27:42 Status: Up * Для сигнализации всех псевдо -проводов данного VPLS будет выбрано MTU 1500 * |
Если при согласовании значение MTU оказалось разным, то cтатус псевдо-провода будет – "DOWN", " Reason: MTU mismatch":
Блок кода |
---|
PE1(config-l2vpn)# vpls l2vpn_MTU PE1(config-l2vpn-vpls)# autodiscovery bgp PE1(config-bgp)# mtu 2000 PE2# sh mpls l2vpn vpls l2vpn_MTU ... PWs: PW ID 2, Neighbor 10.10.0.1: MTU: 2000 Last change: 00:00:10 Status: Down Reason: MTU mismatch |
...
Примечание | ||
---|---|---|
При настройке VPLS (BGP-signaling) можно отключить проверку MTU при создании псевдо-проводов:
Теперь, при согласовании, значение MTU будет игнорироваться. |
...