Issue
In this
example we will go through InterArea MPLS TE with OSPFv2 as our routing
protocol
As we
can see from the figure above that we have multiple areas, which mean we have different
flooding domain between our CEs: R1 and R5
Devices
in different link state different flooding domain cannot run a full SPF
calculation to build SPT
So , we
will use ABRs are trusted exit points toward next area which will yield to the
concept of ERO (Explicit Route Object) which contains the addresses of ABRs as
loose hops in the transit paths
Configuration
R1
R1#sh run int f1/0
interface FastEthernet1/0
ip address 192.1.12.1 255.255.255.0
ip ospf 1 area 1
speed 100
duplex full
mpls traffic-eng tunnels
ip rsvp bandwidth
R1#sh run int lo0
interface Loopback0
ip address 1.1.1.1 255.255.255.255
ip ospf 1 area 1
R1#sh run | sec router
ospf
router ospf 1
router-id 1.1.1.1
mpls traffic-eng router-id Loopback0
mpls traffic-eng area 1
R1#sh run int tun0
interface Tunnel0
ip unnumbered Loopback0
tunnel mode mpls traffic-eng
tunnel destination 5.5.5.5
tunnel mpls traffic-eng autoroute destination
tunnel mpls traffic-eng path-option 1 explicit
name TO_R5
R1#sh run | sec ip explic
ip explicit-path name
TO_R5 enable
next-address loose 3.3.3.3
next-address loose 7.7.7.7
R2
R2#sh run int f1/0
interface FastEthernet1/0
ip address 192.1.12.2 255.255.255.0
ip ospf 1 area 1
speed 100
duplex full
mpls traffic-eng tunnels
ip rsvp bandwidth
interface FastEthernet1/1
ip address 192.1.23.2 255.255.255.0
ip ospf 1 area 1
speed 100
duplex full
mpls traffic-eng tunnels
ip rsvp bandwidth
R2#sh run int f2/0
interface FastEthernet2/0
ip address 192.1.26.2 255.255.255.0
ip ospf 1 area 1
speed 100
duplex full
mpls traffic-eng tunnels
ip rsvp bandwidth
R2#sh run int lo0
interface Loopback0
ip address 2.2.2.2 255.255.255.255
ip ospf 1 area 1
R2#sh run | sec router
ospf
router ospf 1
router-id 2.2.2.2
mpls traffic-eng router-id Loopback0
mpls traffic-eng area 1
R3
R3#sh run int f1/0
interface FastEthernet1/0
ip address 192.1.23.3 255.255.255.0
ip ospf 1 area 1
speed 100
duplex full
mpls traffic-eng tunnels
ip rsvp bandwidth
R3#sh run int f1/1
interface FastEthernet1/1
ip address 192.1.34.3 255.255.255.0
ip ospf 1 area 2
speed 100
duplex full
mpls traffic-eng tunnels
ip rsvp bandwidth
R3#sh run int f2/0
interface FastEthernet2/0
ip address 192.1.36.3 255.255.255.0
ip ospf 1 area 0
speed 100
duplex full
mpls traffic-eng tunnels
ip rsvp bandwidth
R3#sh run int f2/1
interface FastEthernet2/1
ip address 192.1.37.3 255.255.255.0
ip ospf 1 area 0
speed 100
duplex full
mpls traffic-eng tunnels
ip rsvp bandwidth
R3#sh run int lo0
interface Loopback0
ip address 3.3.3.3 255.255.255.255
ip ospf 1 area 0
R3#sh run | sec router
ospf
router ospf 1
router-id 3.3.3.3
mpls traffic-eng router-id Loopback0
mpls traffic-eng area 0
mpls traffic-eng area 1
mpls traffic-eng area 2
R4
R4#sh run int f1/0
interface FastEthernet1/0
ip address 192.1.45.4 255.255.255.0
ip ospf 1 area 2
speed 100
duplex full
mpls traffic-eng tunnels
ip rsvp bandwidth
R4#sh run int f1/1
interface FastEthernet1/1
ip address 192.1.34.4 255.255.255.0
ip ospf 1 area 2
speed 100
duplex full
mpls traffic-eng tunnels
ip rsvp bandwidth
R4#sh run int f2/0
interface FastEthernet2/0
ip address 192.1.47.4 255.255.255.0
ip ospf 1 area 2
speed 100
duplex full
mpls traffic-eng tunnels
ip rsvp bandwidth
R4#sh run int lo0
interface Loopback0
ip address 4.4.4.4 255.255.255.255
ip ospf 1 area 2
R4#sh run | sec router
ospf
router ospf 1
router-id 4.4.4.4
mpls traffic-eng router-id Loopback0
mpls traffic-eng area 2
R5
R5#sh run int f1/0
interface FastEthernet1/0
ip address 192.1.45.5 255.255.255.0
ip ospf 1 area 2
speed 100
duplex full
mpls traffic-eng tunnels
ip rsvp bandwidth
R5#sh run int lo0
interface Loopback0
ip address 5.5.5.5 255.255.255.255
ip ospf 1 area 2
R5#sh run | sec ip route
ip route 1.1.1.1
255.255.255.255 Tunnel0
R5#sh run int tun0
interface Tunnel0
ip unnumbered Loopback0
tunnel mode mpls traffic-eng
tunnel destination 1.1.1.1
tunnel mpls traffic-eng path-option 1 explicit
name TO_R1
R5#sh run | sec router
ospf
router ospf 1
router-id 5.5.5.5
mpls traffic-eng router-id Loopback0
mpls traffic-eng area 2
R5#sh run | sec ip explic
ip explicit-path name
TO_R1 enable
next-address loose 7.7.7.7
next-address loose 6.6.6.6
R6
R6#sh run int f1/0
interface FastEthernet1/0
ip address 192.1.26.6 255.255.255.0
ip ospf 1 area 1
speed 100
duplex full
mpls traffic-eng tunnels
ip rsvp bandwidth
R6#sh run int f1/1
interface FastEthernet1/1
ip address 192.1.67.6 255.255.255.0
ip ospf 1 area 0
speed 100
duplex full
mpls traffic-eng tunnels
ip rsvp bandwidth
R6#sh run int f2/0
interface FastEthernet2/0
ip address 192.1.36.6 255.255.255.0
ip ospf 1 area 0
speed 100
duplex full
mpls traffic-eng tunnels
ip rsvp bandwidth
R6#s run int lo0
interface Loopback0
ip address 6.6.6.6 255.255.255.255
ip ospf 1 area 0
R6#sh run | sec router
ospf
router ospf 1
router-id 6.6.6.6
mpls traffic-eng router-id Loopback0
mpls traffic-eng area 0
mpls traffic-eng area 1
R7
mpls traffic-eng tunnels
R7#sh run int f1/0
interface FastEthernet1/0
ip address 192.1.47.7 255.255.255.0
ip ospf 1 area 2
speed 100
duplex full
mpls traffic-eng tunnels
ip rsvp bandwidth
R7#sh run int f1/1
interface FastEthernet1/1
ip address 192.1.67.7 255.255.255.0
ip ospf 1 area 0
speed 100
duplex full
mpls traffic-eng tunnels
ip rsvp bandwidth
R7#sh run int f2/0
interface FastEthernet2/0
ip address 192.1.37.7 255.255.255.0
ip ospf 1 area 0
speed 100
duplex full
mpls traffic-eng tunnels
ip rsvp bandwidth
R7#s run int lo0
interface Loopback0
ip address 7.7.7.7 255.255.255.255
ip ospf 1 area 0
R7#sh run | sec router
ospf
router ospf 1
router-id 7.7.7.7
mpls traffic-eng router-id Loopback0
mpls traffic-eng area 0
mpls traffic-eng area 2
Verification
Testing reachablity
between our CEs
R1#ping 5.5.5.5 source lo0
Type escape sequence to
abort.
Sending 5, 100-byte ICMP
Echos to 5.5.5.5, timeout is 2 seconds:
Packet sent with a source
address of 1.1.1.1
!!!!!
Success rate is 100
percent (5/5), round-trip min/avg/max = 20/21/24 ms
R1#sh ip route 5.5.5.5
Routing entry for
5.5.5.5/32
Known via "static", distance 1,
metric 0 (connected)
Routing Descriptor Blocks:
* directly connected, via Tunnel0
Route metric is 0, traffic share count is
1
R1#traceroute 5.5.5.5
source lo0
Type escape sequence to
abort.
Tracing the route to
5.5.5.5
VRF info: (vrf in name/id,
vrf out name/id)
1 192.1.12.2 [MPLS: Label 16 Exp 0] 20 msec
20 msec 20 msec
2 192.1.23.3 [MPLS: Label 16 Exp 0] 24 msec
28 msec 24 msec
3 192.1.37.7 [MPLS: Label 16 Exp 0] 24 msec
20 msec 20 msec
4 192.1.47.4 [MPLS: Label 16 Exp 0] 24 msec
20 msec 20 msec
5 192.1.45.5 24 msec 20 msec *
As we can see from the output
above that the trace is following the explicit path we configured from R1 toward
R5 , let us check the way back
R5#traceroute 1.1.1.1
source lo0
Type escape sequence to abort.
Tracing the route to
1.1.1.1
VRF info: (vrf in name/id,
vrf out name/id)
1 192.1.45.4 [MPLS: Label 17 Exp 0] 20 msec
20 msec 20 msec
2 192.1.47.7 [MPLS: Label 17 Exp 0] 20 msec
28 msec 24 msec
3 192.1.67.6 [MPLS: Label 16 Exp 0] 20 msec
20 msec 20 msec
4 192.1.26.2 [MPLS: Label 17 Exp 0] 24 msec
20 msec 20 msec
5 192.1.12.1 24 msec 20 msec *
The same, we are following
the explicit path
Let us check now how the signaling
is occurring from R1 towards R5 (part of the path is examined) passing through the
trusted exit points: ABRs (which in case of R1 are configured as R3, R7)
Once the tunnels are initialized,
path calculation to the first ABR occurs and intra area signaling occurs to the
same point, from the first ABR to the second one until we reach our destination
R1#debug mpls traffic-eng
path lookup
MPLS traffic-eng path
lookup events debugging is on
R1#debug mpls traffic-eng
path lookup
R1(config)#int tun0
R1(config-if)#no shut
*Dec 29 23:29:52.319:
TE-SIG: deactivating setup Tunnel0 [1], reason: tunnel shutdown
*Dec 29 23:29:52.323:
TE-SIG-HE: Tunnel0 [1]->5.5.5.5: RSVP head-end close
*Dec 29 23:29:52.335:
TE-SIG-LM: 1.1.1.1_1->5.5.5.5_0 {7}: received DELETE RESV request
*Dec 29 23:29:52.335:
TE-SIG-LM: 1.1.1.1_1->5.5.5.5_0 {7}: path next hop is 192.1.12.2
(FastEthernet1/0)
*Dec 29 23:29:52.339:
TE-SIG-LM: 1.1.1.1_1->5.5.5.5_0 {7}: sending DELETE RESV reply
*Dec 29 23:29:52.347:
TE-SIG-HE: Tunnel0 [1]->5.5.5.5: notified of disappearing label information
*Dec 29 23:29:52.347:
TE-SIG-HE: Tunnel0 [1]->5.5.5.5: label information Changed
*Dec 29 23:29:52.351:
TE-PCALC-PATH: 1.1.1.1_1->5.5.5.5_0 {7}: shut
R1(config-if)#enFreeing
rrr_path_setup_t
*Dec 29 23:29:52.355:
TE-PCALC-PATH: 1.1.1.1_1->5.5.5.5_0 {7}: Free all paths in path tree
*Dec 29 23:29:53.583:
TE-SIG-HE: Tunnel0 [0]: Attempting to activate
*Dec 29 23:29:53.583:
TE-PCALC-API: 1.1.1.1_34->5.5.5.5_0 {7}: P2P LSP Path Lookup called
*Dec 29 23:29:53.587:
TE-PCALC: 1.1.1.1_34->5.5.5.5_0 {7}: Path Request Info
*Dec 29 23:29:53.587: Flags:
IP_EXPLICIT_PATH METRIC_TE
*Dec 29 23:29:53.591: IP explicit-path: Supplied
*Dec 29 23:29:53.595: 3.3.3.3 Loose
*Dec 29 23:29:53.595: 7.7.7.7 Loose
*Dec 29 23:29:53.599: bw 0, min_bw 0, metric: 0
*Dec 29 23:29:53.599: setup_pri 7, hold_pri 7
*Dec 29 23:29:53.599: affinity_bits 0x0, affinity_mask 0xFFFF
*Dec 29 23:29:53.603:
TE-PCALC-PATH: 1.1.1.1_34->5.5.5.5_0 {7}: Area (ospf 1 area 1) Path Lookup begin
*Dec 29 23:29:53.607:
TE-PCALC-PATH: Area (ospf 1 area 1):
Dest ip addr 5.5.5.5 not found
*Dec 29 23:29:53.607:
TE-PCALC-PATH: lsr_exists:first Loose Hop is to addr 3.3.3.3
*d
R1#Dec 29 23:29:53.611:
TE-PCALC-PATH:Path from 1.1.1.1 -> 3.3.3.3:
*Dec 29 23:29:53.615: 192.1.23.3->0.0.0.0 (admin_weight=2):
*Dec 29 23:29:53.615: 192.1.23.2->0.0.0.0 (admin_weight=2):
*Dec 29 23:29:53.615: 192.1.12.2->0.0.0.0 (admin_weight=1):
*Dec 29 23:29:53.615: 192.1.12.1->0.0.0.0 (admin_weight=1):
*Dec 29 23:29:53.615: num_hops 5, accumulated_aw 2, min_bw 75000
*Dec 29 23:29:53.615:
TE-PCALC-PATH: 1.1.1.1_34->5.5.5.5_0 {7}: Freeing rrr_path_setup_t
*Dec 29 23:29:53.619:
TE-PCALC-PATH: 1.1.1.1_34->5.5.5.5_0 {7}: Free all paths in path tree
*Dec 29 23:29:53.619:
TE-PCALC: Verify Path Lookup: 1.1.1.1_34->5.5.5.5_0 {7}: (protocol nil area nil)
*Dec 29 23:29:53.619: Flags:
METRIC_TE
*Dec 29 23:29:53.619: Last Strict Router: 3.3.3.3
*Dec 29 23:29:53.619: sub-lsp weight:0 (Total LSP weight:2)
*Dec 29 23:29:53.619: Hop List:
*Dec 29 23:29:53.619: 192.1.12.1
*Dec 29 23:29:53.619: 192.1.12.2
*Dec 29 23:29:53.619: 192.1.23.2
*Dec 29 23:29:53.619: 192.1.23.3
*Dec 29 23:29:53.619: 3.3.3.3
*Dec 29 23:29:53.619: 7.7.7.7 Loose
*Dec 29 23:29:53.619:
TE-PCALC-VERIFY: VERIFY to 3.3.3.3 BEGIN:
*Dec 29 23:29:53.619:
TE-PCALC-VERIFY: Verify:
TE-PCALC-VERIFY: 1.1.1.1, 192.1.12.1 points to
TE-PCALC-VERIFY: 2.2.2.2, 192.1.12.2
*Dec 29 23:29:53.619:
TE-PCALC-VERIFY: Verify:
TE-PCALC-VERIFY: 2.2.2.2, 192.1.23.2 points to
TE-PCALC-VERIFY: 3.3.3.3, 192.1.23.3
*Dec 29 23:29:53.619:
TE-PCALC-VERIFY: VERIFY to 3.3.3.3 PASSED
*Dec 29 23:29:53.619:
TE-PCALC-PATH: 1.1.1.1_34->5.5.5.5_0 {7}: Area (ospf 1 area 1) Path Lookup end: path found
*Dec 29 23:29:53.619:
TE-PCALC-API: 1.1.1.1_34->5.5.5.5_0 {7}: P2P LSP Path Lookup result: success
*Dec 29 23:29:53.619:
TE-SIG-HE: Tunnel0 [34]->5.5.5.5: RSVP head-end open
*Dec 29 23:29:53.627:
TE-SIG-HE: Tunnel0 [34]: Activation succeeded
*Dec 29 23:29:53.919:
TE-SIG-LM: 1.1.1.1_34->5.5.5.5_0 {7}: received ADD RESV request
*Dec 29 23:29:53.919:
TE-SIG-LM: 1.1.1.1_34->5.5.5.5_0 {7}: path next hop is 192.1.12.2
(FastEthernet1/0)
*Dec 29 23:29:53.923:
TE-SIG: Installed up_tag 4294967294
*Dec 29 23:29:53.923:
TE-SIG: Installed down_tag 18
*Dec 29 23:29:53.923:
TE-SIG-LM: 1.1.1.1_34->5.5.5.5_0 {7}: sending ADD RESV reply
*Dec 29 23:29:53.927:
TE-SIG-HE: Tunnel0 [34]->5.5.5.5: received RESV CREATE
*Dec 29 23:29:53.927:
TE-SIG-HE: Tunnel0 [34]->5.5.5.5: notified of new label information
*Dec 29 23:29:53.927: FastEthernet1/0, nhop 192.1.12.2,
frame, 18
*Dec 29 23:29:53.927:
TE-SIG-HE: Tunnel0 [34]->5.5.5.5: label information Changed
*Dec 29 23:29:53.927:
TE-SIG-HE: Tunnel0: route change: FastEthernet1/0:16->FastEthernet1/0:18
*Dec 29 23:29:54.339:
%SYS-5-CONFIG_I: Configured from console by console
R3#debug mpls traffic-eng
tunnels signalling
MPLS traffic-eng tunnels
signalling debugging is on
R3#debug mpls traffic-eng
path lookup
MPLS traffic-eng path
lookup events debugging is on
R3#
*Dec 29 23:29:52.115:
TE-SIG-LM: 1.1.1.1_1->5.5.5.5_0 {7}: received DELETE RESV request
*Dec 29 23:29:52.119:
TE-SIG-LM: 1.1.1.1_1->5.5.5.5_0 {7}: path previous hop is 192.1.23.2
(FastEthernet1/0)
*Dec 29 23:29:52.119:
TE-SIG-LM: 1.1.1.1_1->5.5.5.5_0 {7}: path next hop is 192.1.37.7
(FastEthernet2/1)
*Dec 29 23:29:52.123: TE-SIG-LM:
1.1.1.1_1->5.5.5.5_0 {7}: sending DELETE RESV reply
*Dec 29 23:29:52.131:
TE-PCALC-PATH: 3.3.3.3_1->7.7.7.7_0 {7}: Freeing rrr_path_setup_t
*Dec 29 23:29:52.131:
TE-PCALC-PATH: 3.3.3.3_1->7.7.7.7_0 {7}: Free all paths in path tree
*Dec 29 23:29:53.447:
TE-PCALC-API: 1.1.1.1_34->7.7.7.7_0 {7}: LSP Path Expand called
*Dec 29 23:29:53.451:
TE-PCALC: 1.1.1.1_34->7.7.7.7_0 {7}: Path Request Info
*Dec 29 23:29:53.451: Flags:
END_SWCAP_UNKNOWN
*Dec 29 23:29:53.451: IP explicit-path: None (dynamic)
*Dec 29 23:29:53.451: bw 0, min_bw 0, metric: 0
*Dec 29 23:29:53.451: setup_pri 7, hold_pri 7
*Dec 29 23:29:53.451: affinity_bits 0x0, affinity_mask 0x0
*Dec 29 23:29:53.451:
TE-PCALC-PATH: 1.1.1.1_34->7.7.7.7_0 {7}: rrr_pcalc_lsr_expand: Exclude node: 2.2.2.2 (intf: 192.1.23.2)
*Dec 29 23:29:53.451:
TE-PCALC-PATH: 1.1.1.1_34->7.7.7.7_0 {7}: rrr_pcalc_lsr_expand: Exclude node: 1.1.1.1 (intf: 192.1.12.1)
*Dec 29 23:29:53.455:
TE-PCALC-PATH: 1.1.1.1_34->7.7.7.7_0 {7}: Area (ospf 1 area 0) Path Lookup begin
*Dec 29 23:29:53.455:
TE-PCALC-PATH: exclude_path: system_id 0-0-0-0-0-0-0 not known!
*Dec 29 23:29:53.455:
TE-PCALC-PATH: exclude_path: system_id 0-0-0-0-0-0-0 not known!
*Dec 29 23:29:53.455:
TE-PCALC-PATH:Path from 3.3.3.3 -> 7.7.7.7:
*Dec 29 23:29:53.455: 192.1.37.7->0.0.0.0 (admin_weight=1):
*Dec 29 23:29:53.455: 192.1.37.3->0.0.0.0 (admin_weight=1):
*Dec 29 23:29:53.455: num_hops 3, accumulated_aw 1, min_bw 75000
*Dec 29 23:29:53.455:
TE-PCALC-PATH: 3.3.3.3_34->7.7.7.7_0 {7}: Area (ospf 1 area 0) Path Lookup end: path found
*Dec 29 23:29:53.455:
TE-PCALC-PATH: 3.3.3.3_34->7.7.7.7_0 {7}: Area (ospf 1 area 2) Path Lookup begin
*Dec 29 23:29:53.455:
TE-PCALC-PATH: exclude_path: system_id 0-0-0-0-0-0-0 not known!
*Dec 29 23:29:53.455:
TE-PCALC-PATH: exclude_path: system_id 0-0-0-0-0-0-0 not known!
*Dec 29 23:29:53.455:
TE-PCALC-PATH:Path from 3.3.3.3 -> 7.7.7.7:
*Dec 29 23:29:53.455: 192.1.47.7->0.0.0.0 (admin_weight=2):
*Dec 29 23:29:53.459: 192.1.47.4->0.0.0.0 (admin_weight=2):
*Dec 29 23:29:53.459: 192.1.34.4->0.0.0.0 (admin_weight=1):
*Dec 29 23:29:53.459: 192.1.34.3->0.0.0.0 (admin_weight=1):
*Dec 29 23:29:53.459: num_hops 5, accumulated_aw 2, min_bw 75000
*Dec 29 23:29:53.459:
TE-PCALC-PATH: 3.3.3.3_34->7.7.7.7_0 {7}: Area (ospf 1 area 2) Path Lookup end: path found
*Dec 29 23:29:53.459:
TE-PCALC-PATH: 3.3.3.3_34->7.7.7.7_0 {7}: Freeing rrr_path_setup_t
*Dec 29 23:29:53.459:
TE-PCALC-PATH: 3.3.3.3_34->7.7.7.7_0 {7}: Free all paths in path tree
*Dec 29 23:29:53.459:
7.7.7.7 expands to:
*Dec 29 23:29:53.459:
192.1.37.3
*Dec 29 23:29:53.459:
192.1.37.7
*Dec 29 23:29:53.459:
7.7.7.7
*Dec 29 23:29:53.459:
TE-PCALC-API: 3.3.3.3_34->7.7.7.7_0 {7}: LSP Path Expand result: success
*Dec 29 23:29:53.459:
TE-PCALC-PATH: 3.3.3.3_34->7.7.7.7_0 {7}: Freeing rrr_path_setup_t
*Dec 29 23:29:53.615:
TE-SIG-LM: 1.1.1.1_34->5.5.5.5_0 {7}: received ADD RESV request
*Dec 29 23:29:53.615:
TE-SIG-LM: 1.1.1.1_34->5.5.5.5_0 {7}: path previous hop is 192.1.23.2
(FastEthernet1/0)
*Dec 29 23:29:53.615:
TE-SIG-LM: 1.1.1.1_34->5.5.5.5_0 {7}: path next hop is 192.1.37.7
(FastEthernet2/1)
*Dec 29 23:29:53.623:
TE-SIG: Installed up_tag 17
*Dec 29 23:29:53.623:
TE-SIG: Installed down_tag 18
*Dec 29 23:29:53.627:
TE-SIG-LM: 1.1.1.1_34->5.5.5.5_0 {7}: sending ADD RESV reply