cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
2553
Views
5
Helpful
6
Replies

Loadbalancing labelled packets in MPLS VPN

KATTUBAVA E.S
Level 1
Level 1

Hi Experts..

Greetings!

I could see from MPLS fundamentals (2007 Edition) written by Luc de Ghein says the following.,

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------

The algorithm for loadbalancing the MPLS packets becomes as follwos

1) If the MPLS payload is an IPv4 packet, the loadbalancing is done by hashing the source and destination IP addresso fthe IPV4 header

2) If the MPLS payload is an IPv6 packet, the load balacing is done by hashing the source and destination IP address of the IPv6 header

3) If the MPLS payload is not an IPv4 or IPv6 packet, the loadbalancing is done by looking at the vaue of the bottom label.

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------

However in MPLS VPN scenarios, if the P router has 2 equal paths to reach the BGP next-hop (it chooses from CEF) and builds LFIB with two equal label paths to reach the bgp nexthop. On what basis the P router loadbalance the incoming labelled packet for the VPN prefix. As the above rule says if the MPLS payload is an IPv4 packet, the loadbalancing is done by hashing the source and destination IP address of the IPV4 header but here we have 2 labels in label stack (Top label for reaching bgp nexthop and Bottom label for reaching VPN prefix), after looking at the LFIB the top label is removed and we have 2 best label path availabel to choose one from it. Since we still have the bottom label in the label stack how can we check the first nibble of our MPLS payload to see the payload is IPv4 or IPv6 or Something else.

My question here is how does the P router decides which path has to taken for label packet forwarding without disturbing the bottom lable since P router doesn't have any knowledge about the bottom(VPN) label? Will P router remove the bottom label and check the first nibble for payload to decide about the loadbalance hasing and then add the bottom label back in place?? how does it possible.

Thanks

-bava

3 Accepted Solutions

Accepted Solutions

Nagendra Kumar Nainar
Cisco Employee
Cisco Employee

Hi,

P router scans through the label stack and uses the "Bottom of Stack" to identify the last label and check if the following nibble is 4 or 6 to identify the payload header. If it is 4 or 6, it uses the header info as explained above. If it is not 4 or 6 (probably L2 payload), it uses the label stack for load balancing.

-Nagendra

View solution in original post

Hi,

It does not need to know the semantic of the VPN label. A Pr outer can scan through the label stack (it is a matter of scanning every 32 bits till it finds one with BOS flag set). P router simply use it for entropy and does not need to understand what type of label it is.

Thanks,

Nagendra

View solution in original post

Bava,

RFC 4928 holds a generic insight into how ECMP is achieved in MPLS-enabled networks. Because this RFC is authored, among others, by Cisco employees, I would assume that the information contained therein also pertains to Cisco routers.

Best regards,
Peter

View solution in original post

6 Replies 6

Nagendra Kumar Nainar
Cisco Employee
Cisco Employee

Hi,

P router scans through the label stack and uses the "Bottom of Stack" to identify the last label and check if the following nibble is 4 or 6 to identify the payload header. If it is 4 or 6, it uses the header info as explained above. If it is not 4 or 6 (probably L2 payload), it uses the label stack for load balancing.

-Nagendra

Thanks Nagendra. Still I am not clear about the logic here. P router doesn't have any idea about the Bottom of stack label since its a VPN label and without striping off this label how can we check the payload header?

-bava

Hi,

It does not need to know the semantic of the VPN label. A Pr outer can scan through the label stack (it is a matter of scanning every 32 bits till it finds one with BOS flag set). P router simply use it for entropy and does not need to understand what type of label it is.

Thanks,

Nagendra

Thanks Nagendra, can you point me to some document which covers the detail of MPLS loadbalancing..

Thanks

-bava

Bava,

RFC 4928 holds a generic insight into how ECMP is achieved in MPLS-enabled networks. Because this RFC is authored, among others, by Cisco employees, I would assume that the information contained therein also pertains to Cisco routers.

Best regards,
Peter

Hello Peter,

the following is newer:

https://tools.ietf.org/html/rfc7274

the idea is always that of creating "bio diversity" of labelled traffic flows by increasing the size of the label stack by adding artificial (i.e. not necessary from a signalling plane point of view) label on the bottom of stack so that P nodes inspecting up to 5 label levels have been reported. can find a way to roughly load share over equal cost multipath links.

Advise; this  feature might not work with LDP based VPlS (either manual, H-VPLS or using LDP signaling with MP iBGP just for discovery /96 NLRIs draft Martini) either BGP based VPLS using only MP BGP for both auto-discovery and signalling) that uses NLRI with /136 bits long (draft Kompella).

The P nodes inspect the MPLS label stack up to finding the deepest = bottom of stack label.Then they look for the position of the IP version header in the payload if they find 0x04 they suppose IPv4, if they find 06 in that byte they guess IPv6 packets this does not need for the P node to be able to router them at all!.

For non L3 traffic the P routers peform an hash of labels in the label stack, so the smart idea of the entropy additional label help to spread traffic of this kind over ECMP paths.

@Peter: my best compliments for your book for CCIE R&S vol. I written preparation really a step above the usual level of CCIE ECGuides.

I wish to all an happy new year  and Peace for all, and I hope to find time to take part in CSC again.

BR

Giuseppe Larosa