I recently found myself in an interesting discussion regarding MPLS LDP. More specifically LDP identifiers, along with some interesting corner cases and caveats–depending on your IGP of choice and the scale of your network. I thought I’d write a post attempting to subjectively answer the following question.
Does LDP need an Identifier derived from an IPv4 address with a /32 network mask to work?
The short answer is: No, it doesn’t.
What’s the purpose for the LDP RID? It uniquely identifies an LSR peer. The LDP RID received in the Discovery Hello message from an LDP peer is used as the destination address of the TCP session over which bindings are exchanged. As long as there’s IP reachability between the two peers LDP RID a TCP session should be established and label bindings exchanged.
Best practice dictates to explicitly specify the desired LDP RID for a given LSR. A loopback interface is specified in most cases, i.e. mpls ldp router-id Loopback0 force. Why?
The rationale, at least from my perspective is simple. You want your network to be as stable and predictable as possible. That is, leaving as little as possible to chance–LDP RID selection being one of them.
What could go wrong if we leave the LDP RID selection to chance? It obviously depends. At this point, a cascading ‘what if scenarios’ commonly follows in most discussions, but the one more likely to happen based on my experience is the LSR selecting an LDP RID that’s unusable.
For instance, if the LDP RID is derived from an interface which is operational but not advertised via IGP for whatever reason, the LDP peering session wouldn’t establish and that can’t be good news for your VPN packets.
In addition, if you take inter-domain LSPs into account there are even more options to consider.
LDP is a label distribution protocol used to carry labels in IP/MPLS networks. LDP establishes a TCP session over which label bindings are exchanged. The TCP peering sessions use the LDP RID for source/destination and for that reason end-to-end IP reachability is required between the LDP RID addresses.
A production network should be as stable as possible. For that reason, the explicit configuration of LDP RID is often recommended and accepted without much thought to the rationale behind it.
A practical approach to network design based on experience might provide a more authoritative response, but there are always technical and non-technical constraints to consider.