Here are some tips for winnowing the available books to a handful of
   candidates:
     
     -  Compare the book’s table of contents with the schedule
     to make sure the topics mentioned in the schedule (both the section
     titles and the lecture titles) appear in the table of contents.
     You can also look in the index, but a topic mentioned in the
     table of contents suggests more thorough coverage than a topic
     mentioned only in the index (although a topic with a sizeable
     index entry suggests thorough coverage too).
     
-  Compare test questions and answers in previous versions of
     the course to the material covered in the book.  The book may not
     lay out the answer (you are, after all, dealing with test
     questions), but you should be able to piece together the questions
     and answers from relevant parts of the book.
     
   Once you have the candidate books, you can use your tastes and preferences 
   to pick the final one or two books for the course.
   
  
  
Books with call numbers can be found in the
Guggenheim Library.  Linked material from
the ACM or the IEEE can be downloaded for free from the library within the
monmouth.edu domain.
   
   
  
Computer Networks, 5th
  edition, by Andrew Tanenbaum and David Wetherall from Prentice Hall,
  2010. TK 5105.5 T36 1988 (2nd edition)
A detailed and general approach to networking.
  
Computer Networking: A Systems Approach, 5th edition, by Larry
  Peterson and Bruce Davie, Morgan-Kaufman, 2011.
An Internet-heavy approach to networking, but detailed and complete.
Guest
  review from Jeff at
  Goodreads:
  Good end-of-chapter
  questions, with text depth appropriate for a smart child or an average 2nd
  year CS undergrad.
  Computer Networking:  A Top-Down Approach, 5th edition, by James
  Kurose and Keith Ross, Addison Wesley, 2009. Blog
An Internet-centric, top-down view of computer networking.
  
Computer Networks:
  An Open Source Approach by Ying-Dar Lin, Ren-Hung Hwang, and Fred Baker,
  McGraw-Hill, 2012.
An Internet-centric trip through the protocol stack (there is no network
  layer, just an Internet Protocol layer), larded with code from open-source
  implementations, linux primarily.
  
   
   
  
Calculating the Maximum Mean
  Data Rate in Local Area Networks by Bart Stuck in IEEE Computer, May
  1983.
A once-over lightly characterization of several LAN media (bus and ring) and
  access protocols (token and CSMA) to deliver traffic under various
  conditions, including load, propagation delay, and message length. 
  
Comparison of Two LAN Bridge
  Approaches by Michael Soha and Radia Perlman in IEEE Network, January,
  1988.
A comparison of spanning-tree and source-based MAC routing algorithms.
  *Spoiler Alert* spanning-tree routing wins, although source-based routing is
  available in 802.5 networks.
  
The Dawn of the Stupid Network
  by David Isenberg in ACM netWorker,
  Spring, 1998.
Stupid vs Intelligent networks, and why stupid wins (technology helps).
  
Design and Validation of Computer Protocols
  by Gerard Holzmann, Prentice Hall, 1991.
How to design communication protocols using the Promela language and check
  them with the Spin model checker. 
  
The Desk Area Network by
  Mark Hayter and Derek McAuley in ACM Operating Systems Review, October, 1991.
A network spanning the gap between the interconnection network found within a
  single computing system and the LAN connecting multiple computing systems.  A
  rare, sensible use of ATM, although a desk area network uses basic ATM
  data-transfer capabilities and no advanced ATM features (not to mention the
  hilarious mismatch between the scale of an ATM switch in a desk area network
  and the anticipated scale for ATM networks).
  
Detection and
  Classification of Peer-to-Peer Traffic: A Survey by João
  Gomes, Pedro Inácio, Manuela Pereira,
  Mário Freire and Paulo Monteiro in
  ACM Computing Surveys,
  June, 2013.
Good network management requires recognizing peer-to-peer network traffic
  because such traffic requires special handling and is popular enough to
  require attention.  Numerous techniques automatically recognize and classify
  network traffic, including peer-to-peer traffic.   
  
Distributed, Adaptive Resource Allocation for Sensor Networks by Geoffrey
  Mainland and Matt Welsh in ;Login:, October, 2005.
Self-organizing resource allocation distributes resource-management decisions
  to individual agents, which use machine learning to direct adaptive
  strategies, producing behaviors maximizing objectives.
  
Distributed Scheduling Schemes
  for Wireless Mesh Networks:  A Survey by Kanthaiah Vijayalayan, Aaron
  Harwood and Shanika Karunasekera in ACM Computing Surveys, October, 2013.
State-of-the-art survey of random, pseudo-random, and cyclic MAC protocols
  for wireless mesh networks.
  
The Early History of Data Networks by
  Gerald Holzmann and Björn Pehrson, IEEE Computer Science
  Press, 1995.
Networking before the Internet, even before electricity.
  
