Networks and the functionality that they deliver are growing increasingly complex, making network management a steadily growing challenge. A key component of network management is configuration management. Router configurations capture and reflect all levels of network operation, and it is highly challenging to manage the detailed configurations of the potentially huge number of routers that run a network. While tools exist to help automate network configuration management, none of the tools of which we are aware directly address the problem of feature evolution and expansion. We present the design and implementation of a learning system for the Cisco IOS router configuration language and an adaptive parser built on top of the learning system, which constitute the first step to building a configuration management system capable of adapting to new and evolving network features. Based on valid configurations, the learning system infers the IOS language, from which we can generate a parser for IOS. Our tools allow for incremental learning and relieve a network analyst of the burden of writing an IOS parser and maintaining it as the IOS language changes. We have built a prototype system and validated its accuracy and efficiency by running it on the configuration files of Tier-1 ISP networks. Our results show that from only 81 configuration files, we can learn enough IOS to successfully parse all of the 819 IOS configurations in under 10 minutes
To submit an update or takedown request for this paper, please submit an Update/Correction/Removal Request.