Computer Networks

Computer Networks

A Systems Approach

4th Edition - March 8, 2007

Write a review

  • Authors: Larry Peterson, Bruce Davie
  • eBook ISBN: 9780080476674

Purchase options

Purchase options
DRM-free (PDF)
Sales tax will be calculated at check-out

Institutional Subscription

Free Global Shipping
No minimum order


Computer Networks, Fourth Edition, continues to provide an enduring, practical understanding of networks and their building blocks through rich, example-based instruction. This expanded and completely updated edition covers the why of network design, focusing not just the specifications comprising today's systems but how key technologies and protocols actually work in the real world to solve specific problems. It is the only introductory computer networking book written by authors who have had first-hand experience with many of the protocols discussed in the text, who have actually designed some of them as well, and who are still actively designing the computer networks today. The book makes less use of computer code to explain protocols than earlier editions. Moreover, this new edition shifts the focus somewhat higher in the protocol stack where there is generally more innovative and exciting work going on at the application and session layers than at the link and physical layers. Other new features are: increased accessibility by clearly separating the advanced material from more fundamental via special headings and boxed features; the material is structured in such a way as to make it easier to teach top-down. Furthermore, the book outstrips the competitors in offering a more robust ancillary package for student and instructor support. The text is complemented with figures as well as links to networking resources on the Web and links to author-created materials on author-maintained Web site. Computer Networks, Fourth Edition, will be an invaluable resource for networking professionals and upper level undergraduate and graduate students in CS, EE, and CSE programs.

Key Features

  • Completely updated with new sidebar discussions that cover the deployment status of protocols described in the book.
  • Addition of sizeable number of new exercises and solutions.


Networking professionals and upper level undergraduate and graduate students in CS, EE, and CSE programs. The size of the audience in each of these market segments is approximately equal.

