IS-IS Design considerations on MPLS backbone
Using IS-IS with MPLS require some important design considerations. IS-IS as a scalable link state routing protocol has been used in the Service Provider networks for decades.
In fact, eight of the largest nine Service Providers use IS-IS routing protocol on their network as of today.
If LDP is used to setup an MPLS LSP, important IS-IS design considerations should be carefully understood.
As you might know IS-IS routing protocol uses IS-IS levels for hierarchy.
Similar to other routing protocol, synchronization is one of the consideration. IGP-LDP synchronization is required when MPLS LSP is setup with the LDP protocol. Otherwise routing black holes occur.
One of the important IS-IS design considerations when it is used with MPLS is PE devices loopback IP addresses are not sent into IS-IS Level1 domain in Multi-Level IS-IS design. This problem doesn’t happen in flat IS-IS design since you cannot summarize the prefixes in flat/single level IS-IS deployment.
In IS-IS L1 domain, internal routers only receive ATT (Attached) bit from the L1-L2 router. This bit is used for default route purpose.
If there is more than one L1-L2 router, still only default route is sent into Level1 subdomain/level.
Internal IS-IS Level 1 routers don’t know any Level1 or Level2 information other than their area.
In order to have MPLS Layer 3 VPN, PE devices should be able to reach each other, even if they are in the different IS-IS areas.
If they can reach each other through the specific routing information, MPLS LDP LSP should be setup end to end.
You can think that, they can use a default route (ATT bit) and can still reach other routers in other areas, but they cannot.
The reason is, an LSR assigns a label to prefix for which it has an exact match in its RIB. Thanks to the RFC 5283 (LDP Extension for Inter-Area Label Switched Paths) is saying that given the condition that the LSR doesn’t have an exact match for a prefix P1, If the prefix P1 is a subset of a RIB entry p, then, a label should be assigned to P1.
Note that it is a label for exact prefix P1 (and not the P) that is installed in the LFIB. The RIB, remains unchanged.
RFC 5283 changes the default behaviour of LDP label assignment which is “exact match” to the more flexible “longest match”.
Route Leaking vs. RFC 5283 (LDP Extension for Inter-Area Label Switched Paths)
So, in an IS-IS network, which method should be preferred?
Although it depends on other criteria as well, It is good to have a future proof network from the design point of view, thus RFC 5283 implementation should be selected. It allows possible future flexibility. When you want to summarize even the PE loopbacks, you can do it.
Also with RFC 5283, route leaking is still can be configured.
PE loopback reachability can be achieved with one more way. If PE loopback is carried in BGP, which is called BGP + Label or BGP LU (Label Unicast) then there is no need for route leaking or RFC 5283. This operation has been explained in the Seamless MPLS article.