Date Added: Jan 2010
By constructing the collective distributed routing state, routing protocols create the network-wide intelligence that transforms a collection of individual links and routers into an IP network. A network's routing design is embodied in the configuration of these protocols. Creating a routing design is in practice a policy driven design task of specifying packet filters, link weights, routing policies, and so forth. Understanding a routing design is complicated by the enormous range of options the routing designer may choose from, to realize given objectives and constraints. More importantly, intricate details of the design choices have significant impact on fundamental aspects of overall network performance and operations, including complexity, cost, and survivability. Routing design is both inherently hard and the single most important network design task. This paper presents a methodology for working with the configuration files of production networks that supports the reverse engineering of the network's routing design. In any IP network, routing protocols provide the intelligence; a detailed examination is given of how routing protocols are used in operational networks. The results, in particular, show that the conventional model of interior and exterior gateway protocols is insufficient to describe the diverse set of mechanisms used by architects. The structural information given is essential for several important operational tasks including inventory management; vulnerability assessment; network engine.