PLAN and PLANet: An Active Networking Testbed Scott Nettles Dept. of Computer Science University of Arizona The goal of active networking (AN) is to greatly increase the network's flexibility and to facilitate the rapid evolution of the network infrastructure. Our attack on this problem is to make the network programmable. Ideally, such an approach combines research into both networking and programming languages. To that end, we have designed and implemented a special-purpose programming language, PLAN (Packet Language for Active Networks), and used it to build an internetwork, PLANet. Together they form a testbed that allows us to explore the AN design space and to put some upper bounds on the expected performance of such systems. There are two basic ways to provide programmability: one, by allowing extensions to be dynamically downloaded into the network infrastructure, and two, more radically, by making packets into programs and allowing these programs to be executed as part of network operation. We are exploring both approaches. PLAN serves as a limited, but safe and secure, packet language, while downloadable switchlets written in the Caml language provide for fully functional, but possibly heavyweight, infrastructure extensions. PLANet is an active internetwork built using the PLAN and switchlets. In PLANet, all packets are PLAN programs and the basic infrastructure is built from switchlets. New network functionality is created by downloading switchlets into routers and then using PLAN programs for distributed communication. My talk will cover the design and implementation of PLAN and PLANet, as well as present the results of several experimental studies. The first study looks at performance on traditional networking metrics and shows, for example, that PLANet can route packets at more than 47 Mbps on a 100 Mbps Ethernet. The other study is designed to explore how flexibility can help cope with a standard networking problem: congestion. I will present several approaches to coping with this problem, the most radical of which uses PLAN packets to search the network for uncongested routes and then routes around the congestion. At the end of my talk, I will touch briefly on my work in high-performance garbage collection and persistence/transaction systems for Standard ML.