\section{Summary}

We asked the question ``what breaks when we go faster'' at the
beginning of this chapter. The answer is that three things break, but
they can all be fixed. The first is that latency, rather than
bandwidth, becomes our primary focus of concern. This is because while
network bandwidth is improving at an astounding rate, the
speed-of-light has remained constant. Fortunately, we can adjust for
this by trading bandwidth for latency.

A second thing that breaks is our conception that computers are fast
and I/O is slow.  Gigabit networks make it necessary to design
computer architectures and operating system software with the network
foremost in our minds, rather than treating the network as a fast
serial line. This is because network speeds are improving to the point
that they are within the same order of magnitude of memory speeds.
This situation is sometimes referred to as the memory bottleneck,
and we examined several techniques to help mitigate its effects.

A third thing that breaks is the current best-effort service model.
As networks have become faster, new applications such as real-time
video have become possible. Often, however, these new applications
need more than just raw speed. They also need a richer service model,
for example, one that provides for different qualities of service.
This is perhaps the most drastic change that is required. In this
context, we looked at the early stages of an effort to extend the
Internet to support multiple qualities of service.

\ehead{Open Issue: Realizing the Future}

Although not explicitly stated in this chapter, there is much about
the network architectures that have evolved over the past 20 years
that does not break when networks move into the gigabit regime.
Connectivity is still achieved through a hierarchical interconnection
of machines, routers and switches still forward packets from one link
to another, and end-to-end protocols still provide high-level
communication abstractions to application programs.

What is apparent, though, is that computer networks will continue to
evolve. Higher speed technologies will be developed at the bottom of
the network architecture, new applications will be introduced at the
top of the network architecture, and the protocol layers in the middle
will adapt to connect these new applications to the underlying
technologies. Perhaps even more predictably, network designers will
continue to argue about what functionality belongs at what layer. If
nothing else, hopefully this book has imparted the message that
computer networking is an active and exciting topic to study, and that
it is a sound grasp of system design principles that will allow us to
tackle each new challenge.

\ehead{Further Reading}

Our recommended read list for this chapter is long, once again
reflecting what an active area of research high-speed networking has
become. The first paper gives an excellent discussion of how
drastically high-speed networks have changed the latency/bandwidth
tradeoff. The next five papers then discuss the issue of turning good
host-to-host throughput into equally good application-to-application
throughput.  The first of these five (Druschel et. al.) gives an
overview of the general problem, the next two discuss the host/network
interface, and the last two focus on OS techniques to avoid data
copying.  Finally, the last paper discusses various aspects of the new
service model being designed for the Internet.

\begin{itemize}

\item{} L. Kleinrock. The Latency/Bandwidth Tradeoff in Gigabit Networks.
{\it IEEE Communications}, 30(4): 36--40, April 1992.

\item{} P. Druschel et. al.  Network Subsystem Design. {\it
IEEE Network} (Special Issue on End-System Support for High Speed
Networks), 7(4): 8--17, July 1993.

\item{} P. Druschel, L. Peterson, and B. Davie. Experience with a 
High-Speed Network Adaptor: A Software Perspective. {\it Proceedings 
of the SIGCOMM '94 Symposium}, pages 2--13, August 1994.

\item{} A. Edwards et. al. User-Space Protocols Deliver High-Bandwidth
Performance to Applications on a Low-Cost Gb/s LAN. {\it Proceedings 
of the SIGCOMM '94 Symposium}, pages 14--23, August 1994.

\item{} P. Druschel and L. Peterson.  Fbufs: A high-bandwidth 
Cross-Domain Transfer Facility.  {\it Proceedings of the Fourteenth
Symposium on Operating Systems Principles}, pages 202--215, December
1993. 

\item{} M. Abbott and L. Peterson.  Increasing Network Throughput by
Integrating Protocol Layers.  {\it IEEE/ACM Transactions on
Networking}, 1(5): 600--610, October 1993.

\item R. Braden, D. Clark, and S. Shenker. Integrated Services in the
Internet Architecture: An Overview. {\it RFC 1633}, July 1994.

\end{itemize}

In addition to these papers, Partridge gives an overview of the field
of high-speed networking, covering many of the same topics discussed
in this (and earlier) chapters \cite{Partridge94}.

There are several papers that examine OS issues related to efficiently
implementing network software on end hosts. Three examples in addition
to those enumerated above include
\cite{Bershad93,Lazowska93,Pasquale93}.  There are also an assortment
of papers that examine the network interface and how it interacts with
the end host; examples include
\cite{Druschel94,Davie91,Smith91,KK92,Lumley94,Metcalf94,Cheriton88,Cohen93,
Steenkiste94}.

To learn more on the new service model, see \cite{Clark92}.  For more
information on alternative models for handling real-time traffic, see
\cite{Ferrari90, Ferrari90jsac, Ferrari93}.

Finally, we recommend the following live reference:

\begin{itemize}

\item{\var http://netlab.itd.nrl.navy.mil/onr.html}: list of network-related
research projects, many of which focus on high-speed networks.

\end{itemize}
