10 Networking Papers: readings for protocol design

The last two issues of ACM Computer Communication Review included short pieces on reading list recommendations. I enjoyed them enough that I started to write my own. But I quickly found an overall list to be a daunting task, as I tended toward well-known, albeit classic, papers. Instead, to make progress, I have narrowed the focus to an interest of mine: protocol design. The end-to-end argument [16], the robustness principle [14], soft-state [5] and application level framing [6] are well-known strategies that can strengthen the design of protocols as part of your research. They are an excellent starting point for readings if you are not familiar with them already. But, having read them, what else can help? The readings that follow are part of my answer to this question. Each paper below has something to say about protocol design. That makes this list different than the earlier ones: I intend the papers to be read with an external context in mind as well as for their intrinsic value. Some provide examples of strategies that can be adapted and re-used elsewhere, as I’ve tried to point out. Others present experiences with designs that serve as food for thought. I have chosen papers that surprised me when I first encountered them. And I’ve tried to include at least some papers that you are unlikely to have read; I’d appreciate hearing of other papers I might not have read that would fit on this list too. Enjoy! And, when you are done, consider submitting your own list to CCR.

[1]  David R. Karger,et al.  Consistent hashing and random trees: distributed caching protocols for relieving hot spots on the World Wide Web , 1997, STOC '97.

[2]  Stefan Savage,et al.  802.11 Denial-of-Service Attacks: Real Vulnerabilities and Practical Solutions , 2003, USENIX Security Symposium.

[3]  T. Kohno,et al.  Remote physical device fingerprinting , 2005, 2005 IEEE Symposium on Security and Privacy (S&P'05).

[4]  Jerome H. Saltzer,et al.  End-to-end arguments in system design , 1984, TOCS.

[5]  Paul V. Mockapetris,et al.  Development of the domain name system , 1988, SIGCOMM '88.

[6]  kc claffy,et al.  Bandwidth estimation: metrics, measurement techniques, and tools , 2003, IEEE Netw..

[7]  David Brumley,et al.  Remote timing attacks are practical , 2003, Comput. Networks.

[8]  David D. Clark,et al.  Architectural considerations for a new generation of protocols , 1990, SIGCOMM '90.

[9]  Jon Postel,et al.  Transmission Control Protocol , 1981, RFC.

[10]  G. Voelker,et al.  On the scale and performance of cooperative Web proxy caching , 2000, OPSR.

[11]  Emin Gün Sirer,et al.  Trickles: a stateless network stack for improved scalability, resilience, and flexibility , 2005, NSDI.

[12]  David D. Clark,et al.  The design philosophy of the DARPA internet protocols , 1988, SIGCOMM '88.

[13]  Evi Nemeth,et al.  DNS measurements at a root server , 2001, GLOBECOM'01. IEEE Global Telecommunications Conference (Cat. No.01CH37270).

[14]  Jörg Widmer,et al.  Network coding: an instant primer , 2006, CCRV.

[15]  Butler W. Lampson,et al.  Hints for Computer System Design , 1983, IEEE Software.

[16]  David M. Kristol,et al.  HTTP State Management Mechanism , 2000, RFC.

[17]  Greg Minshall,et al.  Ip Switching: Atm under Ip * , 1998 .

[18]  Mischa Schwartz,et al.  ACM SIGCOMM computer communication review , 2001, CCRV.