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