Table of Contents

  • Foreword
    Foreword to the First Edition

    Chapter 1: Foundation
    Problem: Building a Network
    1.1 Applications
    1.2 Requirements
    1.2.1 Connectivity
    1.2.2 Cost-Effective Resource Sharing
    1.2.3 Support for Common Services
    1.3 Network Architecture
    1.3.1 Layering and Protocols
    1.3.2 OSI Architecture
    1.3.3 Internet Architecture
    1.4 Implementing Network Software
    1.4.1 Application Programming Interface (Sockets)
    1.4.2 Example Application
    1.4.3 Protocol Implementation Issues
    1.5 Performance
    1.5.1 Bandwidth and Latency
    1.5.2 Delay × Bandwidth Product
    1.5.3 High-Speed Networks
    1.5.4 Application Performance Needs
    1.6 Summary
    Open Issue: Ubiquitous Networking
    Further Reading

    Chapter 2: Direct Link Networks
    Problem: Physically Connecting Hosts
    2.1 Hardware Building Blocks
    2.1.1 Nodes
    2.1.2 Links
    2.2 Encoding (NRZ, NRZI, Manchester, 4B/5B)
    2.3 Framing
    2.3.1 Byte-Oriented Protocols (PPP)
    2.3.2 Bit-Oriented Protocols (HDLC)
    2.3.3 Clock-Based Framing (SONET)
    2.4 Error Detection
    2.4.1 Two-Dimensional Parity
    2.4.2 Internet Checksum Algorithm
    2.4.3 Cyclic Redundancy Check
    2.5 Reliable Transmission
    2.5.1 Stop-and-Wait
    2.5.2 Sliding Window
    2.5.3 Concurrent Logical Channels
    2.6 Ethernet (802.3)
    2.6.1 Physical Properties
    2.6.2 Access Protocol
    2.6.3 Experience with Ethernet
    2.7 Rings (802.5, FDDI, RPR)
    2.7.1 Token Ring Media Access Control
    2.7.2 Token Ring Maintenance
    2.7.3 FDDI
    2.7.4 Resilient Packet Ring (802.17)
    2.8 Wireless
    2.8.1 Bluetooth/802.15.1
    2.8.2 802.11/Wi-Fi
    2.8.3 802.16/WiMAX
    2.8.4 Cell Phone Technologies
    2.9 Summary
    Open Issue: Sensor Networks
    Further Reading

    Chapter 3: Packet Switching
    Problem: Not All Networks Are Directly Connected
    3.1 Switching and Forwarding
    3.1.1 Datagrams
    3.1.2 Virtual Circuit Switching
    3.1.3 Source Routing
    3.2 Bridges and LAN Switches
    3.2.1 Learning Bridges
    3.2.2 Spanning Tree Algorithm
    3.2.3 Broadcast and Multicast
    3.2.4 Limitations of Bridges
    3.3 Cell Switching (ATM)
    3.3.1 Cells
    3.3.2 Segmentation and Reassembly
    3.3.3 Virtual Paths
    3.3.4 Physical Layers for ATM
    3.4 Implementation and Performance
    3.4.1 Ports
    3.4.2 Fabrics
    3.5 Summary
    Open Issue: The Future of Switching
    Further Reading

    Chapter 4: Internetworking
    Problem: There Is More Than One Network
    4.1 Simple Internetworking (IP)
    4.1.1 What Is an Internetwork?
    4.1.2 Service Model
    4.1.3 Global Addresses
    4.1.4 Datagram Forwarding in IP
    4.1.5 Address Translation (ARP)
    4.1.6 Host Configuration (DHCP)
    4.1.7 Error Reporting (ICMP)
    4.1.8 Virtual Networks and Tunnels
    4.2 Routing
    4.2.1 Network as a Graph
    4.2.2 Distance Vector (RIP)
    4.2.3 Link State (OSPF)
    4.2.4 Metrics
    4.2.5 Routing for Mobile Hosts
    4.2.6 Router Implementation
    4.3 Global Internet
    4.3.1 Subnetting
    4.3.2 Classless Routing (CIDR)
    4.3.3 Interdomain Routing (BGP)
    4.3.4 Routing Areas
    4.3.5 IP Version 6 (IPv6)
    4.4 Multicast
    4.4.1 Multicast Addresses
    4.4.2 Multicast Routing (DVMRP, PIM, MSDP)
    4.5 Multiprotocol Label Switching
    4.5.1 Destination-Based Forwarding
    4.5.2 Explicit Routing
    4.5.3 Virtual Private Networks and Tunnels
    4.6 Summary
    Open Issue: Deployment of IPv6
    Further Reading

    Chapter 5: End-to-End Protocols
    Problem: Getting Processes to Communicate
    5.1 Simple Demultiplexer (UDP)
    5.2 Reliable Byte Stream (TCP)
    5.2.1 End-to-End Issues
    5.2.2 Segment Format
    5.2.3 Connection Establishment and Termination
    5.2.4 Sliding Window Revisited
    5.2.5 Triggering Transmission
    5.2.6 Adaptive Retransmission
    5.2.7 Record Boundaries
    5.2.8 TCP Extensions
    5.2.9 Alternative Design Choices
    5.3 Remote Procedure Call
    5.3.1 RPC Fundamentals
    5.3.2 RPC Implementations (SunRPC, DCE)
    5.4 Transport for Real-Time Applications (RTP)
    5.4.1 Requirements
    5.4.2 RTP Details
    5.4.3 Control Protocol
    5.5 Performance
    5.6 Summary
    Open Issue: Application-Specific Protocols
    Further Reading

    Chapter 6: Congestion Control and Resource Allocation
    Problem: Allocating Resources
    6.1 Issues in Resource Allocation
    6.1.1 Network Model
    6.1.2 Taxonomy
    6.1.3 Evaluation Criteria
    6.2 Queuing Disciplines
    6.2.1 FIFO
    6.2.2 Fair Queuing
    6.3 TCP Congestion Control
    6.3.1 Additive Increase/Multiplicative Decrease
    6.3.2 Slow Start
    6.3.3 Fast Retransmit and Fast Recovery
    6.4 Congestion-Avoidance Mechanisms
    6.4.1 DECbit
    6.4.2 Random Early Detection (RED)
    6.4.3 Source-Based Congestion Avoidance
    6.5 Quality of Service
    6.5.1 Application Requirements
    6.5.2 Integrated Services (RSVP)
    6.5.3 Differentiated Services (EF, AF)
    6.5.4 Equation-Based Congestion Control
    6.6 Summary
    Open Issue: Inside versus Outside the Network
    Further Reading

    Chapter 7: End-to-End Data
    Problem: What Do We Do with the Data?
    7.1 Presentation Formatting
    7.1.1 Taxonomy
    7.1.2 Examples (XDR, ASN.1, NDR)
    7.1.3 Markup Languages (XML)
    7.2 Data Compression
    7.2.1 Lossless Compression Algorithms
    7.2.2 Image Compression (JPEG)
    7.2.3 Video Compression (MPEG)
    7.2.4 Transmitting MPEG over a Network
    7.2.5 Audio Compression (MP3)
    7.3 Summary
    Open Issue: Computer Networks Meet Consumer Electronics
    Further Reading

    Chapter 8: Network Security
    Problem: Security Attacks
    8.1 Cryptographic Tools
    8.1.1 Principles of Ciphers
    8.1.2 Symmetric-Key Ciphers
    8.1.3 Public-Key Ciphers
    8.1.4 Authenticators
    8.2 Key Predistribution
    8.2.1 Predistribution of Public Keys
    8.2.2 Predistribution of Symmetric Keys
    8.3 Authentication Protocols
    8.3.1 Originality and Timeliness Techniques
    8.3.2 Public-Key Authentication Protocols
    8.3.3 Symmetric-Key Authentication Protocols
    8.3.4 Diffie-Hellman Key Agreement
    8.4 Secure Systems
    8.4.1 Pretty Good Privacy (PGP)
    8.4.2 Secure Shell (SSH)
    8.4.3 Transport Layer Security (TLS, SSL, HTTPS)
    8.4.4 IP Security (IPsec)
    8.4.5 Wireless Security (802.11i)
    8.5 Firewalls
    8.5.1 Strengths and Weaknesses of Firewalls
    8.6 Summary
    Open Issue: Denial-of-Service Attacks
    Further Reading

    Chapter 9: Applications
    Problem: Applications Need Their Own Protocols
    9.1 Traditional Applications
    9.1.1 Electronic Mail (SMTP, MIME, IMAP)
    9.1.2 World Wide Web (HTTP)
    9.1.3 Name Service (DNS)
    9.1.4 Network Management (SNMP)
    9.2 Web Services
    9.2.1 Custom Application Protocols (WSDL, SOAP)
    9.2.2 A Generic Application Protocol (REST)
    9.3 Multimedia Applications
    9.3.1 Session Control and Call Control (SDP, SIP, H.323)
    9.3.2 Resource Allocation for Multimedia Applications
    9.4 Overlay Networks
    9.4.1 Routing Overlays
    9.4.2 Peer-to-Peer Networks (Gnutella, BitTorrent)
    9.4.3 Content Distribution Networks
    9.5 Summary
    Open Issue: New Network Architecture
    Further Reading
    Solutions to Select Exercises

