The growing scale and complexity of today’s networks has outpaced network engineers’ ability to reason about their correct operation. As a consequence, misconfigurations that lead to downtime and security breaches have become all too common.
Network-wide specification languages help bridge the abstraction gap between the intended high-level policies of a network and its low-level configuration. A compiler automatically generates the corresponding low-level configurations. This approach is analogous to the trend in software engineering over the last several decades, which has led to ever-higher levels of abstraction and has been a huge boon for the software industry: Imagine writing today's complex software in machine code!
In this post we will discuss the various attempts in industry and academia to define a higher level specification language for networks, while diving deeper in Propane; an intra- and inter-domain routing policy framework.