Operating System Support for Generalized Packet Forwarding (Thesis)

Report ID: TR-711-04
Author: Gottlieb, Yitzchak
Date: 2004-08-00
Pages: 122
Download Formats: |PDF| |Postscript|
Abstract:

Computer networks provide communications services to applications. The most well-known example of a computer network is the Internet---a network of computer networks that provides a point-to-point, best-effort, packet-delivery service. Recently, there has been an increased interest in expanding the set of services that the Internet provides. However, as a given networking technology becomes entrenched, it becomes exceedingly difficult to modify. Most new services are therefore implemented in applications that create overlay networks---virtual networks overlaid on the Internet.

Many overlay networks ignore the well-established networking principle of distinguishing bewteen control and data, thereby limiting their flexibility and performance. The principle identifies two classes of traffic at a network host: data that passes through the host and control that is received by the host. Control messages may provoke expensive computation, while data should require only relatively simple forwarding. Router designers have leveraged the distinction between control and data to make routers more flexible and faster by offloading control computations to a separate processor and optimizing data forwarding in dedicated hardware. Overlay networks that ignore the distinction between control and data cannot derive similar benefits.

Overlay networks are mostly application-specific. They are tailored to meet the needs of a single service, making it difficult to use the network for another service. This reality conflicts with the lesson learned from the Internet that a single network can easily support many different applications.

This dissertation makes three contributions. First, it shows how network services, especially overlay networks and their applications, can be decomposed into control and data planes, and further decomposed into general and application-specific parts. Second, it proposes an architecture, Plug Board, that provides a suitable framework for building network services that make use of this decomposition. Third, it describes the potential benefits reaped by a network service written for Plug Board.