В данной статье мы построим RSVP туннель между маршрутизаторами находящимися в разных IGP доменах.
Используется следующая схема стенда:
На каждом маршрутизаторе настроены IGP, включена поддержка TE и указан TE router ID:
router isis test interface loopback 1 address-family ipv4 unicast exit passive exit interface tengigabitethernet 0/0/7 address-family ipv4 unicast bfd fast-detect exit point-tТак же на всех маршрутизаторах есть базовая конфигурация MPLS, а на R4 и R5 сконфигурированы RSVP туннели: o-point exit host-name R4_ISIS ipv4-te-level level-2 <----- Включает поддержку TE на level-2 net 01.0000.0000.0000.0000.00 te-router-id 1.1.1.4 < exit
router ospfv2 test area 0.0.0.0 interface loopback 1 passive exit interface tengigabitethernet 0/0/7 bfd fast-detect network point-to-point te-support <----- Включает поддержку TE на интерфейсе exit exit router-id 1.1.1.5 te-router-id 1.1.1.5 < exit
router isis test interface loopback 1 address-family ipv4 unicast exit passive exit interface tengigabitethernet 0/0/4 address-family ipv4 unicast bfd fast-detect exit point-to-point exit host-name R7_ISIS ipv4-te-level level-2 <----- Включает поддержку TE на level-2 net 01.0000.0000.0000.0001.00 te-router-id 1.1.1.7 < exit router ospfv2 test area 0.0.0.0 interface loopback 1 passive exit interface tengigabitethernet 0/0/5 <----- Включает поддержку TE на интерфейсе bfd fast-detect network point-to-point te-support exit exit router-id 1.1.1.7 te-router-id 1.1.1.7 < exit
Так же на всех маршрутизаторах есть базовая конфигурация MPLS, а на R4 и R5 сконфигурированы RSVP туннели:
mpls forwarding interface loopback 1 interface tengigabitethernet 0/0/7 exit router-id 1.1.1.4 rsvp interface tengigabitethernet 0/0/7 bfd fast-detect exit l3vpn tunnel R4_to_R5 destination 1.1.1.5 forwarding-adjacency record-route routing-adjacency source 1.1.1.4 tunnel-lsp R4_to_R5 retry-timer 100 exit exit tunnel R4_to_R7 destination 1.1.1.7 forwarding-adjacency record-route routing-adjacency source 1.1.1.4 tunnel-lsp R4_to_R7 retry-timer 100 exit exit exit exit
mpls forwarding interface loopback 1 interface tengigabitethernet 0/0/7 exit router-id 1.1.1.5 rsvp interface tengigabitethernet 0/0/7 bfd fast-detect exit l3vpn tunnel R5_to_R4 destination 1.1.1.4 forwarding-adjacency record-route routing-adjacency source 1.1.1.5 tunnel-lsp R5_to_R4 retry-timer 100 exit exit tunnel R5_to_R7 destination 1.1.1.7 forwarding-adjacency igp-shortcut record-route routing-adjacency source 1.1.1.5 tunnel-lsp R5_to_R7 retry-timer 100 exit exit exit exit
mpls forwarding interface loopback 1 interface tengigabitethernet 0/0/4 interface tengigabitethernet 0/0/5 exit router-id 1.1.1.7 rsvp interface tengigabitethernet 0/0/4 bfd fast-detect exit interface tengigabitethernet 0/0/5 bfd fast-detect exit l3vpn exit exit
С текущей конфигурацией мы видим, что туннели R4<->R7 и R5<->R7 построились, а R4<->R5 находятся в состоянии down:
0/ME5200:R5# show mpls rsvp tunnels Mon Feb 26 09:28:52 2024 Tunnel name Source Destination Status State Up time --------------------------------- ----------------- ----------------- ------- ----------------- -------- R5_to_R4 1.1.1.5 1.1.1.4 up down 00h00m00s R5_to_R7 1.1.1.5 1.1.1.7 up up 00h30m07s 0/ME5200:R4# show mpls rsvp tunnels Mon Feb 26 12:31:37 2024 Tunnel name Source Destination Status State Up time --------------------------------- ----------------- ----------------- ------- ----------------- -------- R4_to_R5 1.1.1.4 1.1.1.5 up down 00h00m00s R4_to_R7 1.1.1.4 1.1.1.7 up up 00h30m14s
Туннели R4_to_R5 и R5_to_R4 не смогли построиться из за того, что маршрутизаторы находятся в разных IGP доменах и используют разные CSPF и teDB процессы.
Для того чтобы туннель построился - создадим Explicit-Path:
mpls rsvp explicit-path viaR7 explicit-route-object 10 ip-prefix 1.1.1.7 <----- Указываем в качестве hop - router id\loopback маршрутизатора R7 loose exit
И привяжем данный explicit-path к lsp:
mpls rsvp tunnel R5_to_R4 destination 1.1.1.4 forwarding-adjacency record-route routing-adjacency source 1.1.1.5 tunnel-lsp R5_to_R4 path-computation explicit path viaR7 retry-timer 100 exit exit exit exit
LSP пытается построиться используя только свой CSPF
С помощью explicit-path мы указали в качестве ERO маршрутизатор R7,
В нашем случае, так как Destination находится в другом CSPF, LSP построится до R7 согласно своему CSPF, затем достроится до Destination используя CSPF указанного ERO.
После добавления explicit-path туннель успешно построился:
0/ME5200:R5# show mpls rsvp tunnels Mon Feb 26 09:52:14 2024 Tunnel name Source Destination Status State Up time --------------------------------- ----------------- ----------------- ------- ----------------- -------- R5_to_R4 1.1.1.5 1.1.1.4 up up 00h04m50s R5_to_R7 1.1.1.5 1.1.1.7 up up 00h53m28s 0/ME5200:R5# show mpls rsvp lsps tunnel R5_to_R4 Mon Feb 26 10:06:32 2024 Tunnel: R5_to_R4, id: 4 LSP name: R5_to_R4, signaled-name: R5_to_R4@R5_to_R4, id: 1, Source: 1.1.1.5, Destination: 1.1.1.4 State: up, Protection role: working Direction: ingress, Node protect: disabled, Bandwidth protection requirement: disabled Carrying the normal traffic after protection switching: no Protected by a fast reroute: none Downstream repaired: yes Path recording is desired SE Style is desired LSP rerouting is none OAM MEP entities are not desired OAM MIP entities are not desired Downstream information: Next hop: 192.168.0.1 Signaling interface: Tengigabitethernet0/0/7 Neighbor: 192.168.0.1 Label: 18, type: mpls-label Incoming ERO Outgoing ERO ---------------------------- ---------------------------- hop0 1.1.1.7/32 (lose) 192.168.0.1/32 hop1 1.1.1.7/32 (lose) Incoming RRO Outgoing RRO ----------------- ----------------- hop0 192.168.0.1 192.168.0.1 hop1 Label 18 Label 18 hop2 10.0.0.0 10.0.0.0 hop3 Label 3 Label 3