Product details

  • No. of pages: 848
  • Language: English
  • Copyright: © Morgan Kaufmann 2007
  • Published: March 8, 2007
  • Imprint: Morgan Kaufmann
  • eBook ISBN: 9780080476674

About the Authors

Larry Peterson

Larry Peterson
Larry Peterson is the Robert E. Kahn Professor of Computer Science, Emeritus at Princeton University, where he served as Chair from 2003-2009. His research focuses on the design, implementation, and operation of Internet-scale distributed systems, including the widely used PlanetLab and MeasurementLab platforms. He currently serves as the CTO of the Open Networking Foundation (ONF), where he works on open source software at the intersection of access networks and the edge cloud. Professor Peterson is a member of the National Academy of Engineering, a Fellow of the ACM and the IEEE, the 2010 recipient of the IEEE Kobayashi Computer and Communication Award, and the 2013 recipient of the ACM SIGCOMM Award. He received his Ph.D. degree from Purdue University in 1985.

Affiliations and Expertise

Open Networking Foundation

Bruce Davie

Bruce Davie
Bruce Davie is VP and CTO for VMware, APJ. He joined VMware as part of the Nicira acquisition, and was Networking CTO until 2017. He has over 30 years of industry experience, and was a Cisco Fellow prior to joining Nicira. He has contributed to many networking standards and authored several networking textbooks. Bruce received his Ph. D. in computer science from the University of Edinburgh in 1988 and is an ACM Fellow.

Affiliations and Expertise

VMware, APJ

Ratings and Reviews

Write a review

There are currently no reviews for "Computer Networks"