Elements of Network Protocol Design
  by Mohamed Gouda, Wiley, 1998.
A formal, abstract approach to designing network communication protocols. 
  
End-To-End Arguments in System Design by Jerome Saltzer, David Reed and
  David Clark in ACM
  Transactions on Computer Systems, November, 1984.
A classic in network design, and system design more generally.  The
  end-to-end argument is a key technical point underlying the recent debates on
  network neutrality.  
  
End-to-End Echo Response Time
  Analysis on Large Mainframe Unix Systems by Matt Merges and Hansan
  Mutlu in the 15th Conference on Local Computer Networks, 1990.
An example of a simple, end-to-end network performance analysis on a simple
  network, in this case involving character echo times. 
  
End-to-End
  Routing Behavior in the Internet by Vern Paxson in the Computer
  Communication Review, October 2006.
An analysis of 40,000 end-to-end route measurements between 37 Internet
  sites. Analysis determined routing behavior, stability and symmetry. 
  
An Experimental User
  Level Implementation of TCP by T. Braun, C. Diot, A. Hoglander and V. Roca,
  INRIA technical report 2650, September 1995.
A TCP implementation split between the kernel and user-space; the kernel half
  does demultiplexing, the user-space half does everything else.  The objective
  is to make it easier to study new protocols for application-level framing and
  integrated layer processing.
  
Formal Analysis of the Alternating
  Bit Protocol by Temproal Petri Nets by Ichiro Suzuki in IEEE Transactions on Software Engineering, November,
  1990.
Once again the alternating bit protocol goes under the knife, and once again
  it passes with flying colors.  The knife this time is Petri nets constrained
  with temporal-logic formulas, which allows for a total-correctness analysis
  of safety and liveness properties.
  
Game Theory Meets Network
  Security and Privacy by Mohammad Manshaei, Tansu Alpcan, Tamer Basar and
  Jean-Pierre Hubaux in ACM Computing Surveys, June, 2013.
Game-theoretic approaches to security and privacy in computer and
  communication networks, including physical and MAC layers security,
  self-organizing network security, intrusion detection systems, anonymity and
  privacy, network security economics, and cryptography.
  
Getting Student’s Hands Dirty with Clean-Slate Networking by Nick Feamster
 and Jennifer Rexford in Computer Communication Review, August, 2011.
A networking course combining clean slate networking research with hands-on
  experience in analyzing, building, and extending real networks.  A
  network-management focus provides a way to explore different ways to split
  function across the end hosts, network elements, and management systems. 
  
Hands-On Networking with Internet Technologies by
  Douglas Comer, Prentice Hall, 2005.
Hands-on exercises designed to teach Internet concepts.
  
How to Lease the Internet
   in Your Spare Time by Nick Feamster, Lixin Gao and Jennifer Rexford in
   Computer Communications Review, January 2007.
Decoupling network-infrastructure management and end-user service
   provisioning with Cabo, an architecture separating infrastructure and
   services.
  
How to Own the Internet In Your Spare Time by Stuart Staniford, Vern Paxson
   and Nicholas Weaver in 11th USENIX Security Symposium, August 2002.
An analysis of Code Red and Nimda worms, followed by three techniques for
   improving infection rates (more quickly or more steathily), followed by a
   proposal for a cyberCDC to deal with such threats.
  
