ebook img

Computer Networking: A Top-Down Approach PDF

775 Pages·8·19.559 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Computer Networking: A Top-Down Approach

COMPUTER NETWORKING A Top-Down Approach James F. Kurose University of Massachusetts, Amherst Keith W. Ross Polytechnic Institute of NYU Brief Contents Chapter 1 Computer Networks and the Internet 1 Chapter 2 Application Layer 81 Chapter 3 Transport Layer 181 Chapter 4 The Network Layer: Data Plane 303 Chapter 5 The Network Layer: Control Plane 377 Chapter 6 The Link Layer and LANs 449 Chapter 7 Wireless and Mobile Networks 531 Chapter 8 Security in Computer Networks 607 References 691 Index 731 xix A01_KURO1557_08_SE_FM.indd 19 12/02/20 10:57 AM A01_KURO1557_08_SE_FM.indd 20 12/02/20 10:57 AM Table of Contents Chapter 1 Computer Networks and the Internet 1 1.1 What Is the Internet? 2 1.1.1 A Nuts-and-Bolts Description 2 1.1.2 A Services Description 5 1.1.3 What Is a Protocol? 7 1.2 The Network Edge 9 1.2.1 Access Networks 12 1.2.2 Physical Media 18 1.3 The Network Core 22 1.3.1 Packet Switching 23 1.3.2 Circuit Switching 27 1.3.3 A Network of Networks 31 1.4 Delay, Loss, and Throughput in Packet-Switched Networks 35 1.4.1 Overview of Delay in Packet-Switched Networks 35 1.4.2 Queuing Delay and Packet Loss 39 1.4.3 End-to-End Delay 41 1.4.4 Throughput in Computer Networks 43 1.5 Protocol Layers and Their Service Models 47 1.5.1 Layered Architecture 47 1.5.2 Encapsulation 52 1.6 Networks Under Attack 54 1.7 History of Computer Networking and the Internet 58 1.7.1 The Development of Packet Switching: 1961–1972 58 1.7.2 Proprietary Networks and Internetworking: 1972–1980 59 1.7.3 A Proliferation of Networks: 1980–1990 61 1.7.4 The Internet Explosion: The 1990s 62 1.7.5 The New Millennium 63 1.8 Summary 64 Homework Problems and Questions 66 Wireshark Lab 76 Interview: Leonard Kleinrock 78 xxi A01_KURO1557_08_SE_FM.indd 21 12/02/20 10:57 AM xxii TABLE OF CONTENTS Chapter 2 Application Layer 81 2.1 Principles of Network Applications 82 2.1.1 Network Application Architectures 84 2.1.2 Processes Communicating 85 2.1.3 Transport Services Available to Applications 88 2.1.4 Transport Services Provided by the Internet 90 2.1.5 Application-Layer Protocols 94 2.1.6 Network Applications Covered in This Book 95 2.2 The Web and HTTP 95 2.2.1 Overview of HTTP 96 2.2.2 Non-Persistent and Persistent Connections 98 2.2.3 HTTP Message Format 101 2.2.4 User-Server Interaction: Cookies 105 2.2.5 Web Caching 108 2.2.6 HTTP/2 113 2.3 Electronic Mail in the Internet 116 2.3.1 SMTP 118 2.3.2 Mail Message Formats 121 2.3.3 Mail Access Protocols 121 2.4 DNS—The Internet’s Directory Service 122 2.4.1 Services Provided by DNS 123 2.4.2 Overview of How DNS Works 125 2.4.3 DNS Records and Messages 131 2.5 Peer-to-Peer File Distribution 136 2.6 Video Streaming and Content Distribution Networks 143 2.6.1 Internet Video 143 2.6.2 HTTP Streaming and DASH 144 2.6.3 Content Distribution Networks 145 2.6.4 Case Studies: Netflix and YouTube 149 2.7 Socket Programming: Creating Network Applications 152 2.7.1 Socket Programming with UDP 154 2.7.2 Socket Programming with TCP 159 2.8 Summary 165 Homework Problems and Questions 166 Socket Programming Assignments 175 Wireshark Labs: HTTP, DNS 177 Interview: Tim Berners-Lee 178 A01_KURO1557_08_SE_FM.indd 22 12/02/20 10:57 AM TABLE OF CONTENTS xxiii Chapter 3 Transport Layer 181 3.1 Introduction and Transport-Layer Services 182 3.1.1 Relationship Between Transport and Network Layers 182 3.1.2 Overview of the Transport Layer in the Internet 185 3.2 Multiplexing and Demultiplexing 187 3.3 Connectionless Transport: UDP 194 3.3.1 UDP Segment Structure 198 3.3.2 UDP Checksum 198 3.4 Principles of Reliable Data Transfer 200 3.4.1 Building a Reliable Data Transfer Protocol 202 3.4.2 Pipelined Reliable Data Transfer Protocols 211 3.4.3 Go-Back-N (GBN) 215 3.4.4 Selective Repeat (SR) 220 3.5 Connection-Oriented Transport: TCP 227 3.5.1 The TCP Connection 227 3.5.2 TCP Segment Structure 230 3.5.3 Round-Trip Time Estimation and Timeout 235 3.5.4 Reliable Data Transfer 238 3.5.5 Flow Control 246 3.5.6 TCP Connection Management 249 3.6 Principles of Congestion Control 255 3.6.1 The Causes and the Costs of Congestion 255 3.6.2 Approaches to Congestion Control 262 3.7 TCP Congestion Control 263 3.7.1 Classic TCP Congestion Control 263 3.7.2 Network-Assisted Explicit Congestion Notification and Delayed-based Congestion Control 274 3.7.3 Fairness 276 3.8 Evolution of Transport-Layer Functionality 279 3.9 Summary 282 Homework Problems and Questions 284 Programming Assignments 300 Wireshark Labs: Exploring TCP, UDP 300 Interview: Van Jacobson 301 Chapter 4 The Network Layer: Data Plane 303 4.1 Overview of Network Layer 304 4.1.1 Forwarding and Routing: The Data and Control Planes 304 4.1.2 Network Service Model 309 4.2 What’s Inside a Router? 311 4.2.1 Input Port Processing and Destination-Based Forwarding 314 4.2.2 Switching 317 A01_KURO1557_08_SE_FM.indd 23 12/02/20 10:57 AM xxiv TABLE OF CONTENTS 4.2.3 Output Port Processing 319 4.2.4 Where Does Queuing Occur? 319 4.2.5 Packet Scheduling 325 4.3 The Internet Protocol (IP): IPv4, Addressing, IPv6, and More 330 4.3.1 IPv4 Datagram Format 331 4.3.2 IPv4 Addressing 333 4.3.3 Network Address Translation (NAT) 344 4.3.4 IPv6 347 4.4 Generalized Forwarding and SDN 353 4.4.1 Match 355 4.4.2 Action 356 4.4.3 OpenFlow Examples of Match-plus-action in Action 357 4.5 Middleboxes 360 4.6 Summary 364 Homework Problems and Questions 364 Wireshark Lab: IP 374 Interview: Vinton G. Cerf 375 Chapter 5 The Network Layer: Control Plane 377 5.1 Introduction 378 5.2 Routing Algorithms 380 5.2.1 The Link-State (LS) Routing Algorithm 383 5.2.2 The Distance-Vector (DV) Routing Algorithm 388 5.3 Intra-AS Routing in the Internet: OSPF 395 5.4 Routing Among the ISPs: BGP 399 5.4.1 The Role of BGP 399 5.4.2 Advertising BGP Route Information 400 5.4.3 Determining the Best Routes 402 5.4.4 IP-Anycast 406 5.4.5 Routing Policy 407 5.4.6 Putting the Pieces Together: Obtaining Internet Presence 410 5.5 The SDN Control Plane 411 5.5.1 The SDN Control Plane: SDN Controller and SDN Network-control Applications 414 5.5.2 OpenFlow Protocol 416 5.5.3 Data and Control Plane Interaction: An Example 418 5.5.4 SDN: Past and Future 419 5.6 ICMP: The Internet Control Message Protocol 423 5.7 Network Management and SNMP, NETCONF/YANG 425 5.7.1 The Network Management Framework 426 5.7.2 The Simple Network Management Protocol (SNMP) and the Management Information Base (MIB) 428 5.7.3 The Network Configuration Protocol (NETCONF) and YANG 432 5.8 Summary 436 A01_KURO1557_08_SE_FM.indd 24 12/02/20 10:57 AM TABLE OF CONTENTS xxv Homework Problems and Questions 437 Socket Programming Assignment 5: ICMP Ping 443 Programming Assignment: Routing 444 Wireshark Lab: ICMP 445 Interview: Jennifer Rexford 446 Chapter 6 The Link Layer and LANs 449 6.1 Introduction to the Link Layer 450 6.1.1 The Services Provided by the Link Layer 452 6.1.2 Where Is the Link Layer Implemented? 453 6.2 Error-Detection and -Correction Techniques 454 6.2.1 Parity Checks 456 6.2.2 Checksumming Methods 458 6.2.3 Cyclic Redundancy Check (CRC) 459 6.3 Multiple Access Links and Protocols 461 6.3.1 Channel Partitioning Protocols 463 6.3.2 Random Access Protocols 465 6.3.3 Taking-Turns Protocols 474 6.3.4 DOCSIS: The Link-Layer Protocol for Cable Internet Access 475 6.4 Switched Local Area Networks 477 6.4.1 Link-Layer Addressing and ARP 478 6.4.2 Ethernet 484 6.4.3 Link-Layer Switches 491 6.4.4 Virtual Local Area Networks (VLANs) 497 6.5 Link Virtualization: A Network as a Link Layer 501 6.5.1 Multiprotocol Label Switching (MPLS) 502 6.6 Data Center Networking 505 6.6.1 Data Center Architectures 505 6.6.2 Trends in Data Center Networking 509 6.7 Retrospective: A Day in the Life of a Web Page Request 512 6.7.1 Getting Started: DHCP, UDP, IP, and Ethernet 512 6.7.2 Still Getting Started: DNS and ARP 514 6.7.3 Still Getting Started: Intra-Domain Routing to the DNS Server 515 6.7.4 Web Client-Server Interaction: TCP and HTTP 516 6.8 Summary 518 Homework Problems and Questions 519 Wireshark Labs: 802.11 Ethernet 527 Interview: Albert Greenberg 528 Chapter 7 Wireless and Mobile Networks 531 7.1 Introduction 532 7.2 Wireless Links and Network Characteristics 536 7.2.1 CDMA 539 A01_KURO1557_08_SE_FM.indd 25 12/02/20 10:57 AM xxvi TABLE OF CONTENTS 7.3 WiFi: 802.11 Wireless LANs 542 7.3.1 The 802.11 Wireless LAN Architecture 544 7.3.2 The 802.11 MAC Protocol 548 7.3.3 The IEEE 802.11 Frame 553 7.3.4 Mobility in the Same IP Subnet 556 7.3.5 Advanced Features in 802.11 559 7.3.6 Personal Area Networks: Bluetooth 560 7.4 Cellular Networks: 4G and 5G 563 7.4.1 4G LTE Cellular Networks: Architecture and Elements 564 7.4.2 LTE Protocols Stacks 570 7.4.3 LTE Radio Access Network 571 7.4.4 Additional LTE Functions: Network Attachment and Power Management 572 7.4.5 The Global Cellular Network: A Network of Networks 574 7.4.6 5G Cellular Networks 575 7.5 Mobility Management: Principles 578 7.5.1 Device Mobility: a Network-layer Perspective 578 7.5.2 Home Networks and Roaming on Visited Networks 579 7.5.3 Direct and Indirect Routing to/from a Mobile Device 580 7.6 Mobility Management in Practice 587 7.6.1 Mobility Management in 4G/5G Networks 587 7.6.2 Mobile IP 592 7.7 Wireless and Mobility: Impact on Higher-Layer Protocols 594 7.8 Summary 596 Homework Problems and Questions 597 Wireshark Lab: WiFi 602 Interview: Deborah Estrin 603 Chapter 8 Security in Computer Networks 607 8.1 What Is Network Security? 608 8.2 Principles of Cryptography 610 8.2.1 Symmetric Key Cryptography 612 8.2.2 Public Key Encryption 618 8.3 Message Integrity and Digital Signatures 624 8.3.1 Cryptographic Hash Functions 625 8.3.2 Message Authentication Code 626 8.3.3 Digital Signatures 628 8.4 End-Point Authentication 634 8.5 Securing E-Mail 639 8.5.1 Secure E-Mail 640 8.5.2 PGP 643 A01_KURO1557_08_SE_FM.indd 26 12/02/20 10:57 AM

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.