Scalable simulation of complex network routing policies

Modern routing protocols for the internet implement complex policies that take more into account than just path length. However, current routing protocol simulators are limited to either working with hard-coded policies or working on small networks (1000 nodes or less). It is currently not possible to ask questions about how the routing tables will change on all of the autonomous systems (e.g., AT&T, Sprint, etc.) in the internet, given a change in the routing protocol. This paper presents a routing policy simulation framework that enables such simulations to be done on resources that are readily available to researchers, such as a small set of typical desktops. We base the policy simulation framework on the Routing Algebra Meta-Language (RAML), which is a formal framework for specifying routing policies. Our theoretical contributions include proving that the signatures and the meet operation induced by the preference operator in RAML define a semilattice and that routing policy simulation frameworks are analogous to data-flow analysis frameworks. The main problem we address is that direct implementation of routing policy simulation has scaling issues due to the O(n^2) memory requirements for routing tables. However, due to properties of routing algebras specified in RAML, we are able to segment the simulation problem into multiple runs that propagate route information for subsets of the network on each run. This strategy enables us to perform a simulation that does not exceed system memory on typical desktops and enables the 43 minute, parallel simulation of a real network topology (33k nodes) and an approximation of the common BGP protocol.

[1]  Barbara G. Ryder,et al.  Properties of data flow frameworks , 1990, Acta Informatica.

[2]  Alfred V. Aho,et al.  Compilers: Principles, Techniques, and Tools (2nd Edition) , 2006 .

[3]  Steve Uhlig,et al.  Modeling the routing of an autonomous system with C-BGP , 2005, IEEE Network.

[4]  Hongli Zhang,et al.  An Efficient Routing Mechanism in Network Simulation , 2008 .

[5]  Florian Martin,et al.  PAG – an efficient program analyzer generator , 1998, International Journal on Software Tools for Technology Transfer.

[6]  Daniel Massey,et al.  Collecting the internet AS-level topology , 2005, CCRV.

[7]  Hirozumi Yamaguchi,et al.  Reducing the size of routing tables for large-scale network simulation , 2003, Seventeenth Workshop on Parallel and Distributed Simulation, 2003. (PADS 2003). Proceedings..

[8]  Deborah Estrin,et al.  Advances in network simulation , 2000, Computer.

[9]  Hongli Zhang,et al.  An Efficient Routing Mechanism in Network Simulation , 2006, 20th Workshop on Principles of Advanced and Distributed Simulation (PADS'06).

[10]  Murat Yuksel,et al.  Large-scale network simulation techniques: examples of TCP and OSPF models , 2003, CCRV.

[11]  J. Rexford,et al.  Network-Wide Prediction of BGP Routes , 2007, IEEE/ACM Transactions on Networking.

[12]  Nick Feamster,et al.  Network-Wide Prediction of BGP Routes , 2007, IEEE/ACM Transactions on Networking.

[13]  Maciej Wojciechowski,et al.  Border Gateway Protocol Modeling and Simulation , 2008 .

[14]  Lixin Gao,et al.  On inferring and characterizing Internet routing policies , 2003, Journal of Communications and Networks.

[15]  Steve DiBenedetto,et al.  Simulating Internet Scale Topologies with Metarouting , 2010 .

[16]  Craig Partridge,et al.  Proceedings of the conference on Applications, Technologies, Architectures, and Protocols for Computer Communication , 2000, SIGCOMM 2000.

[17]  Hao Wu,et al.  Large-scale network simulation: how big? how fast? , 2003, 11th IEEE/ACM International Symposium on Modeling, Analysis and Simulation of Computer Telecommunications Systems, 2003. MASCOTS 2003..

[18]  Amitabha Sanyal,et al.  Data Flow Analysis - Theory and Practice , 2009 .

[19]  Mostafa H. Ammar,et al.  A generic framework for parallelization of network simulations , 1999, MASCOTS '99. Proceedings of the Seventh International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunication Systems.

[20]  Gary A. Kildall,et al.  A unified approach to global program optimization , 1973, POPL.

[21]  Mehryar Mohri,et al.  Semiring Frameworks and Algorithms for Shortest-Distance Problems , 2002, J. Autom. Lang. Comb..

[22]  Gregor Kopf Network Routing with Path Vector Protocols: Theory and Applications , 2008 .

[23]  Murray Hill,et al.  Yacc: Yet Another Compiler-Compiler , 1978 .

[24]  John M. Mellor-Crummey,et al.  FIAT: A Framework for Interprocedural Analysis and Transfomation , 1993, LCPC.