cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
6400
Views
13
Helpful
10
Replies

MPLS TE Load Balancing

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

10 Replies 10

mtsb
Level 1
Level 1

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

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

http://www.cisco.com/en/US/docs/routers/xr12000/software/xr12k_r4.1/interfaces/configuration/guide/hc41lbun.pdf

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

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 above 
I don't think you can bundle few POS interfaces together. Only Serial T1/E1 links can be bundled.

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

AFAIK, it will be random only. Unless we have explicit paths set at head end LSR, we cannot control that.

Thanks for your assistance :-)

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

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

yumin
Level 1
Level 1

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.

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

Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: