Computer Networks: A Systems Approach
Book information
Description
Computer Networks: A Systems Approach, Sixth Edition, explores the key principles of computer networking, using real world examples from network and protocol design. Using the Internet as the primary example, this best-selling classic textbook explains various protocols and networking technologies. The systems-oriented approach encourages students to think about how individual network components fit into a larger, complex system of interactions. This sixth edition contains completely updated content with expanded coverage of the topics of utmost importance to networking professionals and students, as provided by numerous contributors via a unique open source model developed jointly by the authors and publisher. Hallmark features of the book are retained, including chapter problem statements, which introduce issues to be examined; shaded sidebars that elaborate on a topic or introduce a related advanced topic; What’s Next? discussions that deal with emerging issues in research, the commercial world, or society; and exercises. This book is intended primarily for graduate or upper-division undergraduate classes in computer networking. It will also be useful for industry professionals retraining for network-related assignments, as well as for network practitioners seeking to understand the workings of network protocols and the big picture of networking. Front Cover In Praise of Computer Networks: A Systems Approach Computer Networks Copyright Foreword Foreword to the First Edition Preface New Material in the Sixth Edition Organization Acknowledgments Open Source How to Contribute Contents 1 Foundation Problem: Building a Network 1.1 Applications 1.1.1 Classes of Applications 1.2 Requirements 1.2.1 Stakeholders 1.2.2 Scalable Connectivity 1.2.3 Cost-Effective Resource Sharing 1.2.4 Support for Common Services Identify Common Communication Patterns Reliable Message Delivery 1.2.5 Manageability 1.3 Architecture 1.3.1 Layering and Protocols 1.3.2 Encapsulation 1.3.3 Multiplexing and Demultiplexing 1.3.4 Seven-Layer OSI Model 1.3.5 Internet Architecture 1.4 Software 1.4.1 Application Programming Interface (Sockets) 1.4.2 Example Application Client Server 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 Perspective: Feature Velocity Broader Perspective Exercises 2 Direct Links Problem: Connecting to a Network 2.1 Technology Landscape 2.2 Encoding 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 Internet Checksum Algorithm 2.4.2 Cyclic Redundancy Check 2.5 Reliable Transmission 2.5.1 Stop-and-Wait 2.5.2 Sliding Window The Sliding Window Algorithm Finite Sequence Numbers and Sliding Window Implementation of Sliding Window Frame Order and Flow Control 2.5.3 Concurrent Logical Channels 2.6 Multiaccess Networks 2.6.1 Physical Properties 2.6.2 Access Protocol Frame Format Addresses Transmitter Algorithm 2.6.3 Longevity of Ethernet 2.7 Wireless Networks 2.7.1 Basic Issues 2.7.2 802.11/Wi-Fi Physical Properties Collision Avoidance Distribution System Frame Format Security of Wireless Links 2.7.3 Bluetooth (802.15.1) 2.8 Access Networks 2.8.1 Passive Optical Network 2.8.2 Cellular Network Perspective: Race to the Edge Broader Perspective Exercises 3 Internetworking Problem: Not All Networks Are Directly Connected 3.1 Switching Basics 3.1.1 Datagrams 3.1.2 Virtual Circuit Switching Asynchronous Transfer Mode (ATM) 3.1.3 Source Routing 3.2 Switched Ethernet 3.2.1 Learning Bridges 3.2.2 Implementation 3.2.3 Spanning Tree Algorithm 3.2.4 Broadcast and Multicast 3.2.5 Virtual LANs (VLANs) 3.3 Internet (IP) 3.3.1 What Is an Internetwork? 3.3.2 Service Model Datagram Delivery Packet Format Fragmentation and Reassembly 3.3.3 Global Addresses 3.3.4 Datagram Forwarding in IP 3.3.5 Subnetting and Classless Addressing Classless Addressing IP Forwarding Revisited 3.3.6 Address Translation (ARP) 3.3.7 Host Configuration (DHCP) 3.3.8 Error Reporting (ICMP) 3.3.9 Virtual Networks and Tunnels 3.4 Routing 3.4.1 Network as a Graph 3.4.2 Distance-Vector (RIP) Implementation Routing Information Protocol (RIP) 3.4.3 Link State (OSPF) Reliable Flooding Route Calculation The Open Shortest Path First Protocol (OSPF) 3.4.4 Metrics 3.5 Implementation 3.5.1 Software Switch 3.5.2 Hardware Switch 3.5.3 Software-Defined Networks Perspective: Virtual Networks All the Way Down Broader Perspective Exercises 4 Advanced Internetworking Problem: Scaling to Billions 4.1 Global Internet 4.1.1 Routing Areas 4.1.2 Interdomain Routing (BGP) Challenges in Interdomain Routing Basics of BGP Common AS Relationships and Policies Integrating Interdomain and Intradomain Routing 4.2 IP Version 6 4.2.1 Historical Perspective 4.2.2 Addresses and Routing Address Space Allocation Address Notation Global Unicast Addresses 4.2.3 Packet Format 4.2.4 Advanced Capabilities Autoconfiguration Source-Directed Routing 4.3 Multicast 4.3.1 Multicast Addresses 4.3.2 Multicast Routing (DVMRP, PIM, MSDP) DVMRP PIM-SM Interdomain Multicast (MSDP) Source-Specific Multicast (PIM-SSM) Bidirectional Trees (BIDIR-PIM) 4.4 Multiprotocol Label Switching 4.4.1 Destination-Based Forwarding 4.4.2 Explicit Routing 4.4.3 Virtual Private Networks and Tunnels 4.5 Routing Among Mobile Devices 4.5.1 Challenges for Mobile Networking 4.5.2 Routing to Mobile Hosts (Mobile IP) Route Optimization in Mobile IP Mobility in IPv6 Perspective: The Cloud Is Eating the Internet Broader Perspective Exercises 5 End-to-End Protocols Problem: Getting Processes to Communicate 5.1 Simple Demultiplexor (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 Three-Way Handshake State-Transition Diagram 5.2.4 Sliding Window Revisited Reliable and Ordered Delivery Flow Control Protecting Against Wraparound Keeping the Pipe Full 5.2.5 Triggering Transmission Silly Window Syndrome Nagle's Algorithm 5.2.6 Adaptive Retransmission Original Algorithm Karn/Partridge Algorithm Jacobson/Karels Algorithm Implementation 5.2.7 Record Boundaries 5.2.8 TCP Extensions 5.2.9 Performance 5.2.10 Alternative Design Choices (SCTP, QUIC) QUIC 5.3 Remote Procedure Call 5.3.1 RPC Fundamentals Identifiers in RPC Overcoming Network Limitations Synchronous Versus Asynchronous Protocols 5.3.2 RPC Implementations (SunRPC, DCE, gRPC) SunRPC DCE-RPC gRPC 5.4 Transport for Real-Time (RTP) 5.4.1 Requirements 5.4.2 RTP Design Header Format 5.4.3 Control Protocol Perspective: HTTP Is the New Narrow Waist Broader Perspective Exercises 6 Congestion Control Problem: Allocating Resources 6.1 Issues in Resource Allocation 6.1.1 Network Model Packet-Switched Network Connectionless Flows Service Model 6.1.2 Taxonomy Router-Centric Versus Host-Centric Reservation-Based Versus Feedback-Based Window-Based Versus Rate-Based Summary of Resource Allocation Taxonomy 6.1.3 Evaluation Criteria Effective Resource Allocation Fair Resource Allocation 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.3.4 TCP CUBIC 6.4 Advanced Congestion Control 6.4.1 Active Queue Management (DECbit, RED, ECN) DECbit Random Early Detection Explicit Congestion Notification 6.4.2 Source-Based Approaches (Vegas, BBR, DCTCP) TCP Vegas TCP BBR DCTCP 6.5 Quality of Service 6.5.1 Application Requirements Real-Time Audio Example Taxonomy of Real-Time Applications Approaches to QoS Support 6.5.2 Integrated Services (RSVP) Service Classes Overview of Mechanisms Flowspecs Admission Control Reservation Protocol Packet Classifying and Scheduling Scalability Issues 6.5.3 Differentiated Services (EF, AF) The Expedited Forwarding (EF) PHB The Assured Forwarding (AF) PHB 6.5.4 Equation-Based Congestion Control Perspective: Software-Defined Traffic Engineering Broader Perspective Exercises 7 End-to-End Data Problem: What Do We Do With the Data? 7.1 Presentation Formatting 7.1.1 Taxonomy Data Types Conversion Strategy Tags Stubs 7.1.2 Examples (XDR, ASN.1, NDR, Protobufs) XDR ASN.1 NDR Protocol Buffers (Protobufs) 7.1.3 Markup Languages (XML) XML Namespaces 7.2 Multimedia Data 7.2.1 Lossless Compression Techniques Run Length Encoding Differential Pulse Code Modulation Dictionary-Based Methods 7.2.2 Image Representation and Compression (GIF, JPEG) DCT Phase Quantization Phase Encoding Phase 7.2.3 Video Compression (MPEG) Frame Types Effectiveness and Performance Video Encoding Standards 7.2.4 Transmitting MPEG Over a Network Adaptive Streaming 7.2.5 Audio Compression (MP3) Perspective: Big Data and Analytics Broader Perspective Exercises 8 Network Security Problem: Security Attacks 8.1 Trust and Threats 8.2 Cryptographic Building Blocks 8.2.1 Principles of Ciphers 8.2.2 Secret-Key Ciphers 8.2.3 Public-Key Ciphers 8.2.4 Authenticators 8.3 Key Predistribution 8.3.1 Predistribution of Public Keys Certification Authorities Web of Trust Certificate Revocation 8.3.2 Predistribution of Secret Keys 8.3.3 Diffie–Hellman Key Exchange 8.4 Authentication Protocols 8.4.1 Originality and Timeliness Techniques 8.4.2 Public-Key Authentication Protocols 8.4.3 Secret-Key Authentication Protocols Kerberos 8.5 Example Systems 8.5.1 Pretty Good Privacy (PGP) 8.5.2 Secure Shell (SSH) 8.5.3 Transport Layer Security (TLS, SSL, HTTPS) Handshake Protocol Record Protocol 8.5.4 IP Security (IPsec) 8.5.5 Wireless Security (802.11i) 8.5.6 Firewalls Strengths and Weaknesses of Firewalls Perspective: Blockchain and a Decentralized Internet Broader Perspective Exercises 9 Applications Problem: Applications Need Their Own Protocols 9.1 Traditional Applications 9.1.1 Electronic Mail (SMTP, MIME, IMAP) Message Format Message Transfer Mail Reader 9.1.2 World Wide Web (HTTP) Request Messages Response Messages Uniform Resource Identifiers TCP Connections Caching 9.1.3 Web Services Custom Application Protocols (WSDL, SOAP) Defining Application Protocols Defining Transport Protocols Standardizing Web Service Protocols A Generic Application Protocol (REST) From Web Services to Cloud Services 9.2 Multimedia Applications 9.2.1 Session Control and Call Control (SDP, SIP, H.323) Session Description Protocol (SDP) SIP H.323 9.2.2 Resource Allocation for Multimedia Applications 9.3 Infrastructure Applications 9.3.1 Name Service (DNS) Domain Hierarchy Name Servers Name Resolution 9.3.2 Network Management (SNMP, OpenConfig) SNMP OpenConfig 9.4 Overlay Networks 9.4.1 Routing Overlays Experimental Versions of IP End System Multicast Resilient Overlay Networks 9.4.2 Peer-to-Peer Networks Gnutella Structured Overlays BitTorrent 9.4.3 Content Distribution Networks Mechanisms Policies Perspective: The Cloud Is the New Internet Broader Perspective Exercises Solutions to Select Exercises Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Glossary Index Back Cover
Similar books
Computer Networks: A Systems Approach (The Morgan Kaufmann Series in Networking)
2021 · RAR
Computer Networks: A Systems Approach (The Morgan Kaufmann Series in Networking)
2021 · EPUB
Computer Networks: A Systems Approach, Sixth Edition [6th Ed] (Instructor's Edu Resource last of 2, High-Res Figures)
2021 · 7Z
Computer Networks: A Systems Approach, Sixth Edition [6th Ed] (Instructor's Edu Resource 1 of 2, Lecture Content & Solution Manual) (Solutions)
2021 · 7Z
Computer Networks. A Systems Approach
2003 · PDF
Computer Networks: A Systems Approach
2011 · PDF
Computer Networks: A Systems Approach. Solutions Manual
Computer Networks: A Systems Approach, Fifth Edition
2011 · PDF