Computer Networks, 4th Edition

Book description

Computer Networks, 4E is the only introductory computer networking book written by authors who have had first-hand experience with many of the protocols discussed in the book, who have actually designed some of them as well, and who are still actively designing the computer networks today.

This newly revised edition continues to provide an enduring, practical understanding of networks and their building blocks through rich, example-based instruction. The authors' focus is on the why of network design, not just the specifications comprising today's systems but how key technologies and protocols actually work in the real world to solve specific problems. The new edition 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.

* 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.
* Downloadable Opnet network simulation software and lab experiments manual.
* New and revised instructor support material, including Powerpoint slides, eps version of figures appearing in the text; sample exams; lecture notes; UNIX sockets programming assignments.


Table of contents

  1. Front cover
  2. Title page
  3. Copyright page
  4. Foreword
  5. Foreword to the First Edition
  6. Preface
    1. Audience
    2. Changes in the Fourth Edition
    3. Approach
    4. Pedagogy and Features
    5. Road Map and Course Use
    6. Exercises
    7. Supplemental Materials and Online Resources
    8. Acknowledgments
  7. Table of Contents (1/2)
  8. Table of Contents (2/2)
  9. 1 Foundation
    1. Problem: Building a Network
    2. 1.1 Applications
    3. 1.2 Requirements
      1. 1.2.1 Connectivity (1/2)
      2. 1.2.1 Connectivity (2/2)
      3. 1.2.3 Support for Common Services
    4. 1.3 Network Architecture (1/2)
    5. 1.3 Network Architecture (2/2)
      1. 1.3.2 OSI Architecture
    6. 1.4 Implementing Network Software
      1. 1.4.1 Application Programming Interface (Sockets)
      2. 1.4.2 Example Application
      3. 1.4.3 Protocol Implementation Issues
    7. 1.5 Performance
      1. 1.5.1 Bandwidth and Latency
      2. 1.5.2 Delay × Bandwidth Product
      3. 1.5.3 High-Speed Networks
      4. 1.5.4 Application Performance Needs
    8. 1.6 Summary
    9. Open Issue: Ubiquitous Networking
    10. Further Reading
    11. Exercises (1/2)
    12. Exercises (2/2)
  10. 2 Direct Link Networks
    1. Problem: Physically Connecting Hosts
    2. 2.1 Hardware Building Blocks
      1. 2.1.1 Nodes
      2. 2.1.2 Links (1/2)
      3. 2.1.2 Links (2/2)
    3. 2.2 Encoding (NRZ, NRZI, Manchester, 4B/5B) (1/2)
    4. 2.2 Encoding (NRZ, NRZI, Manchester, 4B/5B) (2/2)
      1. 2.3.3 Clock-Based Framing (SONET)
    5. 2.4 Error Detection
      1. 2.4.1 Two-Dimensional Parity
      2. 2.4.3 Cyclic Redundancy Check (1/2)
      3. 2.4.3 Cyclic Redundancy Check (2/2)
      4. 2.5.1 Stop-and-Wait (1/3)
      5. 2.5.1 Stop-and-Wait (2/3)
      6. 2.5.1 Stop-and-Wait (3/3)
      7. 2.5.3 Concurrent Logical Channels
    6. 2.6 Ethernet (802.3)
      1. 2.6.1 Physical Properties
    7. 2.7 Rings (802.5, FDDI, RPR)
      1. 2.7.1 Token Ring Media Access Control
      2. 2.7.2 Token Ring Maintenance
    8. 2.8 Wireless
      1. 2.8.1 Bluetooth (802.15.1)
      2. 2.8.2 Wi-Fi (802.11) (1/2)
      3. 2.8.2 Wi-Fi (802.11) (2/2)
      4. 2.8.3 WiMAX (802.16)
      5. 2.8.4 Cell Phone Technologies
    9. 2.9 Summary
    10. Open Issue: Sensor Networks
    11. Further Reading (1/4)
    12. Further Reading (2/4)
    13. Further Reading (3/4)
    14. Further Reading (4/4)
  11. 3 Packet Switching
    1. Problem: Not All Networks Are Directly Connected
      1. 3.1.1 Datagrams
      2. 3.1.2 Virtual Circuit Switching (1/3)
      3. 3.1.2 Virtual Circuit Switching (2/3)
      4. 3.1.2 Virtual Circuit Switching (3/3)
    2. 3.2 Bridges and LAN Switches
      1. 3.2.2 Spanning Tree Algorithm
      2. 3.2.3 Broadcast and Multicast
    3. 3.3 Cell Switching (ATM)
      1. 3.3.1 Cells
      2. 3.3.2 Segmentation and Reassembly
      3. 3.3.3 Virtual Paths
    4. 3.4 Implementation and Performance (1/2)
    5. 3.4 Implementation and Performance (2/2)
    6. 3.5 Summary
    7. Open Issue: The Future of Switching
    8. Further Reading
    9. Exercises (1/3)
    10. Exercises (2/3)
    11. Exercises (3/3)
  12. 4 Internetworking
    1. Problem: There Is More Than One Network
    2. 4.1 Simple Internetworking (IP)
      1. 4.1.1 What Is an Internetwork?
      2. 4.1.3 Global Addresses
      3. 4.1.4 Datagram Forwarding in IP
      4. 4.1.5 Address Translation (ARP)
      5. 4.1.6 Host Configuration (DHCP)
      6. 4.1.7 Error Reporting (ICMP)
      7. 4.1.8 Virtual Networks and Tunnels
    3. 4.2 Routing
      1. 4.2.1 Network as a Graph
      2. 4.2.2 Distance Vector (RIP) (1/2)
      3. 4.2.2 Distance Vector (RIP) (2/2)
      4. 4.2.3 Link State (OSPF) (1/2)
      5. 4.2.3 Link State (OSPF) (2/2)
      6. 4.2.4 Metrics
      7. 4.2.5 Routing for Mobile Hosts
      8. 4.2.6 Router Implementation
    4. 4.3 Global Internet
      1. 4.3.1 Subnetting
      2. 4.3.2 Classless Routing (CIDR)
      3. 4.3.3 Interdomain Routing (BGP) (1/3)
      4. 4.3.3 Interdomain Routing (BGP) (2/3)
      5. 4.3.3 Interdomain Routing (BGP) (3/3)
      6. 4.3.5 IP Version 6 (IPv6) (1/3)
      7. 4.3.5 IP Version 6 (IPv6) (2/3)
      8. 4.3.5 IP Version 6 (IPv6) (3/3)
    5. 4.4 Multicast
      1. 4.4.1 Multicast Addresses
      2. 4.4.2 Multicast Routing (DVMRP, PIM, MSDP) (1/3)
      3. 4.4.2 Multicast Routing (DVMRP, PIM, MSDP) (2/3)
      4. 4.4.2 Multicast Routing (DVMRP, PIM, MSDP) (3/3)
    6. 4.5 Multiprotocol Label Switching
      1. 4.5.1 Destination-Based Forwarding (1/2)
      2. 4.5.1 Destination-Based Forwarding (2/2)
      3. 4.5.2 Explicit Routing
      4. 4.5.3 Virtual Private Networks and Tunnels
    7. 4.6 Summary
    8. Open Issue: Deployment of IPv6
    9. Further Reading
    10. Exercises (1/4)
    11. Exercises (2/4)
    12. Exercises (3/4)
    13. Exercises (4/4)
  13. 5 End-to-End Protocols
    1. Problem: Getting Processes to Communicate
    2. 5.1 Simple Demultiplexer (UDP)
      1. 5.2.1 End-to-End Issues
      2. 5.2.2 Segment Format
      3. 5.2.3 Connection Establishment and Termination
      4. 5.2.4 Sliding Window Revisited (1/2)
      5. 5.2.4 Sliding Window Revisited (2/2)
      6. 5.2.5 Triggering Transmission
      7. 5.2.6 Adaptive Retransmission
      8. 5.2.7 Record Boundaries
      9. 5.2.8 TCP Extensions
      10. 5.2.9 Alternative Design Choices
    3. 5.3 Remote Procedure Call (1/2)
    4. 5.3 Remote Procedure Call (2/2)
      1. 5.3.2 RPC Implementations (SunRPC, DCE) (1/2)
      2. 5.3.2 RPC Implementations (SunRPC, DCE) (2/2)
    5. 5.4 Transport for Real-Time Applications (RTP)
      1. 5.4.1 Requirements
      2. 5.4.2 RTP Details
      3. 5.4.3 Control Protocol
    6. 5.5 Performance
    7. 5.6 Summary
    8. Open Issue: Application-Specific Protocols
    9. Further Reading
    10. Exercises (1/3)
    11. Exercises (2/3)
    12. Exercises (3/3)
  14. 6 Congestion Control and Resource Allocation
    1. Problem: Allocating Resources
    2. 6.1 Issues in Resource Allocation
      1. 6.1.1 Network Model
      2. 6.1.2 Taxonomy
      3. 6.1.3 Evaluation Criteria
    3. 6.2 Queuing Disciplines
      1. 6.2.2 Fair Queuing
    4. 6.3 TCP Congestion Control
      1. 6.3.1 Additive Increase/Multiplicative Decrease
      2. 6.3.3 Fast Retransmit and Fast Recovery
    5. 6.4 Congestion-Avoidance Mechanisms
      1. 6.4.1 DECbit
      2. 6.4.3 Source-Based Congestion Avoidance (1/2)
      3. 6.4.3 Source-Based Congestion Avoidance (2/2)
      4. 6.5.1 Application Requirements (1/2)
      5. 6.5.1 Application Requirements (2/2)
      6. 6.5.2 Integrated Services (RSVP) (1/2)
      7. 6.5.2 Integrated Services (RSVP) (2/2)
      8. 6.5.3 Differentiated Services (EF, AF) (1/2)
      9. 6.5.3 Differentiated Services (EF, AF) (2/2)
      10. 6.5.4 Equation-Based Congestion Control
    6. 6.6 Summary
    7. Open Issue: Inside versus Outside the Network
    8. Further Reading
    9. Exercises (1/3)
    10. Exercises (2/3)
    11. Exercises (3/3)
  15. 7 End-to-End Data
    1. Problem: What Do We Do with the Data?
      1. 7.1.1 Taxonomy (1/2)
      2. 7.1.1 Taxonomy (2/2)
      3. 7.1.3 Markup Languages (XML)
    2. 7.2 Data Compression
      1. 7.2.1 Lossless Compression Algorithms
      2. 7.2.2 Image Compression (JPEG)
      3. 7.2.3 Video Compression (MPEG)
      4. 7.2.4 Transmitting MPEG over a Network
      5. 7.2.5 Audio Compression (MP3)
    3. 7.3 Summary
    4. Open Issue: Computer Networks Meet Consumer Electronics
    5. Further Reading
    6. Exercises (1/2)
    7. Exercises (2/2)
  16. 8 Network Security
    1. Problem: Security Attacks
    2. 8.1 Cryptographic Tools
      1. 8.1.1 Principles of Ciphers
      2. 8.1.2 Symmetric-Key Ciphers
      3. 8.1.3 Public-Key Ciphers
      4. 8.1.4 Authenticators
    3. 8.2 Key Predistribution
      1. 8.2.1 Predistribution of Public Keys
      2. 8.2.2 Predistribution of Symmetric Keys
    4. 8.3 Authentication Protocols
      1. 8.3.1 Originality and Timeliness Techniques
      2. 8.3.2 Public-Key Authentication Protocols
      3. 8.3.3 Symmetric-Key Authentication Protocols
      4. 8.3.4 Diffie-Hellman Key Agreement
    5. 8.4 Secure Systems
      1. 8.4.1 Pretty Good Privacy (PGP)
      2. 8.4.2 Secure Shell (SSH)
      3. 8.4.3 Transport Layer Security (TLS, SSL, HTTPS)
      4. 8.4.4 IP Security (IPsec)
      5. 8.4.5 Wireless Security (802.11i)
    6. 8.5 Firewalls
      1. 8.5.1 Strengths and Weaknesses of Firewalls
    7. 8.6 Summary
    8. Open Issue: Denial-of-Service Attacks
    9. Further Reading
    10. Exercises (1/2)
    11. Exercises (2/2)
  17. 9 Applications
    1. Problem: Applications Need Their Own Protocols
    2. 9.1 Traditional Applications
      1. 9.1.1 Electronic Mail (SMTP, MIME, IMAP) (1/3)
      2. 9.1.1 Electronic Mail (SMTP, MIME, IMAP) (2/3)
      3. 9.1.1 Electronic Mail (SMTP, MIME, IMAP) (3/3)
      4. 9.1.3 Name Service (DNS) (1/2)
      5. 9.1.3 Name Service (DNS) (2/2)
      6. 9.1.4 Network Management (SNMP)
    3. 9.2 Web Services
      1. 9.2.1 Custom Application Protocols (WSDL, SOAP) (1/2)
      2. 9.2.1 Custom Application Protocols (WSDL, SOAP) (2/2)
      3. 9.2.2 A Generic Application Protocol (REST)
    4. 9.3 Multimedia Applications
      1. 9.3.1 Session Control and Call Control (SDP, SIP, H.323) (1/2)
      2. 9.3.1 Session Control and Call Control (SDP, SIP, H.323) (2/2)
      3. 9.3.2 Resource Allocation for Multimedia Applications
    5. 9.4 Overlay Networks
      1. 9.4.1 Routing Overlays (1/2)
      2. 9.4.1 Routing Overlays (2/2)
      3. 9.4.2 Peer-to-Peer Networks (Gnutella, BitTorrent) (1/3)
      4. 9.4.2 Peer-to-Peer Networks (Gnutella, BitTorrent) (2/3)
      5. 9.4.2 Peer-to-Peer Networks (Gnutella, BitTorrent) (3/3)
      6. 9.4.3 Content Distribution Networks
    6. 9.5 Summary
    7. Open Issue: New Network Architecture
    8. Further Reading
    9. Exercises (1/2)
    10. Exercises (2/2)
  18. Solutions to Select Excercises
    1. Chapter 1
    2. Chapter 2
    3. Chapter 3
    4. Chapter 4
    5. Chapter 6 (1/2)
    6. Chapter 6 (2/2)
    7. Chapter 7
  19. Glossary (1/6)
  20. Glossary (2/6)
  21. Glossary (3/6)
  22. Glossary (4/6)
  23. Glossary (5/6)
  24. Glossary (6/6)
  25. Bibliography (1/4)
  26. Bibliography (2/4)
  27. Bibliography (3/4)
  28. Bibliography (4/4)
  29. Index (1/5)
  30. Index (2/5)
  31. Index (3/5)
  32. Index (4/5)
  33. Index (5/5)

Product information

  • Title: Computer Networks, 4th Edition
  • Author(s): Larry L. Peterson, Bruce S. Davie
  • Release date: March 2007
  • Publisher(s): Morgan Kaufmann
  • ISBN: 9780080476674