
Computer Networks
A Systems Approach
- 3rd Edition - May 8, 2003
- Imprint: Morgan Kaufmann
- Authors: Larry L. Peterson, Bruce S. Davie
- Language: English
- Paperback ISBN:9 7 8 - 1 - 5 5 8 6 0 - 8 3 3 - 7
- Hardback ISBN:9 7 8 - 1 - 5 5 8 6 0 - 8 3 2 - 0
- eBook ISBN:9 7 8 - 0 - 0 8 - 0 4 8 8 5 4 - 7
In this new edition of their classic and bestselling textbook, authors Larry Peterson and Bruce Davie continue to emphasize why networks work the way they do. Their "system… Read more

Purchase options

Institutional subscription on ScienceDirect
Request a sales quoteIn this new edition of their classic and bestselling textbook, authors Larry Peterson and Bruce Davie continue to emphasize why networks work the way they do. Their "system approach" treats the network as a system composed of interrelated building blocks (as opposed to strict layers), giving students and professionals the best possible conceptual foundation on which to understand current networking technologies, as well as the new ones that will quickly take their place.
Incorporating instructor and user feedback, this edition has also been fully updated and includes all-new material on MPLS and switching, wireless and mobile technology, peer-to-peer networks, Ipv6, overlay and content distribution networks, and more. As in the past, all instruction is rigorously framed by problem statements and supported by specific protocol references, C-code examples, and thought-provoking end-of-chapter exercises.
Computer Networks: A Systems Approach remains an essential resource for a successful classroom experience and a rewarding career in networking.
Incorporating instructor and user feedback, this edition has also been fully updated and includes all-new material on MPLS and switching, wireless and mobile technology, peer-to-peer networks, Ipv6, overlay and content distribution networks, and more. As in the past, all instruction is rigorously framed by problem statements and supported by specific protocol references, C-code examples, and thought-provoking end-of-chapter exercises.
Computer Networks: A Systems Approach remains an essential resource for a successful classroom experience and a rewarding career in networking.
- Written by an author team with over thirty years of first-hand experience in networking research, development, and teaching--two leaders in the work of defining and implementing many of the protocols discussed in the book.
- Includes all-new coverage and updated material on MPLS and switching, wireless and mobile technology, peer-to-peer networks, Ipv6, overlay and content distribution networks, VPNs, IP-Telephony, network security, and multimedia communications (SIP, SDP).
- Additional and earlier focus on applications in this edition makes core protocols more accessible and more meaningful to readers already familiar with networked applications.
- Features chapter-framing statements, over 400 end-of-chapter exercises, example exercises(with solutions), shaded sidebars covering advanced topics, web resources and other proven pedagogical features.
networking professionals and upper-level undergraduate and graduate students in CS, EE, and CSE programs
Foreword, David Clark, MIT
Preface
SIMULATION LAB 0: INTRODUCTION AND SAMPLE EXPERIMENT
1 Foundation
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
Further Reading
Exercises
2 Direct Link Networks
SIMULATION LAB 1: ETHERNET—A Direct Link Network with Media Access Control
SIMULATION LAB 2: TOKEN RINGS—A Direct Link Network with Media Access Control
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 (BISYNC, PPP, DDCMP)
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 Token Rings (802.5, FDDI)
2.7.1 Physical Properties
2.7.2 Token Ring Media Access Control
2.7.3 Token Ring Maintenance
2.7.4 Frame Format
2.7.5 FDDI
2.8 Wireless (802.11)
2.8.1 Physical Properties
2.8.2 Collision Avoidance
2.8.3 Distribution System
2.8.4 Frame Format
2.9 Network Adaptors
2.9.1 Components
2.9.2 View from the Host
2.9.3 Memory Bottleneck
2.10 Summary
Further Reading
Exercises
3 Packet Switching
SIMULATION LAB 3: SWITCHED LANS—A Set of Local Area Networks Interconnected by Switches
SIMULATION LAB 4: NETWORK DESIGN—Planning a Network with Different Users, Hosts, and Services
SIMULATION LAB 5: ATM—A Connection-Oriented, Cell-Switching Technology
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.3.5 ATM in the LAN
3.4 Implementation and Performance
3.4.1 Ports
3.4.2 Fabrics
3.5 Summary
Further Reading
Exercises
4 Internetworking
SIMULATION LAB 6: Routing Information Protocol Based on Distance-Vector Algorithm
SIMULATION LAB 7: OSPF—A Routing Protocol Based on Link-State Algorithm
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.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 Link-State Multicast
4.4.2 Distance-Vector Multicast
4.4.3 Protocol Independent Multicast (PIM)
4.5 Multiprotocol Label Switching (MPLS)
4.5.1 Destination-Based Forwarding
4.5.2 Explicit Routing
4.5.3 Virtual Private Networks and Tunnels
4.6 Summary
Further Reading
Exercises
5 End-to-End Protocols
SIMULATION LAB 8: TCP—A Reliable, Connection-Oriented, Byte-Stream Service
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 SlidingWindow 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 Bulk Transfer (BLAST)
5.3.2 Request/Reply (CHAN)
5.3.3 Dispatcher (SELECT)
5.3.4 Putting It All Together (SunRPC, DCE)
5.4 Performance
5.5 Summary
Further Reading
Exercises
6 Congestion Control and Resource Allocation
SIMULATION LAB 9: QUEUING DISCIPLINES—Order of Packets Transmission and Dropping
SIMULATION LAB 10: QUALITY OF SERVICE—Packet Delivery Guarantees
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)
6.5.4 ATM Quality of Service
6.5.5 Equation-Based Congestion Control
6.6 Summary
Further Reading
Exercises
7 End-to-End 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
Further Reading
Exercises
8 Network Security
SIMULATION LAB 11: FIREWALLS AND VPNS—Network Security and Virtual Private Networks
8.1 Cryptographic Algorithms
8.1.1 Requirements
8.1.2 Secret Key Encryption (DES)
8.1.3 Public Key Encryption (RSA)
8.1.4 Message Digest Algorithms (MD5)
8.1.5 Implementation and Performance
8.2 Security Mechanisms
8.2.1 Authentication Protocols
8.2.2 Message Integrity Protocols
8.2.3 Public Key Distribution (X.509)
8.3 Example Systems
8.3.1 Pretty Good Privacy (PGP)
8.3.2 Secure Shell (SSH)
8.3.3 Transport Layer Security (TLS, SSL, HTTPS)
8.3.4 IP Security (IPSEC)
8.4 Firewalls
8.4.1 Filter-Based Firewalls
8.4.2 Proxy-Based Firewalls
8.4.3 Limitations
8.5 Summary
Further Reading
Exercises
9 Applications
SIMULATION LAB 12: APPLICATIONS—Network Applications Performance Analysis
9.1 Name Service (DNS)
9.1.1 Domain Hierarchy
9.1.2 Name Servers
9.1.3 Name Resolution
9.2 Traditional Applications
9.2.1 Electronic Mail (SMTP, MIME, IMAP)
9.2.2 World Wide Web (HTTP)
9.2.3 Network Management (SNMP)
9.3 Multimedia Applications
9.3.1 Real-time Transport Protocol (RTP)
9.3.2 Session Control and Call Control (SDP, SIP, H.323)
9.4 Overlay Networks
9.4.1 Routing Overlays
9.4.2 Peer-to-Peer Networks
9.4.3 Content Distribution Networks
9.5 Summary
Further Reading
Exercises
Glossary
Bibliography
Solutions to Select Exercises
Preface
SIMULATION LAB 0: INTRODUCTION AND SAMPLE EXPERIMENT
1 Foundation
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
Further Reading
Exercises
2 Direct Link Networks
SIMULATION LAB 1: ETHERNET—A Direct Link Network with Media Access Control
SIMULATION LAB 2: TOKEN RINGS—A Direct Link Network with Media Access Control
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 (BISYNC, PPP, DDCMP)
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 Token Rings (802.5, FDDI)
2.7.1 Physical Properties
2.7.2 Token Ring Media Access Control
2.7.3 Token Ring Maintenance
2.7.4 Frame Format
2.7.5 FDDI
2.8 Wireless (802.11)
2.8.1 Physical Properties
2.8.2 Collision Avoidance
2.8.3 Distribution System
2.8.4 Frame Format
2.9 Network Adaptors
2.9.1 Components
2.9.2 View from the Host
2.9.3 Memory Bottleneck
2.10 Summary
Further Reading
Exercises
3 Packet Switching
SIMULATION LAB 3: SWITCHED LANS—A Set of Local Area Networks Interconnected by Switches
SIMULATION LAB 4: NETWORK DESIGN—Planning a Network with Different Users, Hosts, and Services
SIMULATION LAB 5: ATM—A Connection-Oriented, Cell-Switching Technology
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.3.5 ATM in the LAN
3.4 Implementation and Performance
3.4.1 Ports
3.4.2 Fabrics
3.5 Summary
Further Reading
Exercises
4 Internetworking
SIMULATION LAB 6: Routing Information Protocol Based on Distance-Vector Algorithm
SIMULATION LAB 7: OSPF—A Routing Protocol Based on Link-State Algorithm
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.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 Link-State Multicast
4.4.2 Distance-Vector Multicast
4.4.3 Protocol Independent Multicast (PIM)
4.5 Multiprotocol Label Switching (MPLS)
4.5.1 Destination-Based Forwarding
4.5.2 Explicit Routing
4.5.3 Virtual Private Networks and Tunnels
4.6 Summary
Further Reading
Exercises
5 End-to-End Protocols
SIMULATION LAB 8: TCP—A Reliable, Connection-Oriented, Byte-Stream Service
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 SlidingWindow 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 Bulk Transfer (BLAST)
5.3.2 Request/Reply (CHAN)
5.3.3 Dispatcher (SELECT)
5.3.4 Putting It All Together (SunRPC, DCE)
5.4 Performance
5.5 Summary
Further Reading
Exercises
6 Congestion Control and Resource Allocation
SIMULATION LAB 9: QUEUING DISCIPLINES—Order of Packets Transmission and Dropping
SIMULATION LAB 10: QUALITY OF SERVICE—Packet Delivery Guarantees
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)
6.5.4 ATM Quality of Service
6.5.5 Equation-Based Congestion Control
6.6 Summary
Further Reading
Exercises
7 End-to-End 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
Further Reading
Exercises
8 Network Security
SIMULATION LAB 11: FIREWALLS AND VPNS—Network Security and Virtual Private Networks
8.1 Cryptographic Algorithms
8.1.1 Requirements
8.1.2 Secret Key Encryption (DES)
8.1.3 Public Key Encryption (RSA)
8.1.4 Message Digest Algorithms (MD5)
8.1.5 Implementation and Performance
8.2 Security Mechanisms
8.2.1 Authentication Protocols
8.2.2 Message Integrity Protocols
8.2.3 Public Key Distribution (X.509)
8.3 Example Systems
8.3.1 Pretty Good Privacy (PGP)
8.3.2 Secure Shell (SSH)
8.3.3 Transport Layer Security (TLS, SSL, HTTPS)
8.3.4 IP Security (IPSEC)
8.4 Firewalls
8.4.1 Filter-Based Firewalls
8.4.2 Proxy-Based Firewalls
8.4.3 Limitations
8.5 Summary
Further Reading
Exercises
9 Applications
SIMULATION LAB 12: APPLICATIONS—Network Applications Performance Analysis
9.1 Name Service (DNS)
9.1.1 Domain Hierarchy
9.1.2 Name Servers
9.1.3 Name Resolution
9.2 Traditional Applications
9.2.1 Electronic Mail (SMTP, MIME, IMAP)
9.2.2 World Wide Web (HTTP)
9.2.3 Network Management (SNMP)
9.3 Multimedia Applications
9.3.1 Real-time Transport Protocol (RTP)
9.3.2 Session Control and Call Control (SDP, SIP, H.323)
9.4 Overlay Networks
9.4.1 Routing Overlays
9.4.2 Peer-to-Peer Networks
9.4.3 Content Distribution Networks
9.5 Summary
Further Reading
Exercises
Glossary
Bibliography
Solutions to Select Exercises
- Edition: 3
- Published: May 8, 2003
- No. of pages (eBook): 813
- Imprint: Morgan Kaufmann
- Language: English
- Paperback ISBN: 9781558608337
- Hardback ISBN: 9781558608320
- eBook ISBN: 9780080488547
LP
Larry L. 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 FoundationBD
Bruce S. 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