Issue
In this
example we will go through MPLS L3VPN using RSVP as our label protocol as well
as going through TE and how we will control our traffic as needed using
explicit paths and using dynamic path option as our backup in case of link
failure inside the backbone
The IGP
inside the network used is ISIS and static routing is PE-CE routing protocols
Configuration
R1
R1#sh run int f1/0
interface FastEthernet1/0
ip address 192.1.12.1 255.255.255.0
speed 100
duplex full
R1#sh run int lo0
interface Loopback0
ip address 1.1.1.1 255.255.255.255
R1#sh run | sec ip route
ip route 0.0.0.0 0.0.0.0
192.1.12.2
R2
R2#sh run int f1/0
interface FastEthernet1/0
vrf forwarding MSSK
ip address 192.1.12.2 255.255.255.0
speed 100
duplex full
R2#sh run int f1/1
interface FastEthernet1/1
ip address 192.1.23.2 255.255.255.0
ip router isis 1
speed 100
duplex full
mpls traffic-eng tunnels
isis metric 20
ip rsvp bandwidth
R2#sh run int f2/0
interface FastEthernet2/0
ip address 192.1.25.2 255.255.255.0
ip router isis 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
R2#sh run int tun0
tunnel mode mpls
traffic-eng
ip unnumbered loopback0
tunnel destination 4.4.4.4
tunnel mpls traffic-eng
autoroute announce
tunnel mpls traffic-eng
path-option 1 explicit name PATH
tunnel mpls traffic-eng
path-option 2 dynamic
R2#sh run | sec ip route
ip route vrf MSSK 1.1.1.1
255.255.255.255 192.1.12.1
R2#sh run | sec vrf def
vrf definition MSSK
rd 100:1
route-target export 100:1
route-target import 100:1
!
address-family ipv4
exit-address-family
R2#sh run | sec router
isis
router isis 1
net 49.0001.0000.0000.0002.00
is-type level-2-only
metric-style wide
passive-interface Loopback0
mpls traffic-eng router-id Loopback0
mpls traffic-eng level-2
R2#sh run | sec router bgp
router bgp 100
bgp log-neighbor-changes
no bgp default ipv4-unicast
neighbor 4.4.4.4 remote-as 100
neighbor 4.4.4.4 update-source Loopback0
!
address-family ipv4
exit-address-family
!
address-family vpnv4
neighbor 4.4.4.4 activate
neighbor 4.4.4.4 send-community both
exit-address-family
!
address-family ipv4 vrf MSSK
network 1.1.1.1 mask 255.255.255.255
network 192.1.12.0
exit-address-family
R2#sh run | inc mpls
mpls traffic-eng tunnels
ip explicit-paths name
PATH
next-address 192.1.23.3
next-address 192.1.35.5
next-address 192.1.45.4
next-address 4.4.4.4
R3
R3#sh run int f1/0
interface FastEthernet1/0
ip address 192.1.23.3 255.255.255.0
ip router isis 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 router isis 1
speed 100
duplex full
mpls traffic-eng tunnels
ip rsvp bandwidth
R3#sh run int f2/0
interface FastEthernet2/0
ip address 192.1.35.3 255.255.255.0
ip router isis 1
shutdown
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
R3#sh run | sec router
isis
router isis 1
net 49.0001.0000.0000.0003.00
is-type level-2-only
metric-style wide
passive-interface Loopback0
mpls traffic-eng router-id Loopback0
mpls traffic-eng level-2
R3#sh run | inc mpls
mpls traffic-eng tunnels
R4
R4#sh run int f1/0
interface FastEthernet1/0
vrf forwarding MSSK
ip address 192.1.46.4 255.255.255.0
speed 100
duplex full
R4#sh run int f1/1
interface FastEthernet1/1
ip address 192.1.34.4 255.255.255.0
ip router isis 1
speed 100
duplex full
mpls traffic-eng tunnels
ip rsvp bandwidth
R4#sh run int f2/0
interface FastEthernet2/0
ip address 192.1.45.4 255.255.255.0
ip router isis 1
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
R4#sh run int tun0
tunnel mode mpls
traffic-eng
ip unnumbered loopback0
tunnel destination 2.2.2.2
tunnel mpls traffic-eng
autoroute announce
tunnel mpls traffic-eng
path-option 1 explicit name PATH
tunnel mpls traffic-eng
path-option 2 dynamic
R4#sh run | sec router
isis
router isis 1
net 49.0001.0000.0000.0004.00
is-type level-2-only
metric-style wide
passive-interface Loopback0
mpls traffic-eng router-id Loopback0
mpls traffic-eng level-2
R4#sh run | sec router bgp
router bgp 100
bgp log-neighbor-changes
no bgp default ipv4-unicast
neighbor 2.2.2.2 remote-as 100
neighbor 2.2.2.2 update-source Loopback0
!
address-family ipv4
exit-address-family
!
address-family vpnv4
neighbor 2.2.2.2 activate
neighbor 2.2.2.2 send-community both
exit-address-family
!
address-family ipv4 vrf MSSK
network 6.6.6.6 mask 255.255.255.255
network 192.1.46.0
exit-address-family
R4#sh run | inc mpls
mpls traffic-eng tunnels
R4#sh run | inc ip route
ip route vrf MSSK 6.6.6.6
255.255.255.255 192.1.46.6
ip explicit-paths name
PATH
next-address 192.1.45.5
next-address 192.1.35.3
next-address 192.1.23.2
next-address 2.2.2.2
R5
R5#sh run int f1/0
interface FastEthernet1/0
ip address 192.1.25.5 255.255.255.0
ip router isis 1
speed 100
duplex full
mpls traffic-eng tunnels
ip rsvp bandwidth
R5#sh run int f1/1
interface FastEthernet1/1
ip address 192.1.45.5 255.255.255.0
ip router isis 1
speed 100
duplex full
mpls traffic-eng tunnels
ip rsvp bandwidth
R5#sh run int f2/0
interface FastEthernet2/0
ip address 192.1.35.5 255.255.255.0
ip router isis 1
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
R5#sh run | sec router
isis
router isis 1
net 49.0001.0000.0000.0005.00
is-type level-2-only
metric-style wide
passive-interface Loopback0
mpls traffic-eng router-id Loopback0
mpls traffic-eng level-2
R5#sh run | inc mpls
mpls traffic-eng tunnels
R6
R6#sh run int f1/0
interface FastEthernet1/0
ip address 192.1.46.6 255.255.255.0
speed 100
duplex full
R6#sh run int lo0
interface Loopback0
ip address 6.6.6.6 255.255.255.255
R6#sh run | inc ip route
ip route 0.0.0.0 0.0.0.0
192.1.46.4
Verification
Testing reachablity
between our CEs
R1#ping 6.6.6.6 source
1.1.1.1
Type escape sequence to
abort.
Sending 5, 100-byte ICMP
Echos to 6.6.6.6, 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/22/28 ms
R1#traceroute 6.6.6.6
source lo0
Type escape sequence to
abort.
Tracing the route to
6.6.6.6
VRF info: (vrf in name/id,
vrf out name/id)
1 192.1.12.2 4 msec 4 msec 4 msec
2 192.1.23.3 [MPLS: Labels 16/16 Exp 0] 28
msec 20 msec 20 msec
3 192.1.35.5 [MPLS: Labels 17/16 Exp 0] 24
msec 20 msec 20 msec
4 192.1.46.4 [MPLS: Label 16 Exp 0] 20 msec
16 msec 16 msec
5 192.1.46.6 20 msec 20 msec *
Checking our explicit path
configured
R2#sh ip explicit-paths
PATH PATH (strict source
route, path complete, generation 13)
1: next-address 192.1.23.3
2: next-address 192.1.35.5
3: next-address 192.1.45.4
4: next-address 4.4.4.4
R6#traceroute 1.1.1.1 sou
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.46.4 8 msec 0 msec 4 msec
2 192.1.45.5 [MPLS: Labels 19/16 Exp 0] 24
msec 20 msec 20 msec
3 192.1.35.3 [MPLS: Labels 18/16 Exp 0] 20
msec 20 msec 20 msec
4 192.1.12.2 [MPLS: Label 16 Exp 0] 20 msec
16 msec 16 msec
5 192.1.12.1 20 msec 20 msec *
R4#sh ip explicit-paths
PATH PATH (strict source
route, path complete, generation 11)
1: next-address 192.1.45.5
2: next-address 192.1.35.3
3: next-address 192.1.23.2
4: next-address 2.2.2.2
R2#sh mpls traffic-eng
tunnels
P2P TUNNELS/LSPs:
Name: R2_t0 (Tunnel0)
Destination: 4.4.4.4
Status:
Admin: up Oper: up Path: valid Signalling: connected
path option 1, type explicit PATH
(Basis for Setup, path weight 40)
Config Parameters:
Bandwidth: 0 kbps (Global) Priority: 7
7 Affinity: 0x0/0xFFFF
Metric Type: TE (default)
AutoRoute: enabled LockDown: disabled Loadshare: 0 [0] bw-based
auto-bw: disabled
Active Path Option Parameters:
State: explicit path option 1 is active
BandwidthOverride: disabled LockDown: disabled Verbatim: disabled
InLabel : -
OutLabel : FastEthernet1/1, 16
Next Hop : 192.1.23.3
RSVP Signalling Info:
Src 2.2.2.2, Dst 4.4.4.4, Tun_Id 0,
Tun_Instance 8812
RSVP Path Info:
My Address: 192.1.23.2
Explicit Route: 192.1.23.3 192.1.35.3
192.1.35.5 192.1.45.5
192.1.45.4 4.4.4.4
Record
Route: NONE
Tspec: ave rate=0 kbits, burst=1000
bytes, peak rate=0 kbits
RSVP Resv Info:
Record
Route: NONE
Fspec: ave rate=0 kbits, burst=1000 bytes, peak rate=0 kbits
History:
Tunnel:
Time since created: 3 days, 59 minutes
Time since path change: 5 minutes, 8
seconds
Number of LSP IDs (Tun_Instances) used:
8812
Current LSP: [ID: 8812]
Uptime: 4 minutes, 58 seconds
Selection: reoptimization
Prior LSP: [ID: 8811]
ID: path option unknown
Removal Trigger: configuration changed
LSP Tunnel R4_t0 is
signalled, connection is up
InLabel
: FastEthernet1/1, implicit-null
Prev Hop : 192.1.23.3
OutLabel :
-
RSVP Signalling Info:
Src 4.4.4.4, Dst 2.2.2.2, Tun_Id 0,
Tun_Instance 8805
RSVP Path Info:
My Address: 2.2.2.2
Explicit Route: NONE
Record
Route: NONE
Tspec: ave rate=0 kbits, burst=1000
bytes, peak rate=0 kbits
RSVP Resv Info:
Record
Route: NONE
Fspec: ave rate=0 kbits, burst=1000
bytes, peak rate=0 kbits
P2MP TUNNELS:
P2MP SUB-LSPS:
R2#sh mpls
forwarding-table
Local Outgoing
Prefix Bytes Label Outgoing
Next Hop
Label Label
or Tunnel Id Switched interface
16 No Label 1.1.1.1/32[V] 12776 Fa1/0 192.1.12.1
17 No Label
192.1.12.0/24[V] 0 aggregate/MSSK
R3#sh mpls
forwarding-table
Local Outgoing
Prefix Bytes Label Outgoing
Next Hop
Label Label
or Tunnel Id Switched interface
16 17 2.2.2.2 0 [8812] 3934 Fa2/0 192.1.35.5
18 Pop Label 4.4.4.4 0 [8805] 4152 Fa1/0 192.1.23.2
Now, we want to configure
backup using lower priority path option
R2(config)#int tun0
R2(config-if)#tunnel mpls
traffic-eng path-option 2 dynamic
R4(config)#int tun0
R4(config-if)#tunnel mpls
traffic-eng path-option 2 dynamic
Now, shutting down one of
the links across the explicit path
R3#conf t
Enter configuration
commands, one per line. End with CNTL/Z.
R3(config)#int f2/0
R3(config-if)#shutdown
R2#sh mpls traffic-eng
tunnels
P2P TUNNELS/LSPs:
Name: R2_t0 (Tunnel0)
Destination: 4.4.4.4
Status:
Admin: up Oper: up Path: valid Signalling: connected
path option 2, type dynamic (Basis for
Setup, path weight 20)
path option 1, type explicit PATH
Config Parameters:
Bandwidth: 0 kbps (Global) Priority: 7
7 Affinity: 0x0/0xFFFF
Metric Type: TE (default)
AutoRoute: enabled LockDown: disabled Loadshare: 0 [0] bw-based
auto-bw: disabled
Active Path Option Parameters:
State: dynamic path option 2 is active
BandwidthOverride: disabled LockDown: disabled Verbatim: disabled
InLabel
: -
OutLabel : FastEthernet2/0, 18
Next Hop : 192.1.25.5
RSVP Signalling Info:
Src 2.2.2.2, Dst 4.4.4.4, Tun_Id 0,
Tun_Instance 8814
RSVP Path Info:
My Address: 192.1.25.2
Explicit Route: 192.1.25.5 192.1.45.5 192.1.45.4 4.4.4.4
Record
Route: NONE
Tspec: ave rate=0 kbits, burst=1000
bytes, peak rate=0 kbits
RSVP Resv Info:
Record
Route: NONE
Fspec: ave rate=0 kbits, burst=1000
bytes, peak rate=0 kbits
History:
Tunnel:
Time since created: 3 days, 1 hours, 3
minutes
Time since path change: 59 seconds
Number of LSP IDs (Tun_Instances) used:
8814
Current LSP: [ID: 8814]
Uptime: 59 seconds
Selection: reoptimization
Prior LSP: [ID: 8812]
ID: path option unknown
Removal Trigger: path error
LSP Tunnel R4_t0 is
signalled, connection is up
InLabel
: FastEthernet1/1, implicit-null
Prev Hop : 192.1.23.3
OutLabel :
-
RSVP Signalling Info:
Src 4.4.4.4, Dst 2.2.2.2, Tun_Id 0,
Tun_Instance 8807
RSVP Path Info:
My Address: 2.2.2.2
Explicit Route: NONE
Record
Route: NONE
Tspec: ave rate=0 kbits, burst=1000
bytes, peak rate=0 kbits
RSVP Resv Info:
Record
Route: NONE
Fspec: ave rate=0 kbits, burst=1000
bytes, peak rate=0 kbits
P2MP TUNNELS:
P2MP SUB-LSPS:
R1#traceroute 6.6.6.6
source lo0
Type escape sequence to
abort.
Tracing the route to
6.6.6.6
VRF info: (vrf in name/id,
vrf out name/id)
1 192.1.12.2 4 msec 0 msec 4 msec
2 192.1.25.5 [MPLS: Labels 18/16 Exp 0] 20
msec 16 msec 16 msec
3 192.1.46.4 [MPLS: Label 16 Exp 0] 24 msec 8
msec 12 msec
4 192.1.46.6 16 msec 16 msec *
As we can see end to end
reachability is maintained but the path now is different as we are using the
dynamic one
No comments:
Post a Comment