Настройка L2-circuit

Базовая настройка pseudowire включает в себя настройку граничных (Label Edge Router, LER) и промежуточных (Label Switch Router, LSR) маршрутизаторов сети.

Пример настройки LSR. Создание loopback интерфейса.

ecorouter(config)#interface loopback.<number>
ecorouter(config-if)#ip address <address/mask>

Переход в режим настройки протокола LDP.

ecorouter(config)#router ldp

Определение транспортного адреса маршрутизатора.

ecorouter(config-router)#transport-address ipv4 <ip-address>

Включение LDP и функции работы с метками на интерфейсах.

ecorouter(config-if)#enable-ldp ipv4
ecorouter(config-if)#label-switching

Пример настройки LER.

Создание loopback интерфейса.

ecorouter(config)#interface loopback.<number>
ecorouter(config-if)#ip address <address/mask>

Переход в режим настройки протокола LDP. ecorouter(config)#router ldp
Определение транспортного адреса маршрутизатора. ecorouter(config-router)#transport-address ipv4 <ip-address>
Определение целевого маршрутизатора. Где в качестве <ip-address> указывается сетевой адрес пограничного маршрутизатора, до которого будет построен l2-circuit. ecorouter(config-router)#targeted-peer ipv4 <ip-address>
Включение ldp и функции работы с метками на интерфейсах.

ecorouter(config-if)#enable-ldp ipv4
ecorouter(config-if)#label-switching

L2-circuit конфигурируется в зависимости от типа создаваемой схемы.

Создание l2-circuit type 5.

mpls l2-circuit <name> <Identifying value> <ip-address for end-point> Где в качестве <name> задается идентификационное имя соединения, <Identifying value> — номер l2-circuit, <ip-address for end-point> — адрес граничного маршрутизатора.

Создание l2-circuit type 4.

mpls l2-circuit <name> <Identifying value> <ip-address for end-point> mode tagged svlan <vlan Identifier> Где в качестве <name> задается идентификационное имя соединения, <Identifying value> — номер l2-circuit, <ip-address for end-point> — адрес граничного маршрутизатора, <vlan Identifier> — номер виртуальной сети.

Привязка созданной l2-circuit к порту.

ecorouter(config)#port ge2
ecorouter(config-port)#service-instance ge2/e2
ecorouter(config-service-instance)#encapsulation <tag/untag>
ecorouter(config-service-instance)#mpls-l2-circuit <name>

Где в зависимости от типа l2-circuit указывается тегированный или нетегированный трафик, параметр name — имя ранее созданного l2-circuit.

Просмотр состояния l2-circuit. Где name — имя ранее созданного l2-circuit. ecorouter#show mpls l2-circuit <name>

Гибкая настройка различных операций с VLAN-тегами на service-instance позволяет передавать пакет через l2-circuit, предварительно проделав эти операции с VLAN-тегами. При этом используется тип инкапсуляции 5 (ethernet).

Поддерживаются следующие операции:

Снять внешнюю метку с пакета с двумя метками, перед отправкой в MPLS-туннель:

mpls l2-circuit pop_sv_any_cv 20 2.2.2.2
!
port te1
 service-instance pop_sv_any_cv
 encapsulation dot1q 40 second-dot1q any
 rewrite pop 1
 mpls-l2-circuit pop_sv_any_cv primary

Внутренняя метка может быть любой (second-dot1q any) или жестко заданной (second-dot1q 100). Во втором случае, все пакеты должны иметь внешнюю метку 40 и внутреннюю метку 100. В противном случае пакет будет отброшен.

Снять обе метки с пакета перед отправкой в MPLS-туннель:

mpls l2-circuit pop_pop 30 2.2.2.2
!
port te1
 service-instance pop_pop
 encapsulation dot1q 40 second-dot1q 90
 rewrite pop 2
 mpls-l2-circuit pop_pop primary

Cнять внешнюю метку и заменить внутреннюю на произвольную перед отправкой в MPLS-туннель:

mpls l2-circuit pop_swap 40 2.2.2.2
!
port te1
 service-instance pop_swap
 encapsulation dot1q 40 second-dot1q 90
 rewrite translate 2-to-1 77
 mpls-l2-circuit pop_swap primary

Добавить внешнюю метку перед отправкой в MPLS-туннель:

mpls l2-circuit push_sv 50 2.2.2.2
!
port te1
 service-instance push_sv
 encapsulation dot1q 60 exact
 rewrite push 77
 mpls-l2-circuit push_sv primary

Добавить две метки перед отправкой в MPLS-туннель:

mpls l2-circuit push_two 60 2.2.2.2
!
port te1
 service-instance push_two
 encapsulation untagged
 rewrite push 77 88
 mpls-l2-circuit push_two primary

Заменить внешнюю метку перед отправкой в MPLS-туннель:

mpls l2-circuit swap_sv 70 2.2.2.2
!
port te1
 service-instance swap_sv
 encapsulation dot1q 40 second-dot1q 90
 rewrite translate 1-to-1 77
 mpls-l2-circuit push_two primary
 

Заменить обе метки перед отправкой в MPLS-туннель:

mpls l2-circuit swap_swap 80 2.2.2.2
!
port te1
 service-instance swap_swap
 encapsulation dot1q 40 second-dot1q 90
 rewrite translate 2-to-2 77 88
 mpls-l2-circuit swap_swap primary

Заменить внутреннюю метку и добавить внешнюю перед отправкой в MPLS-туннель:

mpls l2-circuit swap_push 90 2.2.2.2
!
port te1
 service-instance swap_push
 encapsulation dot1q 60 exact
 rewrite translate 1-to-2 77 88
 mpls-l2-circuit swap_push primary