Date of this Version
The Internet today runs on a complex routing protocol called the Border Gateway Protocol (BGP). BGP is a policy-based protocol, in which autonomous Internet Service Providers (ISPs) impose their local policies on the propagation of routing information. Over the past few years, there has been a growing consensus on the complexity and fragility of BGP routing. To address these challenges, we present the DRIVER system for designing, analyzing and implementing policy-based routing protocols. Our system utilizes a declarative network verifier (DNV) which leverages declarative networking’s connection to logic programming by automatically compiling high-level declarativen networking program into formal specifications, which can be directly used in a theorem prover for verification. In addition to verifying declarative networking programs using a theorem prover, the DRIVER system enables a similar transformation of verified formal specifications limited to fragment of second order logic to declarative networking programs for execution. As our main use case, we demonstrate the verification of a component-based specification of BGP protocol where DRIVER enables the analysis of convergence properties of Internet routing protocols with customizable policy configuration components. We show that the properties verified with DRIVER are indeed preserved in the synthesized implementation by performing experimental evaluation in a local cluster, where the equivalent declarative networking programs derived from the verified specifications displayed consistent behavior with regard to DRIVER verification.
Date Posted: 07 July 2009