• DocumentCode
    1323468
  • Title

    Router plugins: a software architecture for next-generation routers

  • Author

    Decasper, Dan ; Dittia, Zubin ; Parulkar, Guru ; Plattner, Bernhard

  • Author_Institution
    Lab. of Appl. Res., Washington Univ., St. Louis, MO, USA
  • Volume
    8
  • Issue
    1
  • fYear
    2000
  • fDate
    2/1/2000 12:00:00 AM
  • Firstpage
    2
  • Lastpage
    15
  • Abstract
    Present-day Internet protocol routers typically employ monolithic operating systems that are not easily upgradable and extensible. With the rapid rate of protocol development it is becoming increasingly important to dynamically upgrade router software in an incremental fashion. We have designed and implemented a high-performance, modular, extended services router software architecture in the Net BSD operating system kernel. This architecture allows code modules, called plugins, to be dynamically added and configured at run time. One of the novel features of our design is the ability to bind different plugins to individual flows; this allows for distinct plugin implementations to seamlessly coexist in the same runtime environment. We achieve high performance through a carefully designed modular architecture, an innovative packet classification algorithm that is highly efficient, and by caching that exploits the flow-like characteristics of Internet traffic. Compared to a monolithic best effort kernel, our implementation requires an average increase in packet processing overhead of only 8%, or 600 cycles per packet when running on an Intel Pentium Pro at 233 MHz. By shortcutting the forward loop based on the per-flow state we establish, we can forward packets up to three times faster than the best effort kernel
  • Keywords
    Internet; network operating systems; protocols; telecommunication network routing; Internet protocol routers; Internet traffic; Net BSD operating system kernel; caching; code modules; flow-like characteristics; forward loop; high-performance modular extended services router software architecture; next-generation routers; packet classification algorithm; packet processing; per-flow state; router plugins; runtime environment; software architecture; Computer architecture; Electronic mail; Internet; Kernel; Laboratories; Operating systems; Paramagnetic resonance; Protocols; Routing; Software architecture;
  • fLanguage
    English
  • Journal_Title
    Networking, IEEE/ACM Transactions on
  • Publisher
    ieee
  • ISSN
    1063-6692
  • Type

    jour

  • DOI
    10.1109/90.836474
  • Filename
    836474