Operating System Support for Generalized Packet Forwarding (Thesis)
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.