...
L2VPN позволяет организовать передачу ethernet-фреймов через MPLS-домен. Выделение и распространение туннельных меток в данном режиме осуществляется по средствам протокола посредством протокола LDP. В реализации L2VPN можно условно выделить два случая:
...
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Настроить протокол LDP (см. раздел Конфигурирование протокола 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-сессии, обратитесь к разделу Конфигурирование параметров сессии в протоколе targeted-LDP. |
...
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Настроить протокол LDP (см. раздел Конфигурирование протокола 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-сессии, обратитесь к разделу Конфигурирование параметров сессии в протоколе targeted-LDP. |
...
Включить поддержку Jumbo-фреймов с помощью команды "system jumbo-frames" (для вступления изменений в силу требуется перезагрузка устройства);
- Настроить IP-адреса на интерфейсах согласно схеме сети, приведенной на рисунке выше;
- Организовать обмен маршрутами между PE1, PE2 и PE3 при помощи IGP-протокола (OSPF, IS-IS).
На маршрутизаторе PE1 создадим бридж-группу и включим ее:
Блок кода |
---|
PE1# configure PE1(config)# bridge 10 PE1(config-bridge)# enable PE1(config-bridge)# exit |
Интерфейсе Интерфейс в сторону CE1 включим в созданную бридж-группу:
...
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Настроить протокол LDP (см. раздел Конфигурирование протокола 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 |
...
Переходим в контекст настройки L2VPN и включим в него заранее созданный бридж-домен.:
Блок кода |
---|
PE1(config)# mpls PE1(config-mpls)# l2vpn PE1(config-l2vpn)# vpls l2vpn PE1(config-l2vpn-vpls)# bridge-group 1 |
...
Сервис L3VPN позволяет объединить распределенные клиентские IP-сети и обеспечить передачу трафика между ними с в рамках единой VRF.
Примечание |
---|
В текущей реализации протокола MP-BGP поддержана передача только VPN-IPv4 маршрутов (AFI = 1, SAFI = 128). |
...
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Настроить адресацию и один из протоколов IGP на всех P и PE-маршрутизаторах. | ||
2 | Настроить распространение транспортных меток по протоколу LDP. | ||
3 | Создать VRF. | esr(config)# ip vrf <VRF> | <VRF> – имя экземпляра VRF, задается строкой до 31 символа. |
4 | Указать route distinguisher для данного VRF. | esr(config-vrf)# rd <RD> | <RD> – значение Route distinguisher, задается в одном из следующем видевидов:
|
5 | Указать route target import для данного VRF. | esr(config-vrf)# route-target import <RT> | <RT> – значение route-target, задается в одном из следующих видов:
|
6 | Указать route target export для данного VRF. | esr(config-vrf)# route-target export <RT> | <RT> – значение route-target, задается в одном из следующем видевидов:
|
7 | Указать разрешенное количество маршрутов для данного VRF. | esr(config-vrf)# ip protocols <PROTOCOLS> max-routes <VALUE> | <PROTOCOL> – вид протокола, принимает значения: rip (только в глобальном режиме), ospf, isis, bgp; <VALUE> – количество маршрутов в маршрутной таблице, принимает значения в диапазоне:
|
8 | В рамках настройки address-family VPNv4 протокола BGP включить передачу расширенных атрибутов. | esr(config-bgp-neighbor-af)# send-community extended |
...
Примечание | ||
---|---|---|
При передаче маршрутов из VRF в таблицу VPNv4 ТОЛЬКО connected- и/или static-сетей указывать команду enable не нужно. Включение необходимо только при наличии BGP-пиров в VRF. Пример конфигурации передачи в VPNv4 таблицу connected- и static-сетей:
|
...
Подсказка |
---|
cpu load-balance mpls passenger ip Включает возможность "заглядывать" дальше MPLS-заголовка для поиска IP-заголовка и добавления ip-src и ip-dst в расчет хеша: Для L3VPN: идет поиск пары ip-src и ip-dst в ip-заголовке, находящимся за mpls-заголовком.
Для L2VPN: ESR попытается "заглянуть" в ethernetethernet-фрейм (который находится за mpls-заголовком) и получить ip-src и ip-dst в ip-заголовке для добавления в расчет хеша.
|
Подсказка |
---|
cpu load-balance mpls passenger ip-over-ethernet-pseudowire-with-cw cpu load-balance mpls passenger ip-over-ethernet-pseudowire-without-cw Позволяет явно указать, используется ли при построении L2VPN функционал Control Word. Это позволяет исключить возникновение ошибки, когда пакет с наличием Сontrol word может быть ошибочно распознан как пакет без него. |
...
Бридж-домен может работать в двух транспортных режимах: ethernet или vlan. Транспортных Транспортный режим задает правила обработки трафика на входе и выходе с бридж-домена.
...
- Если AC является саб-интерфейсом, то vlan-тег перед помещение помещением в бридж снимается. При выходе из бриджа vlan-тег восстанавливается.
- Если AC является интерфейсом, то тегированный и нетегированный трафик проходит проходят в обоих направлениях без модификаций.
...
СE1 посылает пакеты размером 1500 байт, CE2 – 1800 байт соответственно. Так как MTU бридж-домена меньше, чем MTU пакета от CE2, то пакет от CE2 будет отброшен перед попаданием в бридж-домен. Аналогичные действия будут, если MTU - интерфейса, смотрящего в сторону mpls-core (gi1/0/1), меньше чем MTU, приходящих от СE-пакетов (с учетом mpls-заголовка).
...