Here are some guidelines 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).
Delayline: A Wide-Area Network Emulation Tool
by David Ingham and Graham Parrington in compsys(), Summer, 1994.
Distributed applications developed in a LAN environment get killed when
released into a WAN environment. Delayline is an emulator for wide-area
network performance characteristics that lets you watch the carnage at full
scale.
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.
Introduction to Stream Control
Transmission Protocol by Jan Newmarch in
Linux Journal, September, 2007.
SCTP was developed by Ma Bell to be the signaling protocol for SS7, and
extended by the IETF to be another IP transport protocol.
See also.
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.
Multiple Associations with
Stream Control Transmission Protocol by Jan Newmarch
in Linux Journal, November, 2007.
How to associate SCTP end-points with multiple hosts.
See also.
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.
Security Mechanisms in
High-Level Network Protocols by Victor Voydock and Stephen Kent in
ACM Computing Surveys, June, 1983.
Taking a network and making it secure by adding cryptography. Despite the
title, the paper also talks about link-level security.
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.
Stream Control Transmission
Protocol (SCTP) Associations by Jan Newmarch in
Linux Journal, October, 2007.
SCTP associations generalize end-point binding, enabling multi-homed
connections.
See also.
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 September 24.
|
|