Designing Extensible IP Router Software

Designing Extensible IP Router Software

Designing Extensible IP Router Software Mark Handley†∗ Eddie Kohler‡∗ Atanu Ghosh∗ Orion Hodson∗ Pavlin Radoslavov∗ ∗International Computer Science Institute †University College, London ‡UCLA {mjh, kohler, atanu, hodson, pavlin}@xorp.org ABSTRACT commercial interests [9]; suggested solutions have in- Many problems with today’s Internet routing infrastruc- cluded widespread overlay networks [23, 24] and active ture—slow BGP convergence times exacerbated by timer- networking [6, 30]. But less attention has been paid to based route scanners, the difficulty of evaluating new pro- a simple, yet fundamental, underlying cause: the lack of tocols—are not architectural or protocol problems, but extensible, robust, high-performance router software. software problems. Router software designers have tack- The router software market is closed: each vendor’s led scaling challenges above all, treating extensibility and routers will run only that vendor’s software. This makes latency concerns as secondary. At this point in the In- it almost impossible for researchers to experiment in real ternet’s evolution, however, further scaling and security networks, or to develop proof-of-concept code that might issues require tackling latency and extensibility head-on. convince network operators that there are alternatives to We present the design and implementation of XORP, current practice. A lack of open router APIs additionally an IP routing software stack with strong emphases on la- excludes startup companies as a channel for change. tency, scaling, and extensibility. XORP is event-driven, The solution seems simple in principle: router soft- and aims to respond to routing changes with minimal ware should have open APIs. (This somewhat resembles delay—an increasingly crucial requirement, given rising active networks, but we believe that a more conservative expectations for Internet reliability and convergence time. approach is more likely to see real-world deployment.) The XORP design consists of a composable framework Unfortunately, extensibility can conflict with the other of routing processes, each in turn composed of modular fundamental goals of performance and robustness, and processing stages through which routes flow. Extensibil- with the sheer complexity presented by routing protocols ity and latency concerns have influenced XORP through- like BGP. Relatively few software systems have robust- out, from IPC mechanisms to process arrangements to ness and security goals as stringent as those of routers, intra-process software structure, and leading to novel de- where localized instability or misconfiguration can rip- signs. In this paper we discuss XORP’s design and im- ple throughout the Internet [3]. Routers must also juggle plementation, and evaluate the resulting software against hundreds of thousands of routes, which can be installed our performance and extensibility goals. and withdrawn en masse as links go up and down. This limits the time and space available for extensions to run. 1INTRODUCTION Unsurprisingly, then, existing router software was not written with third-party extension in mind, so it doesn’t The Internet has been fabulously successful; previously generally include the right hooks, extension mechanisms unimagined applications frequently arise, and changing and security boundaries. usage patterns have been accommodated with relative We therefore saw the need for a new suite of router ease. But underneath this veneer, the low-level proto- software: an integrated open-source software router plat- cols that support the Internet have largely ossified, and form running on commodity hardware, and viable both in stresses are beginning to show. Examples include secu- research and production. The software architecture would rity and convergence problems with BGP routing [18], have extensibility as a primary goal, permitting experi- deployment problems with multicast [10], QoS, and IPv6, mental protocol deployment with minimal risk to exist- and the lack of effective defense mechanisms against de- ing services. Internet researchers needing access to router nial-of-service attacks. The blame for this ossification software would share a common platform for experimen- has been placed at various technical and non-technical tation, and get an obvious path to deployment for free. points in the Internet architecture, from limits of lay- The loop between research and realistic real-world ex- ered protocol design [4] to the natural conservatism of perimentation would eventually close, allowing innova- Orion Hodson is currently at Microsoft Research. tion to take place much more freely. We have made sig- This material is based upon work supported by the National Science nificant progress towards building this system, which we Foundation under Grant No. 0129541. Any opinions, findings, and con- call XORP, the eXtensible Open Router Platform [13]. clusions or recommendations expressed in the material are those of the author(s) and do not necessarily reflect the views of the National Sci- This paper focuses on the XORP control plane: rout- ence Foundation. ing protocols, the Routing Information Base (RIB), net- USENIX Association NSDI ’05: 2nd Symposium on Networked Systems Design & Implementation 189 work management software, and related user-level pro- the best known integrated routing suite, although it began grams that make up the vast majority of software on a as an implementation of a single routing protocol. GateD router today. This contrasts with the forwarding plane, is a single process within which all routing protocols which processes every packet passing through the router. run. Such monolithic designs are fundamentally at odds Prior work on component-based forwarding planes has with the concept of differentiated trust, whereby more simultaneously achieved extensibility and good perfor- experimental code can be run alongside existing services mance [16, 26], but these designs, which are based on the without destabilizing the whole router. MRTD [28] and flow of packets, don’t apply directly to complex protocol BIRD [2], two other open-source IP router stacks, also processing and route wrangling. XORP’s contributions, use a single-process architecture. In the commercial world, then, consist of the strategies we used to break the control Cisco IOS [7] is also a monolithic architecture; experi- plane, and individual routing protocols, into components ence has shown that this significantly inhibits network that facilitate both extension and good performance. operators from experimenting with Cisco’s new protocol For example, we treat both BGP and the RIB as net- implementations. works of routing stages, through which routes flow. Par- Systems that use a multi-process architecture, per- ticular stages within those networks can combine routes mitting greater robustness, include Juniper’s JunOS [15] from different sources using various policies, or notify and Cisco’s most recent operating system IOS XR [8]. other processes when routes change. Router functionality Unfortunately, these vendors do not make their APIs ac- is separated into many Unix processes for robustness. A cessible to third-party developers, so we have no idea if flexible IPC mechanism lets modules communicate with their internal structure is well suited to extensibility. The each other independent of whether those modules are open-source Zebra [31] and Quagga [25] stacks use mul- part of the same process, or even on the same machine; tiple processes as well, but their shared inter-process API this allows untrusted processes to be run entirely sand- is limited in capability and may deter innovation. boxed, or even on different machines from the forward- Another important distinguishing factor between im- ing engine. XORP processes are event-driven, avoiding plementations is whether a router is event-driven or uses the widely-varying delays characteristic of timer-based a periodic route scanner to resolve dependencies between designs (such as those deployed in most Cisco routers). routes. The scanner-based approach is simpler, but has a Although XORP is still young, these design choices are rather high latency before a route change actually takes stable enough to have proven their worth, and to demon- effect. Cisco IOS and Zebra both use route scanners, with strate that extensible, scalable, and robust router software (as we demonstrate) a significant latency cost; MRTD is an achievable goal. and BIRD are event-driven, but this is easier given a sin- The rest of this paper is organized as follows. Af- gle monolithic process. In XORP, the decision that ev- ter discussing related work (Section 2), we describe a erything is event-driven is fundamental and has been re- generic router control plane (Section 3) and an overview flected in the design and implementation of all protocols, of XORP (Section 4). Sections 5 and 6 describe par- and of the IPC mechanism. ticularly relevant parts of the XORP design: the rout- ing stages used to compose the RIB and routing proto- 3CONTROL PLANE FUNCTIONAL OVERVIEW cols like BGP and our novel inter-process communica- The vast majority of the software on a router is control- tion mechanism. The remaining sections discuss our se- plane software: routing protocols, the Routing Informa- curity framework; present a preliminary evaluation, which tion Base (RIB), firewall management, command-line in- shows that XORP’s extensible design does not impact its terface, and network management—and, on modern rout- performance on macro-benchmarks; and conclude. ers,

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    14 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us