Network Design Complexity


Anecdotal evidence suggest that an operator's ability to manage a network decreases as the network becomes more complex. However, there is currently no way to systematically quantify how complex a network's design is nor how complexity may impact network management activities. Our work introduces a set of complexity metrics that capture the difficulty of configuring control and data plane behaviors on routers. In the figure above, we present the various steps an operator takes in order to convert high level policies into network configuration files. At the top of this figure, we identify the complexity metrics and annotate the appropriate steps in the configuration process that each metric captures.

In addition to quantifying complexity, we developed a framework to mitigate the impact of complex configuration files on management tasks. The framework reverse engineerings a network's global policies, or Policy Units, from the network's configuration files. These Policy Units simplify troubleshooting and debugging by providing the operators with direct access to the global policies currently implemented in the network.

Finally, we are currently working on a system to reduce the complexity of the configuration files by refactoring the commands within the configuration files. This system, called Phoenix, leverages our complexity metrics to compare a set of equivalent configuration files and selects the configuration files with lowest complexity. Phoenix defines two sets of configuration files as equivalent if both sets have identical Policy Units. We are currently working on an efficient algorithm for producing alternate sets of configuration files for a given network.



Data: Configuration Files and Source Code


Graduate students: Theophilus Benson.
Collaborators: David A. Maltz, Aman Shaikh