Dynamic routing changed the networking landscape in ways that can barely be remembered or articulated. Can anyone really imagine a network such as the Internet, with so many different networks (dare I say “internets”), each with their own administrative entity, and administrative policy, with such a rich “mesh” of connectivity/reachability, emerging as it has, with configured routes, either by humans or network management systems?
At the same time, the simple and humble static route, a configured route, remains a painful tool in the toolbox. Static routes are not applicable everywhere, but they have their uses:
- If all that is needed is a low-cost, low-function, relatively stable access device.
- For topologies where there are few alternative paths anyway.
- Where the micro-loops sometimes experienced in dynamic routing protocols is not a good tradeoff relative to the functionality needed in the use case, for example, a ring topology.
- For situations where there is a topology that is not a good fit to put all the routes in a traditional IGP.
- As a backup to a dynamic routing fail.
- As a way to have a dynamic routing protocol advertise a specific route.
Any tool can be used and abused, any tool can be overused. This is as true of dynamic routing protocols as it is of static routes.
Network stability is a function of many things:
- CPUs that are not stressed.
- Memory that is not exceeded.
- Control plane messages sent/received without significant congestion.
- Loosely-coupled processes.
- Routing not constantly flapping.
- The ability of a network operator to easily understand what the network is doing.
- The ability of a network operator to easily diagnose a problem.
We need all these issues to be addressed by smart engineers in all the places that dynamic routing is needed, but we don’t need all these issues addressed in all the places that dynamic routing is not needed and/or adds little upside.
There are no IETF Working Groups I know of that are currently working on how to improve static routes. It is not the kind of tool in the toolbox that needs any more work, any more discussion, or is going to improve anyone’s career prospects. It is, however, an example of “simple” being a multi-dimensional beast. Sometimes simple is giving the complex a simple interface. Other times it is a simple design, simple building blocks, or, in this case, just doing the simple thing required for any given situation, and not overcomplicating something which does not need to be.
In life, as in networks, sometimes our choices need to be as simple as a static.