In VINI Veritas: Realistic
   and Controlled Network Experimentation by Andy Bavier, Nick Feamster, Mark
   Huang, Larry Peterson and Jennifer Rexford in Proceedings of the 2006
   Conference on Applications, Technologies, Architectures, and Protocols for
   Computer Communications (SIGCOMM '06).
VINI provides a realistic and controlled environment for evaluating new
   protocols and services.  It supports simultaneous experiments with arbitrary
   network topologies on a shared physical infrastructure.  This paper
   describes VINI’s high-level design and evaluates a basic
   implementation on PlanetLab.
   
Multicast Routing in Datagram
   Internetworks and Extended LANs by Stephen Deering and David Cheriton in
   ACM Transactions on Computing Systems, May, 1990.
How to multicast when store-and-forward routers interconnect LANs by
   extending distance-vector and link-state routing algorithms.  How to improve
   scaling for large LANs and LAN interconnections.
   
On Physical-Layer
  Identification of Wireless Devices by Boris Danev, Davide Zanetti, and
  Srdjan Capkun in ACM
  Computing Surveys, November, 2012.
Identifying wireless devices by their radio circuitry characteristics.
  
On the Practicality of Cryptographic Defences Against Pollution Attacks in
  Wireless Network Coding by Andrew Newell, Jing Dong and Cristina Nita-Rotaru
  in ACM Computing Surveys, June, 2013.
Wireless network coding improves throughput, reliability, and energy
  efficiency, but is subject to packet pollution attacks, which degrade or deny
  service.  Cryptographic defenses against pollution attacks vary in their
  costs and benefits.  Analysis shows, among other things, that symmetric
  cryptographic defenses are better than asymmetric cryptographic defenses, and
  that defending against multiple colluding adversaries is expensive.
  
Operating System Design, vol. II: Internetworking with XINU
 by Douglas Comer, Prentice Hall, 1987.
Continues the XINU operating system development started in volume I by
  implementing a TCP/IP protocol stack.  Dated, but a necessary first step to
  learning your way around a kernel networking stack.
  
P2P Group Management Systems:
  A Conceptual Analysis by Timo Koskela, Otso Kassinen, Erkki Harjula, and
  Mika Ylianttila in ACM Computing Surveys, February, 2013.
How group management protocols can be integrated into various peer-to-peer
  network architectures, and what happens after they’re integrated.
  
PathFinder: A Pattern-Based Packet
 Classifier by Mary Bailey, Burra Gopal, Larry Peterson and Prasenjit Sarkar
 in Proceedings of the First Symposium on Operating Systems Design and
 Implementation, November, 1994.
A pattern-based packet classifier implementable in software or hardware and
  able to keep up with OC-12 (622Mbps) network links.
  
Peer-to-Peer Architectures for
  Massively Multiplayer Online Games: A Survey by Amir Yahyavi and Bettina
  Kemme in ACM Computing Surveys, October 2013.
The techniques, advantages, and disadvantages of applying peer-to-peer
  network architectures to massively multiplayer on-line role-playing games.
  
Peer-to-Peer Computing by Quang Vu,
  Mihai Lupu and Beng Ooi, Springer, 2010.
A comprehensive guide to peer-to-peer networking and applications.  This is a
  suggested textbook for the section on peer-to-peer networking.  You will need
  another textbook for the other sections.  A copy of this book is on reserve
  in the library.
  
Performance
  Issues in Parallelized Network Protocols by Erich Nahum, David Yates, James
  Kurose and Don Towsley in Proceedings of the First Conference on
  Operating Systems Design and Implementation, November, 1994.
TCP and UDP restructured to provide packet-level parallelism and run on
  multiprocessor machines in an attempt to get better network performance.
  Among the conclusions: multiple connections get more speed-up than a single
  connection, and performance takes a hit from the packet re-ordering that
  occurs in parallel implementations.
  
Principles of Protocol Design
  by Robin Sharp, Prentice Hall, 1994.
Describing and defining network protocols using communicating sequential
  processes (CSP). 
  
A Protocol for Packet Network
  Interconnection by Vinton Cerf and Robert Kahn in IEEE Transactions on
  Communication, May, 1974.
TCP!
  
SCTP: A Proposed Standard for
   Robust Internet Data Transport by Armando Caro, Janardhan Iyengar, Paul
   Amer, Sourabh Ladha, Gerard Heinz and Keyur Shah in IEEE Computer,
   November, 2003.
Another alternate transport layer protocol providing a reliable, multiplexed
   message-based service. 
  
Selecting Sequence Numbers by Raymond Tomlinson in
   Operating Systems 
   Review (Proceedings of the ACM SIGCOMM/SIGOPS Workshop on Interprocess
   Communications), July, 1975.
Selecting and synchronizing sequence numbers for bounded network
   characteristics and adequate data error detection.
  
Some Properties of Timed Token
   Medium Access Protocols by Adriano Valenzano, Paolo Montuschi and Luigi
   Ciminiera in IEEE Transactions on Software Engineering, August, 1990.
Performance analysis of a token-based protocol designed to provide real-time
   and non-real-time service classes.
  
Standardized Protocol Interfaces by Gerard Holzmann in
   Software—Practice and Experience, July, 1993.
Another try at that old favorite:  arbitrary and dynamic protocol operation
   via interpreters and code downloading.
  
A Survey and
  Comparison of Peer-to-Peer Overlay Network Schemes by Eng Lua, Jon
  Crowcroft, Marcelo Pias, Ravi Sharma and Steven Lim in IEEE
  Communications Surveys and Tutorials, vol 7, no. 2, 2005.
A survey and comparison of various structured and unstructured P2P networks
  with respect to design, function, and performance. 
  
A Survey and Projection on
   Medium Access Control Protocols for Wireless Sensor Networks by Yi Zhao,
   Chunyan Miao, Maode Ma, Jing Zhang and Cyril Leung in ACM Computing Surveys, November, 2012.
A survey of MAC protocols for wireless sensor networks using the categories
   contention-based protocols, contention-free (scheduled-based) protocols,
   hybrid protocols, and preamble sampling protocols.  Covers protocol
   background, main features, operation, major design issues, and advantages
   and disadvantages.
  
A Survey of Adaptive Services
  to Cope with Dynamics in Wireless Self-Organizing Networks by Cigdem Sengul
  and Aline Carneiro Viana and Artur Ziviani in ACM Computing Surveys,
  August, 2012.
Considers adaptive services for self-organizing wireless networks, such as
  mobile ad hoc, wireless sensor, wireless mesh, and delay-tolerant networks.
  
A
  Survey of Peer-to-Peer Content Distribution Technologies by Stephanos 
  Androutsellis-Theotokis and Diomidis Spinellis in ACM Computing Surveys,
  December, 2004.
Describes a framework for analyzing peer-to-peer content distribution
  technologies.
  
Survey on Application-Layer
  Mechanisms for Speech Quality Adaptation in VoIP by 
  Leandro Carvalho and Edjair Mota in ACM Computing Surveys, June,
  2013.
How VoIP adaptively adjusts application-layer parameters to maintain
  speech quality given problems such as delay and packet loss.  Emphasizing the
  feedback loops used by adaptive techniques helps design better recovery
  mechanisms.
  
A Survey on the Design,
  Applications, and Enhancements of Application-Layer Overlay Networks by
  Jinu Kurian and Kamil Sarac in ACM Computing Surveys, November, 2010.
A survey of recent advances in application-layer overlay networks with
  respect to multicast, QoS support, denial-of-service (DoS) defense, and
  resilient routing.  
  
A Survey on Service Quality
  Description by Kyriakos Kritikos, Barbara Pernici, Pierluigi Plebani, Cinzia
  Cappiello, Marco Comuzzi, Salima Benrernou, Ivona Brandic, Attila
  Kertész, Michael Parkin and Manuel Carro in ACM
  Computing Surveys, October, 2013.
A comparison of several QoS description models and metamodels.  Possibly the
  most boring paper in this list.
A Taxonomy and Survey of SCTP
  Research by Lukasz Budzisz, Johan Garcia, Anna Brunstrom and Ramon
  Ferrús in ACM Computing Surveys, August 2012.
SCTP can be thought of as TCP amped-up with lots of knobs and dials.  The
  combination of well-trodden research ground and new shiny fiddly bits acts on
  network researchers as a catnip yarn-ball acts on cats.  This is a report
  from the field (of network research), including a field re-plowing in the
  form of a taxonomy of SCTP research.  
  
TCP/IP Illustrated, vol. 1: The Protocols by W. Richard
  Stevens, Addison-Wesley, 1994.
  TCP/IP Illustrated, vol. 2: The Implementation
  by W. Richard Stevens and Garry Wright, Addison-Wesley, 1995.
  TCP/IP Illustrated, vol. 3: TCP for Transactions, HTTP, NNTP, and the
  UNIX Domain Protocols by W. Richard Stevens, Addison-Wesley, 1996.
This three-volume series is the bible for TCP/IP on UNIX (and therefore, for
  TCP/IP everywhere).
  
The Tempest—A Practical Framework for Network
  Programmability by J. E. Van der Merwe, S. Rooney, I. Leslie and S. Crosby
  in IEEE Network, May-June 1998.
The Tempest programmable network environment dynamically introduces and
  modifies network services.  Switchlets partition physical switches into 
  virtual-switch sets.  Connection closures organize switchlets into custom
  networks.  ATM-centric, but the ideas extend with a little work.
  
Tools for Implementing Network Protocols by Norman Hutchinson, Shivakant
  Mishra, Larry Peterson and Vicraj Thomas in
  Software—Practice and Experience, September, 1989.
Two efficient and general-purpose software tools: a message manager for
  splitting and joining PDUs and a map manager for pairing external and
  internal identifiers - useful when implementing network protocols.
  
Topology Control in Wireless
  Ad Hoc and Sensor Networks by Paolo Santi in ACM Computing Surveys, June, 2005.
How to control the communication-link topology between network nodes to
  maintain some global property (e.g., connectivity), while reducing energy
  consumption and interference related to the nodes’ transmitting
  range.  
The UDP Calculus:
  Rigorous Semantics for Real Networking by Andrei Serjantov, Peter Sewell and
  Keith Wansbrough in Proceedings of the 4th International Symposium on
  Theoretical Aspects of Computer Software, October, 2001.
An operational model for a subset of UDP and ICMP, including loss and
  failure.  The model, bound to an OCaml subset, has been validated in socket
  programs compared against actual systems.
  
Wireless Sensor Networks by Ian Akyildiz,
  and Mehmet Vuran, Wiley, 2010.
A comprehensive guide to wireless sensor networking. This is a suggested
  textbook for the sensor-networking section.  You will need another textbook
  for the other sections.  A copy of this book is on reserve in the library.
  
  
  | This page last modified on 2014 January 30. | 
      |