Tuesday, February 4, 2014

Link Load Balancing using MPLS TE

Why MPLS TE?

There are multiple IGP  protocols which can do load sharing, but the condition is that both the links has to be connected on a single router. Even if we use  OSPF & ISIS, they can only do equal cost load balancing.
Eigrp can do unequal cost load balancing but practically it is not preferred to use in network because of its proprietary feature.

But  MPLS-TE can do unequal cost load balancing and also it can do load balancing with two links which are not connected on a single router. This protocol  was mainly designed for the purpose of load balancing.

MPLS - TE is supported by both the IGP (OSPF and ISIS). Hence you will need to have the IGP running in the network.

Configuring MPLS TE:

Consider the below topology  and assume that we are running  ISIS as routing protocol between the routers.
In ISIS protocol lower the metric is preferred. Hence the normal ISIS path is mentioned in blue line below.

We can use MPLS - TE tunnels from R1 to R3 to do the load balancing on both the links.
The Traffic Engineering tunnel T0 has to be configured with dynamic path and the Traffic Engineering  tunnel T1 has to be configured with explicit path mentioning the explicit path to go via R1-> R2->R4->R3.
Once the te tunnels are created and up the Traffic Engineering tunnels will take the IGP metric and will get added in the routing table. Say if the IGP between R1 and R3 has a metric of 100 the tunnels between R1 and R3 will use the same metric(We also can change this by using "tunnel mpls traffic-eng path-selection metric te" inside tunnel config). so now for POP-A to reach POP-B it has two routes one through Te0 and Te1.
When you have the Te tunnels up the physical path will not be shown in the routing table.
if Airtel link goes down the Te0 tunnel will go down and the traffic will go via T1 tunnel.



What happens when you have another POPs connects to POP-B.
For POP-A To reach POP-C or POP-D we might have already learned a route on R1 saying go via R3(learned via IGP), once the Te tunnels are up for those subnets also the traffic will flow through the Te tunnels.


Configuration of R1.

mpls traffic-eng tunnels
router isis core
   net 49.0000.0004.0000.0251.00
   metric-style wide
   fast-flood 10
   mpls traffic-eng router-id Loopback162
   mpls traffic-eng level-2

interface GigabitEthernet0/2/4
   description LINK_TO_R3_AIRTEL
   ip address 10.128.1.1 255.255.255.252
   ip router isis core
   mpls traffic-eng tunnels
   isis circuit-type level-2-only
   isis metric 100
   ip rsvp bandwidth

interface Tunnel0
  description TUNEL_TO_R3_VIA_AIRTEL
  ip unnumbered Loopback162
  tunnel mode mpls traffic-eng
  tunnel destination 10.1.1.3
  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


interface Tunnel1
  description TUNEL_TO_R3_VIA_TATA
  ip unnumbered Loopback162
  tunnel mode mpls traffic-eng
  tunnel destination 10.1.1.3
  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 explicit name R2-R4-R3

ip explicit-path name R2-R4-R3 enable
 next-address  <R2 Ip address)
 next-address  <R4 IP address)
 next-address  <R3 IP address)

Please note MPLS TE tunnels are one way traffic , we have to configure the R3 also with the Tunnel configurations to get the reverse path also to do load balancing.


Advantages of using MPLS TE
  • More Control on traffic
  • Utilizing all the links in the network.
  • You can have part of your network running MPLS te and other network 
Disadvantage of using MPLS TE
  • It is not supported on Port channel interface.
  • VRF interfaces are not supported.
  • Cisco lower end routers and ISR's are not supported with this features





No comments:

Post a Comment