9

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 Pennington Nov 18 '13 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. – Hemanth Nov 18 '13 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 Pennington Nov 18 '13 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 ? – Hemanth Nov 18 '13 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 could provide and accept your own answer. – Ron Maupin Aug 8 '17 at 15:22
6

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 ? – Hemanth Nov 18 '13 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. – ytti Nov 18 '13 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. – Mike Pennington Nov 18 '13 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. – ytti Nov 18 '13 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? – Hemanth Nov 19 '13 at 2:33
3

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:

  1. Ability to retain label history in-transit
  2. Low byte overhead (TTL, TC are redundant in stacked labels)
  3. Remove need for transit P 'duck-typing' MPLS payload (breaks ECMP today)
  4. Extendable by design (special purpose labels introduce huge byte-cost)
  5. Increased label space
  6. Co-existence with MPLSv1

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.