Worth Reading: Redistributing Your Entire IS-IS Network By Mistake
Here’s an interesting factoid: when using default IS-IS configuration (running L1 + L2 on all routers in your network), every router inserts every IP prefix from anywhere in your network into L2 topology… at least on Junos.
For more details read this article by Chris Parker. I also wrote about that same problem in 2011.
This has been known for what, 25 years now ? Isn't this the first thing they tell you in an IS-IS training: if you don't use areas, configure all your routers as L1-only or L2-only ? Isn't this in the first chapter on areas in every IS-IS book ?
The problem here are not the vendors. It's the customers. :) Sometimes you want to change the CLI. You want to change the default settings. You want to change a show-command. Maybe you want to remove something. Can't be done. Your Product Manager will tell you: "never change anything that already exists". Even when the new behaviour is better. Even when the new behaviour will prevent lots of problems in the future.
There is this obsession that customers should be able to upgrade (or downgrade) the software on their routers at any time, without any compatibility problems with the config. The default level of IS-IS in any router should always have been level-1 or level-2, not level-1-2. It's also ridiculous that the default metric-style in all routers are still narrow. More than 20 years after the introduction of wider metrics. Why hasn't that changed ? Why haven't narrow metrics not been removed from implementations yet ?
The problem Chris Parker describes, with big surprise, actually happened in a real provider network in ~1995. The churn in L1 would cause every router to generate a new L2-LSP. Which would cause a L2 SPF. The IS-IS developer at cisco at the time told the ISP to go to L2-only. And he implemented PRC (Partial Route Computation). With PRC you only do a full SPF when adjacencies change. You only recompute the individual routes of the prefixes that change (cost of route = cost to get to the advertising router + cost as advertised in the TLV. Simple).
BTW, Chris claims your network needs downtime to convert from L1L2 to L2-only. Is that true ? Can't you just set the overload-bit, wait till transit traffic dies down ? Then make the change to L2-only. And then clear the overload-bit ?
"This has been known for what, 25 years now" << have to admit I never thought about it... even though I worked on an IS-IS deep dive course in the '90s. So there are definitely some dumbos out there (myself obviously included) who didn't get the memo.
And of course I agree with everything else you wrote.
Hi Ivan,
In Chris' article, he mentioned "this lack of L1 won’t affect the way MPLS LSPs are calculated – because by default, RSVP paths are calculated using the IS-IS Level 2 database". What about LDP? Is it using IS-IS Level 2 by default as well?
Also, while we're talking about routing, I came across this piece of info when I read about IS-IS sometime ago:
"A decade ago it was common to run IGPs over a tunnel. But running dynamic routing protocols over a tunnel is almost always a recipe for disaster. Things behave really badly if the total IGP cost over the tunnel undermines the total topologies’ cost. What happens next is that the tunnel “wraps” around itself, ultimately causing a meltdown of the entire network. Having those glorious meltdowns in mind, designers put a few restrictions on re-advertising a TE tunnel as part of the IS-IS topology. First of all, no IS-IS Hellos are sent down a tunnel. The router considers this forwarding adjacency to be up when the tunnel is up. If there is a change in topology and the tunnel goes down, then the forwarding adjacency will go down as well. Because no Hellos are sent down the tunnel there is no infinite recursion problem as there was when tunnelling IGPs in the 1990s."
Youngsters like me are very much interested in learning about these historical problems, as these scenarios are tremendous eye openers regarding what should and shouldn't be done/implemented. But unfortunately these old issues rarely get mentioned, let alone in depth. In regard to the above IGP and infinite tunnelling causing meltdown in the 90s, I tried to find out more about it but ended up getting nowhere. As one of the foremost experts when it comes to routing, could you do some kind of "deep dive" post on it? That would be great :)) .
Minh
LDP is routing-protocol-independent and uses the main IP routing table as its source of reachable prefixes.
Thanks for the suggestion, will add tunneling considerations to routing protocol deep dive topics in How Networks Really Work webinar.