Настройка 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