In MPLS enabled routers, is a unique label generated per Destination prefix in routing Table or is it per Next-hop in the routing table if not both, how is the mapping between unique labels and routing table entry ? Also, if it is per Destination prefix, how sclable is it? As per my understanding maximum label value is 2^20 = 1048576. What if number of routing table entries is greater than 1048576?
-
Are you seriously suggesting you're looking at a scenario where someone is approaching 1 Million LFIB entries, or is this a theoretical question?– Mike PenningtonNov 18, 2013 at 3:23
-
I currently work with L3, i have seen customer scenarios approaching 1 million routes(Complete internet routes) in the Edge routers.It has not crossed that number . But I have seen total number of entries close to half a million.– HemanthNov 18, 2013 at 3:28
-
how many IGP routes + RSVP-TE labels? It is a bad design to bind a label to every internet route. You should only bind labels to all the BGP next-hops in your IGP table.– Mike PenningtonNov 18, 2013 at 3:32
-
Binding a Label per BGP nexthop makes sense. But the MPLS doesn't have any common guidelines for label generation ? Is there not a common rule saying a unique label should be generated per Destination-prefix or per nexthop ? or is it just implementation specific ?– HemanthNov 18, 2013 at 3:36
-
Did any answer help you? If so, you should accept the answer so that the question doesn't keep popping up forever, looking for an answer. Alternatively, you can post and accept your own answer.– Ron Maupin ♦Jan 3, 2021 at 5:54
2 Answers
is a unique label generated per Destination prefix in routing Table or is it per Next-hop in the routing table? ...i have seen customer scenarios approaching 1 million routes... But the MPLS doesn't have any common guidelines for label generation ? Is there not a common rule saying a unique label should be generated per Destination-prefix or per nexthop ? or is it just implementation specific?
There seems to be a little confusion. It's rather unlikely that someone would ever want to allocate a unique label per internet route. A well-designed MPLS network should allocate labels based on IGP prefixes that are bound to your BGP next-hops (ref RFC 3031, Section 4.6).
As such, I'm not really sure 1 Million labels in the LFIB is a serious MPLS design constraint today.
-
As per rfc3031 section4.6, all core routers will allocate lables for igp prefixes. But BGP will allocate a unique label for each route(BGp route) it sends to the BGP peer.But Here again BGP can advertise thousands of routes right ? What will happen if the number BGP routes exceeds 2^20 ?– HemanthNov 18, 2013 at 5:51
-
1@Saran you are right, it is conceivable to run out of labels in such scenario (like RFC4364, option b). What would happen is, you couldn't advertise any NLRI which requires new label. I think it is rather unlikely and technically as long as the far-end PE has same next-hop, for the prefix, you could share label. Since opt-B needs to collapse all IGP,VPN label into single label, it's bit easier to imagine scenario where this might occur, but does not appear very likely to me.– yttiNov 18, 2013 at 9:32
-
@Saran, in the scenario you mentioned, that is inter-AS MPLS VPN. Simple BGP routing that you seem to ask about in your original question does not allocate labels for BGP routes by default. Any MPLS VPN scenario could conceivably run out of labels distributed by VPNv4; at that point you need to segment your customer base on separate routers if youre not running inter AS. Nov 18, 2013 at 12:00
-
Option C scales like normal MPLS, as it's normal [IGP,VPN] stack. However Option B is just [label], which needs ultimately to map in ASBR to [IGP,VPN]. So while in OptionC the VPN part need not be unique for two PE, in OptionB each combination of [IGP,VPN] need to be unique over the ASBR<->ASBR link.– yttiNov 18, 2013 at 12:32
-
@ytti - "I think it is rather unlikely and technically as long as the far-end PE has same next-hop, for the prefix, you could share label. " Is there not a hard rule that a Label needs to be generated for each PRefix(BGp prefix) ? I perfectly understand that it is better to share one label for multiple prefixes , if they follow same path for switching. But the question is, how is this decided ? How will downstream router know or decide which routes to share one Label. Is it just the nexthop? if many routes share the same nexthop,will they be given only one label?– HemanthNov 19, 2013 at 2:33
The exact practical scenario when labels might run out is debatable. There are some house-keeping issues also which are not directly related to labels running out but contribute to that effect.
Label managers today in major vendors (CSCO, JNPR at least) are programmed so that they need continuous block per label application. Of course this could be fixed, with some cost in performance and complexity, but is certainly another issue to consider.
Some MPLS services are quite hungry for label-space in the core, in the edge is mostly irrelevant as we can mask them under our 'IGP label'.
We need to remember MPLS is not just about IP, it is about FEC, if we need to give some service different treatment/path in the core, we need new FEC.
There are some discussions about supporting mega labels and big labels, their use cases, although more likely implementation will via special purpose labels. Personally I'd hope/expect MPLS wire-format to be changed before 2^20 becomes an issue. As MPLS is mostly used only inside one operator network, changing the wire-format is super easy in comparison to IPv4->IPV6 migration, so what ever problems we'll run into, addressing them will be quite simple. Some issues I'd like to be solved:
- Ability to retain label history in-transit
- Low byte overhead (TTL, TC are redundant in stacked labels)
- Remove need for transit P 'duck-typing' MPLS payload (breaks ECMP today)
- Extendable by design (special purpose labels introduce huge byte-cost)
- Increased label space
- Co-existence with MPLSv1