02-23-2012 04:21 AM
Dears,
Would like your assistance plz regarding below
For simplicity consider attached diagram
If we have TE tunnel between PE1 <> PE3 and another one from PE1 <> PE4
Similary one from PE2 <> PE3 and another from PE2 <> PE4
What is the best way to acheive load-balancing on the 3 links between P routers i.e each TE tunnel should take a different link
As I know head LSR computes the path it should take using CSPF and then use RSVP to signal the path
So the question now
1- What link will head LSR choose and why ?
2- How to make sure that another PE (head LSR) wont use the same link cause if his happened I will find a utilized link and the other 2 links are under utilized ??
Many Thanks
Sherif Ismail
02-23-2012 07:18 AM
Hi Sherif,
When you configure a TE tunnel, you would specify an explicit path for that tunnel to use. So, when you configure an explicit path, you manually take care of assigning separate links for every tunnel. In that way you can make sure each LSP is taking a different path and not the one used by other tunnels. Can you give the configuration of any tunnel?
Thanks,
Madhu
02-23-2012 07:59 AM
Thanks Mahdu for your reply
Yes this can be done also came to my mind by using affinity bits ... but still this is static
So If I have so many tunnels in my network ... this would be v.difficult to manage
1- Any way this could be done in a dynamic way ?
2- Also appreicate if you can clarify how will head LSR choose which link to use ?
Actually I was thinking of doing a bundle and configure load-balancing algorithm to use MPLS labels
however
3- I am not sure If load-balancing algorithm can use MPLS labels If I used POS bundle as explained in below URL
4- Also I am not sure if IOS-XR will do the hasing based on 1st, 2nd, 3rd MPLS label or all ?
5- Finally If I am using IOS (not IOS-XR), as I know I wont be able to aggregate POS links as explained above
What do u think ?
I am asking for sake of understanding as I might face this problem soon in my network
Appreciate your assistance
Sherif Ismail
02-23-2012 08:52 AM
Hi Shefiff,
1- Any way this could be done in a dynamic way ?
When you configure a tunnel with path-option as dynamic using "tunnel mpls traffic-eng path-option 1 dynamic" command, head end LSR is going to take the interface which IGP gives as best path to reach the destination network. So, you will loose control on interface selection by the tunnel unless you tune your interface metric and force IGP to advertise as best path. But that is going to be a lot of work redesigning your network.
2- Also appreicate if you can clarify how will head LSR choose which link to use ?Take for example the configuration given below. The tunnel is configured to use the explicit paths mentioned in 'PE2_BACKUP'. In turn the explicit path is configured with IP address
110.0.53.3 which is a back to back connected interface of GigabitEthernet3/0/19. Now, we are sure that the tunnel will choose only Gi3/0/19 at head end LSR.
interface Tunnel1000
ip unnumbered Loopback0
tunnel mode mpls traffic-eng
tunnel destination 10.1.0.2
tunnel mpls traffic-eng priority 1 1
tunnel mpls traffic-eng bandwidth 1
tunnel mpls traffic-eng affinity 0x0 mask 0x0
tunnel mpls traffic-eng path-option 1 explicit name PE2_BACKUP
tunnel mpls traffic-eng record-route
ip explicit-path name PE2_BACKUP enable
next-address 110.0.53.3
next-address 110.0.23.2
next-address 10.1.0.2
!
interface GigabitEthernet3/0/19
ip address 110.0.53.5 255.255.255.0
no ip redirects
ip router isis core
ip flow ingress
ip pim sparse-mode
logging event link-status
load-interval 30
carrier-delay msec 0
mpls ip
mpls traffic-eng tunnels
mls qos trust dscp
hold-queue 4096 in
hold-queue 4096 out
ip rsvp bandwidth 800000 800000
!
3- I am not sure If load-balancing algorithm can use MPLS labels If I used POS bundle as explained in below URL
You mean to say you use etherchannel or port-channel interface and run MPLS over it? Yes, it is supported and load balancing I think will be based on outermost label but varies according to platform.
5- Finally If I am using IOS (not IOS-XR), as I know I wont be able to aggregate POS links as explained aboveI don't think you can bundle few POS interfaces together. Only Serial T1/E1 links can be bundled.
02-23-2012 10:29 AM
Many thanks Madhu
That was v.helpful
One last thing please for point 2. Suppose that path-option is dynmaic and links between P routers have same attributes/cost
What link will head LSR (PE) choose ?
Will it be random or there is a certain criteria ?
Thx
Sherif Ismail
02-23-2012 10:33 PM
AFAIK, it will be random only. Unless we have explicit paths set at head end LSR, we cannot control that.
02-24-2012 03:49 AM
Thanks for your assistance :-)
02-24-2012 05:20 PM
Sherif,
Suppose that path-option is dynmaic and links between P routers have same attributes/cost
What link will head LSR (PE) choose ?
Will it be random or there is a certain criteria ?
AFAIK the load balancing algorithm is the same that is applied in the IP space as well. It will be based on the cef load balancing mechanism.
HTH
Kishore
02-25-2012 03:22 AM
Hi Kishore
First thanks for your reply
I thought of this but I believe it wont be the case here cause all path calculations are done at head LSR (PE) which only have 1 link to P router
load balancing will occur normally as you mentioned but to IP traffic coming to P routers .. however in our case traffic is coming labeled and will follow a certain path that head LSR has determined
Regards
Sherif Ismail
12-18-2012 08:24 PM
here's one way to do it.
first, we need make a few assumptions:
1. 3 links b/w Ps can be any BW, let make it simple, 3 GE links.
2. PEs carry user routes ( either IPv4 or VPNv4 ) and talking BGP with other PEs
here's solution:
1. IGP need to work first.
2. TE tunnel interface b/w Ps. 3 tunnels, with min 600m ( bw has to be 500m+ based on 3 GE links assumption ) reservation. CSPF will do its job to lay 3 TE tunnels on 3 links.
3. turn on LDP on tunnels
4. turn on LDP b/w PEs and Ps
5 done
VPN traffic:
ip pkt get into pe1, pe1 double push vpn label and ldp lable for pe2, mpls pkt sent to p1, p1 swap ldp label then push te label ( 3 labels in stack now, and traffic will be load shared among 3 tunnels ), mpls sent to p2, p2 double pop 2 top labels; mpls pkt sent to pe2 w/ only vpn label left; pe2 found output interface, remove vpn label, sent ip pkt to user.
ipv4 traffic are similar, just 2 labels in stack.
12-20-2012 05:02 AM
Dear Yue
Thanks for your reply
If I understood correctly, you will load balance on the 3 links via rsvp bw reservations .. yes this can be done but still not scalable and If link with the largest BW is down, the TE tunel with the largest bw reservation will remain down
However, your idea may be more scalable If we used different bw rations "tunnel mpls traffic-eng load-share" but at the end you its a matter of try and error so that you can perfectly balance the traffic
Thanks
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide