PLANet: an active internetwork

Michael Hicks, Jonathan T. Moore, D.S. Alexander, Carl A. Gunter, Scott Nettles

1999 · 98 citations · 15 references

Concepts

TL;DR

PLANet extends Internet services by embedding programs in packets and allowing dynamic router extensions. The paper introduces PLANet, an active network architecture, and demonstrates its ability to improve application and aggregate network performance under congestion. PLANet implements active networking by embedding programs in packets written in the PLAN language, extending routers with OCaml modules, and running routers as byte‑code‑interpreted Linux user‑space applications on Ethernet and IP link layers. Experimental results show PLANet routes 48 Mbps and switches over 5000 packets per second on 300 MHz Pentium‑II machines, while also improving application and aggregate network performance under congestion.

Abstract

We present PLANet: an active network architecture and implementation. In addition to a standard suite of Internet-like services, PLANet has two key programmability features: (1) all packets contain programs; and (2) router functionality may be extended dynamically. Packet programs are written in our special purpose programming language PLAN, the Packet Language for Active Networks, while dynamic router extensions are written in OCaml, a dialect of ML. Currently, PLANet routers run as byte-code-interpreted Linux user-space applications, and support Ethernet and IP as link layers. PLANet achieves respectable performance on standard networking operations: on 300 MHz Pentium-II's attached to 100 Mbps Ethernet, PLANet can route 48 Mbps and switch over 5000 packets per second. We demonstrate the utility of PLANet's activeness by showing experimentally how it can nontrivially improve application and aggregate network performance in congested conditions.

References

15