Using the same topology and configuration from the previous MPLS-TEbasic configuration lab
As you may recall I have configured the path
R3->R6->R7 with RSVP bandwidth of 50Kbps while the path
R3->R4->R5->R7 has been configured with 100Kbps, and because the
MPLS-TE tunnel has a constrain which required a 100Kbps path this path wasn’t
valid and both tunnels were going through R3->R4->R5->R7 path.
So now I configured path R3->R6->R7 with 100Kbps, what
will happen to the tunnels?
R3#sh mpls traffic-eng
tunnels
Name: R3_t37 (Tunnel37)
Destination: 7.7.7.7
Status:
Admin: up Oper: up Path: valid Signalling: connected
path option 1, type dynamic (Basis for
Setup, path weight 3)
Config Parameters:
Bandwidth: 100 kbps (Global) Priority: 0
0 Affinity: 0x0/0xFFFF
Metric Type: TE (default)
AutoRoute: enabled
LockDown: disabled Loadshare:
100 bw-based
auto-bw: disabled
Active Path Option Parameters:
State: dynamic path option 1 is active
BandwidthOverride: disabled LockDown: disabled Verbatim: disabled
InLabel
: -
OutLabel : FastEthernet2/0, 24
RSVP Signalling Info:
Src 3.3.3.3, Dst 7.7.7.7, Tun_Id 37,
Tun_Instance 1
RSVP Path Info:
My Address: 10.1.34.3
Explicit Route: 10.1.34.4 10.1.45.4 10.1.45.5 10.1.57.5
10.1.57.7
7.7.7.7
Record
Route: NONE
Tspec: ave rate=100 kbits, burst=1000
bytes, peak rate=100 kbits
RSVP Resv Info:
Record
Route: NONE
Fspec: ave rate=100 kbits, burst=1000
bytes, peak rate=100 kbits
History:
Tunnel:
Time since created: 1 hours, 41 minutes
Time since path change: 1 hours, 41
minutes
Number of LSP IDs (Tun_Instances) used:
1
Current LSP:
Uptime: 1 hours, 41 minutes
LSP Tunnel R7_t37 is
signalled, connection is up
InLabel
: FastEthernet2/0, implicit-null
OutLabel :
-
RSVP Signalling Info:
Src 7.7.7.7, Dst 3.3.3.3, Tun_Id 37,
Tun_Instance 1
RSVP Path Info:
My Address: 3.3.3.3
Explicit Route: NONE
Record
Route: NONE
Tspec: ave rate=100 kbits, burst=1000
bytes, peak rate=100 kbits
RSVP Resv Info:
Record
Route: NONE
Fspec: ave rate=100 kbits, burst=1000
bytes, peak rate=100 kbits
R3#sh mpls traffic-eng
tunnels summary
Signalling Summary:
LSP Tunnels Process: running
Passive LSP Listener: running
RSVP Process: running
Forwarding: enabled
Head: 1 interfaces, 1 active signalling
attempts, 1 established
1 activations, 0 deactivations
0 SSO recovery attempts, 0 SSO
recovered
Midpoints: 0, Tails: 1
Periodic reoptimization: every 3600 seconds, next in 64 seconds
Periodic FRR Promotion: Not Running
Periodic auto-bw collection: every 300 seconds, next in 64 seconds
|
You can see that tunnel re-optimization occurs once in every
1 hour so only after that period of time the tunnel will recalculate the LSP
and choose best new one:
R3#sh mpls traffic-eng
tunnels
Name: R3_t37 (Tunnel37) Destination: 7.7.7.7
Status:
Admin: up Oper: up Path: valid Signalling: connected
path option 1, type dynamic (Basis for
Setup, path weight 2)
Config Parameters:
Bandwidth: 100 kbps (Global) Priority: 0
0 Affinity: 0x0/0xFFFF
Metric Type: TE (default)
AutoRoute: enabled
LockDown: disabled Loadshare:
100 bw-based
auto-bw: disabled
Active Path Option Parameters:
State: dynamic path option 1 is active
BandwidthOverride: disabled LockDown: disabled Verbatim: disabled
InLabel
: -
OutLabel : FastEthernet2/1, 20
RSVP Signalling Info:
Src 3.3.3.3, Dst 7.7.7.7, Tun_Id 37,
Tun_Instance 3
RSVP Path Info:
My Address: 10.1.36.3
Explicit Route: 10.1.36.6 10.1.67.6 10.1.67.7 7.7.7.7
Record
Route: NONE
Tspec: ave rate=100 kbits, burst=1000
bytes, peak rate=100 kbits
RSVP Resv Info:
Record
Route: NONE
Fspec: ave rate=100 kbits, burst=1000 bytes,
peak rate=100 kbits
History:
Tunnel:
Time since created: 1 hours, 51 minutes
Time since path change: 8 minutes, 7
seconds
Number of LSP IDs (Tun_Instances) used:
3
Current LSP:
Uptime: 8 minutes, 10 seconds
Selection: reoptimization
Prior LSP:
ID: path option 1 [1]
Removal Trigger: reoptimization
completed
LSP Tunnel R7_t37 is
signalled, connection is up
InLabel
: FastEthernet2/1, implicit-null
OutLabel :
-
RSVP Signalling Info:
Src 7.7.7.7, Dst 3.3.3.3, Tun_Id 37,
Tun_Instance 3
RSVP Path Info:
My Address: 3.3.3.3
Explicit Route: NONE
Record
Route: NONE
Tspec: ave rate=100 kbits, burst=1000
bytes, peak rate=100 kbits
RSVP Resv Info:
Record
Route: NONE
Fspec: ave rate=100 kbits, burst=1000
bytes, peak rate=100 kbits
|
We can set the re-optimization period by issue the following
command:
R3(config)#mpls traffic-eng
reoptimize timers frequency 60
|
Or initiate a re-optimization manually by issuing the
command in privilege mode:
R3#mpls traffic-eng
reoptimize tunnel 37
|
Now both tunnels, tunnel 37 and tunnel 73 are going in the
same LSP through R3->R6->R7, but what if I want to do load balance between
both (physical) paths?
Let’s configure an explicit path for tunnel 37 on R3:
ip explicit-path name TUN37-PATH
next-address 10.1.34.4
next-address 10.1.45.5
next-address 10.1.57.7
!
interface tunnel 37
tunnel mpls traffic-eng path-option 1
explicit name TUN37-PATH
|
By this I have instructed explicitly, to tunnel 37, the path
it should go to the tailend – R7.
Now let’s look and tunnel 37 path:
R3#show mpls traffic-eng
tunnels tunnel 37
Name: R3_t37 (Tunnel37)
Destination: 7.7.7.7
Status:
Admin: up Oper: up Path: valid Signalling: connected
path option 1, type explicit TUN37-PATH
(Basis for Setup, path weight 3)
Config Parameters:
Bandwidth: 100 kbps (Global) Priority: 0
0 Affinity: 0x0/0xFFFF
Metric Type: TE (default)
AutoRoute: enabled
LockDown: disabled Loadshare:
100 bw-based
auto-bw: disabled
Active Path Option Parameters:
State: explicit path option 1 is active
BandwidthOverride: disabled LockDown: disabled Verbatim: disabled
InLabel
: -
OutLabel : FastEthernet2/0, 23
RSVP Signalling Info:
Src 3.3.3.3, Dst 7.7.7.7, Tun_Id 37,
Tun_Instance 114
RSVP Path Info:
My Address: 10.1.34.3
Explicit Route: 10.1.34.4 10.1.45.4 10.1.45.5 10.1.57.5
10.1.57.7
7.7.7.7
Record
Route: NONE
Tspec: ave rate=100 kbits, burst=1000
bytes, peak rate=100 kbits
RSVP Resv Info:
Record
Route: NONE
Fspec: ave rate=100 kbits, burst=1000
bytes, peak rate=100 kbits
Shortest Unconstrained Path Info:
Path Weight: 2 (TE)
Explicit Route: 10.1.36.3 10.1.36.6
10.1.67.6 10.1.67.7
7.7.7.7
History:
Tunnel:
Time since created: 3 hours, 50 minutes
Time since path change: 6 minutes, 40
seconds
Number of LSP IDs (Tun_Instances) used: 114
Current LSP:
Uptime: 6 minutes, 40 seconds
Prior LSP:
ID: path option 1 [3]
Removal Trigger: configuration changed
|
And verify the tunnel path and reachability:
R3#ping mpls traffic-eng
tunnel 37
Sending 5, 100-byte MPLS
Echos to Tunnel37,
timeout is 2 seconds, send interval is 0
msec:
Codes: '!' - success, 'Q' -
request not sent, '.' - timeout,
'L' - labeled output interface, 'B' -
unlabeled output interface,
'D' - DS Map mismatch, 'F' - no FEC
mapping, 'f' - FEC mismatch,
'M' - malformed request, 'm' - unsupported
tlvs, 'N' - no label entry,
'P' - no rx intf label prot, 'p' -
premature termination of LSP,
'R' - transit router, 'I' - unknown
upstream index,
'X' - unknown return code, 'x' - return
code 0
Type escape sequence to
abort.
!!!!!
Success rate is 100 percent
(5/5), round-trip min/avg/max = 72/87/112 ms
R3#traceroute mpls
traffic-eng tunnel 37
Tracing MPLS TE Label
Switched Path on Tunnel37, timeout is 2 seconds
Codes: '!' - success, 'Q' -
request not sent, '.' - timeout,
'L' - labeled output interface, 'B' -
unlabeled output interface,
'D' - DS Map mismatch, 'F' - no FEC
mapping, 'f' - FEC mismatch,
'M' - malformed request, 'm' - unsupported
tlvs, 'N' - no label entry,
'P' - no rx intf label prot, 'p' -
premature termination of LSP,
'R' - transit router, 'I' - unknown
upstream index,
'X' - unknown return code, 'x' - return
code 0
Type escape sequence to
abort.
0 10.1.34.3 MRU 1500 [Labels: 23 Exp: 0]
L 1 10.1.34.4 MRU 1500
[Labels: 23 Exp: 0] 88 ms
L 2 10.1.45.5 MRU 1504
[Labels: implicit-null Exp: 0] 60 ms
! 3 10.1.57.7 84 ms
|
Now we have two tunnels, 37 and 73, where 37 goes through
R3->R4->R5->R7 using explicit path while 73 goes through
R3->R6->R7 using dynamic path. Looking on the routing table of R3 toward
R7:
R3#sh ip route 7.7.7.7
Routing entry for 7.7.7.7/32
Known via "ospf 1", distance 110,
metric 3, type intra area
Last update from 7.7.7.7 on Tunnel37,
04:00:35 ago
Routing Descriptor Blocks:
* 7.7.7.7, from 7.7.7.7, 04:00:35 ago, via Tunnel37
Route metric is 3, traffic share count
is 1
7.7.7.7, from 7.7.7.7, 04:00:35 ago, via
Tunnel73
Route metric is 3, traffic share count
is 1
|
We can see that tunnel 37 is the best route and that’s
because of the tunnel priority:
R3#sh running-config
interface tunnel 37
Building configuration...
Current configuration : 323
bytes
!
interface Tunnel37
ip unnumbered Loopback0
mpls ip
tunnel destination 7.7.7.7
tunnel mode mpls traffic-eng
tunnel mpls traffic-eng autoroute announce
tunnel mpls traffic-eng priority 0 0
tunnel mpls traffic-eng bandwidth 100
tunnel mpls traffic-eng path-option 1
explicit name TUN37-PATH
no routing dynamic
end
R3#sh running-config
interface tunnel 73
Building configuration...
Current configuration : 332
bytes
!
interface Tunnel73
ip unnumbered Loopback0
mpls traffic-eng tunnels
mpls ip
tunnel destination 7.7.7.7
tunnel mode mpls traffic-eng
tunnel mpls traffic-eng autoroute announce
tunnel mpls traffic-eng priority 1 1
tunnel mpls traffic-eng bandwidth 100
tunnel mpls traffic-eng path-option 1
dynamic
no routing dynamic
end
|
We can change the priority between the tunnels to choose the
preferred tunnel to use, remember lower is better.
R3(config)#interface tunnel
37
R3(config-if)#tunnel mpls
traffic-eng priority 2 2
|
And the result:
R3#sh ip route 7.7.7.7
Routing entry for 7.7.7.7/32
Known via "ospf 1", distance 110,
metric 3, type intra area
Last update from 7.7.7.7 on Tunnel73,
00:01:13 ago
Routing Descriptor Blocks:
* 7.7.7.7, from 7.7.7.7, 00:01:13 ago, via Tunnel73
Route metric is 3, traffic share count
is 1
7.7.7.7, from 7.7.7.7, 00:01:13 ago, via
Tunnel37
Route metric is 3, traffic share count
is 1
|
Don’t forget that the tunnels are unidirectional so we need
to change the same on R7 else we will have asymmetric route.
No comments:
Post a Comment