All rights reserved by Yang Richard Yang  ©2003-2005. Please do not redistribute.

A Reading List in Computer Networking

Note: this is a list of books and papers that I have collected for students who are interested in doing networking research. These books and papers serve as background and overview. A student should read more in order to become an expert of a special field. For the books, I suggest you eventually collect the books listed here, but I also suggest that you first loan a book from me to see if you like it. As for the papers, you should know the basic papers very well.

Background

Conferences and events


Below is a list of important papers in computer networking. Some are review papers but most are papers that proposed important original ideas. When reading a paper below, always ask yourself why the paper made a large impact. Basic papers are in red.

Internet architecture and philosophy [6 basic papers]

Specification of the initial TCP protocol. Notice that TCP and IP had not been separated at the time of writing. How did they separate TCP into IP and TCP? Also, the address was 24 bits instead of the current 32 bits. For the specification of current IP and TCP, see [RFC 791] for current IP, and [RFC 793] for current TCP.

Protocol specification of IPv4.

Protocol specification of TCP.

Discuss the ISO/OSI seven layers.

The above paper discusses layered architecture, but a fundamental problem is how to divide functionality among layers. End to end argument is the answer from the Internet community.

End to end arguments is a class of system design principles that organize and guide the placement of function within a system. These arguments and the underlying principles have now been invoked in many contexts, becoming part of the vocabulary of network protocol and operating system designers.

Discuss the design goals of the Internet.

For more revisions about the above philosophy, please read

Consider the design and implementation issues of layered network architecture. Propose Application Level Framing (ALF) and Integrated Layer Processing (ILP).

Discuss IPv6.

A summary of the basic principles of Internet. Very easy to read.

An interesting discussion on "stupid" and "intelligent" networks. A strong recommendation to read.

Comments active network research, using the end to end arguments.

Soft state is a fundamental design tool in computer networking.
 

"I would argue that we need more than ever to understand [the end-to-end argument] and to apply it as we evolve the network... Future potential is hard to visualize, but our inability to make out the details should not justify locking the doors against new ways to use the network."

Rethinking the end to end arguments. Consider the new requirements for network support.

The traditional Internet is designed for non-commercial usage. This paper introduces new perspectives for next generation Internet.

MAC and link layer [4 basic papers]

analysis of CDMA protocol
 

Specification of the initial Ethernet protocol. Notice that it is different from the current protocol.

A summary of the theoretical analyses on Ethernet performance. Measure the performance also.

Improve the congestion control and message exchange of MACA, which was proposed by Kahn and used RTS/CTS to address the hidden terminal problem.

Routing [7 basic papers]

multiple-path optimal routing

single path routing; adding bias

a nice distributed spanning tree algorithms

Show the pathologies,  stability, and symmetry of Internet routing. Pay attention to the methodology. You may find some other talks by this author also very interesting.

BGP router send too many BGP packets. Why?

Router--high performance [3 basic papers]

One of the first papers to discuss how to do fast and scalable forwarding table lookup when we use prefix match.

Present MGR, which has five innovations: 1) each forwarding engine has a complete set of the forwarding table (used to have only cache); 2) Use a switched backplane (used to use a shared bus); 3) split forwarding engines from line cards; 4) line cards translate local link layer headers to and from an abstract link layer header format so that forward engines do not need to consider link layer; 5) include QoS; the forwarding engines classify packets, scheduling on the output line cards, in a specialized processor called the QoS processor.

More references

Router--more functionality--active networks [1 basic paper]

Internet measurements and models  [6 basic papers]

A simple and elegant analysis on packet delay, bandwidth, packet size, and loss.

Present that traffic is self-similar in a local area network environment.

Explain LAN and WAN traffic through structral models and show the relationship between self-similarity at the macroscopic level of WANs with the heavy-tailed behavior at the microscopic level of individual sources. 

Present that traffic is self-similar in wide area network environments.

"Modeling and simulating the Internet is not an easy task. The goal of this paper is to discuss some of the issues and difficulties in modeling Internet traffic, topologies, and protocols."

Show the pathologies, stability, and symmetry of Internet routing. Pay attention to the methodology. You may find some other talks by this author also very interesting.

 

Traffic management--congestion control, router mechanisms and pricing [14 basic papers]

Specifies a rate-based, receiver-driven congestion control protocol.

Specifies both router policies and user policies for congestion avoidance (not congestion control). Routers calculate average queue length at regeneration cycle. Users use AIMD. 

The first paper on binary feedback congestion control.

The classical paper on TCP congestion control.

A revision after the publication of the paper:

Revision to [Jac88]. Add fast retransmit and fast recovery.

A model of TCP throughput.

Simulation comparisons of TCP/Tahoe, TCP/Reno, TCP/SACK. Read the new paper in SIGCOMM 2001 to see how they identify TCP versions.

An interesting modification to TCP/Reno, as proposed in [Jac88, Jac90].

Modify network-layer software at the base station and mobile host, and preserve the end-to-end semantics of TCP.

          A summary of TCP congestion control. Refer to the book by the same author.
 

This paper discusses issues in the evaluation of TCP performance.

An model of TCP/Reno using stochastic equation.

How to trick TCP?

Study the aggressiveness, responsiveness, smoothness, and fairness of 4 TCP-friendly congestion control protocols by using step functions.

First scheduling paper in computer networks.

Propose service curves. Decouple bandwidth and delay.

Congestion control using control theory. The objective is to control the number of outstanding packets at the bottleneck. Use packet pair to estimate the service rate at the bottleneck. Assume round-robin like service at the bottleneck. A different perspective.

Propose and evaluate RED.

An model of TCP/Reno using renewal theory.

An active queue management scheme based on virtual queue. Compare with RED [FJ93]

The signaling protocol for IntServ.

An overview of the architecture of IntServ. See [DiffServ] for comparison.

One of the proposals for ATM congestion control.

"The more academic literature has largely focused on devising optimal pricing policies; achieving optimal welfare requires charging marginal congestion costs for usage. In this paper we critique this optimality paradigm ... we contend that the research agenda on pricing in computer networks should shift away from the optimality paradigm and focus more on structural and architectural issues." Here is a list  maintained by Richard Gibbens' on Pricing Internet Resources (Last modified in 1998.)

An overview of the architecture of DiffServ. See [IntServ] for comparison.

Traffic management--adaptive applications  [3 basic papers]

Adaptation by predication.

Network security [3 basic papers]

Measure the cost of SSL.

Beyond unicast: multicast and anycast [4 basic papers]

The first model on IP multicast.

Propose CBT.

Propose PIM.

Discuss IP anycast.

Use a random key to control feedback traffic.

Propose SRM and use ALF. Notice how they solve feedback implosion.

Peer-to-peer networks [3 basic papers]

Domain Name System [2 basic papers]


Some important/influential papers selected by ACM and IEEE. Note that most of these papers are also repeated above under specific categories. Read the papers and think why they are considered to be influential.


Tutorials


Books (in reverse chronological order)

All right reserved by Yang Richard Yang  ©2003. Please do not redistribute.