cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
43483
Views
40
Helpful
9
Replies

Implicit null and Explicit null

Mahesh Gohil
Level 7
Level 7

Hi experts,

I come across two terms that is implicit-null and explicit-null and i got confused.

can anyone try to explain what exactly means by both of these terms.

implicit-null i understood --it is last hop advertise a label of 3 to indicate it as implicit-null

Please suggest

Regards

Mahesh

2 Accepted Solutions

Accepted Solutions

arun kumar
Level 1
Level 1

Hi,

Both implicit and explicit null labels are generated by last hop router to its neighbors.

Implicit null is by default which means penultimate router should only send IP packet thus it pops the label (popping the label known as PHP and this is done to reduce the load on last hop router). The one disadvantage in implicit null approach is if the network is configured for QoS based on MPLS EXP bits, then QoS is lost between penultimate router and last hop router.

In this case, we can make use of Explicit null which means penultimate hop router does not pop the label. It sends with label value of 0 but with other fileds including EXP bits intact. This way QoS treatment is preserved between penultimate router and last hop router. Explicit null should be configured manually in last hop router.

HTH.

Arun

View solution in original post

Hi,

(edited as i misunderstood the question previously, i try my best to explain)

Consider the following topology where all the routers are running an IGP (eg OSPF)

10.x.x.x/24 --- Router A --- Router B -- Router C -- Router D -- Router E --- 11.x.x.x/24

Consider MPLS is enabled only between Router A and Router D. Link between Router D and E are not MPLS enabled. Router D learns about 11.x.x.x prefix by some protocol from Router E. But there is no way that Router D decides by itself that it is the egress LSR for this prefix as there are some possible reasons because MPLS could be disabled by manual error between Router D and E. Or Router E belongs to a customer. I think this is one of the reason that by default implicit nulls are not generated for prefixes in RIB learned apart from connected and aggregate, because the router knows it for sure that it is the egress point for connected and aggregate.

If someone has better explanation and any other reason, pls post.

HTH

Arun

View solution in original post

9 Replies 9

arun kumar
Level 1
Level 1

Hi,

Both implicit and explicit null labels are generated by last hop router to its neighbors.

Implicit null is by default which means penultimate router should only send IP packet thus it pops the label (popping the label known as PHP and this is done to reduce the load on last hop router). The one disadvantage in implicit null approach is if the network is configured for QoS based on MPLS EXP bits, then QoS is lost between penultimate router and last hop router.

In this case, we can make use of Explicit null which means penultimate hop router does not pop the label. It sends with label value of 0 but with other fileds including EXP bits intact. This way QoS treatment is preserved between penultimate router and last hop router. Explicit null should be configured manually in last hop router.

HTH.

Arun

Hi arun,

Seems to be good explanation. but will be helpful to me if you just tell how to configure explicit-null manually

Thanks

Hi

Configure "mpls ldp explicit-null" in the last hop router. Options of specifying to which FEC explicit null are generated and to which LDP neighbors it is advertised can be controlled with keywords "for" and "to".

LAB-NPEG1-R4-TOP-PE1(config)#mpls ldp explicit-null ?
  for  Access-list specifying controls on destination prefixes
  to   Access-list specifying controls on LDP peers

Remember the router generates implicit or explicit null only for directly connected interfaces and when the router aggregates the prefix, not for all prefixes in the routing table learned by other protocols.

HTH

Arun

Hi Arun,

Why does the last hop LSR assign the implicit NULL label only to its connected and summarized prefixes?

Anyway, the last hop LSR needs to do an IP lookup for forwarding decision, why not assign implicit NULL label to prefixes as long as this LSR is the egress LSR to forward packets to these prefixes?

thx

Hi

Because anways last hop LSR has to do a IP lookup to forward the packet out of its interfaces irrespective of whether the incoming packet is labelled or unlabelled. So if the incoming frame is labelled, then last hop LSR first untags the label then do a IP lookup and forwards the packet. To reduce this double work done by last hop LSR, we offload the untagging label process to penultimate hop router through implcit null. Thus last hop router only does IP lookup.

I am not clear about the second part of your question. I am assuming why last hop LSR not assigning implicit null for other prefixes in IP routing table? Is my assumption correct?

HTH

Arun

Yes.

Hi,

(edited as i misunderstood the question previously, i try my best to explain)

Consider the following topology where all the routers are running an IGP (eg OSPF)

10.x.x.x/24 --- Router A --- Router B -- Router C -- Router D -- Router E --- 11.x.x.x/24

Consider MPLS is enabled only between Router A and Router D. Link between Router D and E are not MPLS enabled. Router D learns about 11.x.x.x prefix by some protocol from Router E. But there is no way that Router D decides by itself that it is the egress LSR for this prefix as there are some possible reasons because MPLS could be disabled by manual error between Router D and E. Or Router E belongs to a customer. I think this is one of the reason that by default implicit nulls are not generated for prefixes in RIB learned apart from connected and aggregate, because the router knows it for sure that it is the egress point for connected and aggregate.

If someone has better explanation and any other reason, pls post.

HTH

Arun

Hi Arun,

2 problems here:

1.      Routers A, B, C, D, and E should all be MPLS enabled, or LDP does not work here assuming these five routers are in MPLS VPN backbone which utilizes LDP.

2.      An LSR knows that it is an Egress LSR by receiving the prefix from a downstream neighbor which is not running LDP.

Jingyi

Hi,

The answer is that an Egress LSR would assign implicit-null label to its directly connected or aggrgated routes only, or other wise it wouldnt be an egress LSR for all prefixes.

every LSR assign local labels for every prefix that it wants to reach, these labels are kept in the label binding of any LSR. More over, every LSR would recieve label binding from neigboring routers using downstream on demand or unsolicited downstream method depends whether its frame mode or cell mode MPLS.

If an LSR for example has a directly connected prefix 10.1.1.x, it would assign implicit mull label to this prefix and would keep it in its local binding database (can be viewed by sh mpls ldp binding 10.1.1.x), it would then populate these binding to the PHP router to inform it to pop the label when forwarding the Packet to the egress LSR. This will eleminate the egress LSR to perform additional lookups.

HTH

Mohamed