Computer Networking [8th Edition] 0136681557, 9780136681557, 0135928613, 9780135928615, 0135928605, 9780135928608, 0135928524, 9780135928523

Motivate your students with a top-down, layered approach to computer networking. Unique among computer networking texts,

5,738 1,560 21MB

English Pages 792 Year 2021

Report DMCA / Copyright

DOWNLOAD FILE

Computer Networking [8th Edition]
 0136681557, 9780136681557, 0135928613, 9780135928615, 0135928605, 9780135928608, 0135928524, 9780135928523

  • Commentary
  • TruePDF/Full TOC

Table of contents :
Cover......Page 1
Computer Networking......Page 3
About the Authors......Page 4
Dedication......Page 6
Preface......Page 8
Brief Contents......Page 20
Table of Contents......Page 22
1. Computer Networks and the Internet......Page 29
1.1.1 A Nuts-and-Bolts Description......Page 30
1.1.2 A Services Description......Page 33
1.1.3 What Is a Protocol?......Page 35
1.2 The Network Edge......Page 37
1.2.1 Access Networks......Page 40
1.2.2 Physical Media......Page 46
1.3 The Network Core......Page 50
1.3.1 Packet Switching......Page 51
1.3.2 Circuit Switching......Page 55
1.3.3 A Network of Networks......Page 59
1.4.1 Overview of Delay in Packet-Switched Networks......Page 63
1.4.2 Queuing Delay and Packet Loss......Page 67
1.4.3 End-to-End Delay......Page 69
1.4.4 Throughput in Computer Networks......Page 71
1.5.1 Layered Architecture......Page 75
1.5.2 Encapsulation......Page 80
1.6 Networks Under Attack......Page 82
1.7.1 The Development of Packet Switching: 1961—1972......Page 86
1.7.2 Proprietary Networks and Internetworking: 1972—1980......Page 87
1.7.3 A Proliferation of Networks: 1980—1990......Page 89
1.7.4 The Internet Explosion: The 1990s......Page 90
1.7.5 The New Millennium......Page 91
1.8 Summary......Page 92
Homework Problems and Questions......Page 94
Wireshark Lab......Page 104
2. Application Layer......Page 109
2.1 Principles of Network Applications......Page 110
2.1.1 Network Application Architectures......Page 112
2.1.2 Processes Communicating......Page 113
2.1.3 Transport Services Available to Applications......Page 116
2.1.4 Transport Services Provided by the Internet......Page 118
2.1.5 Application-Layer Protocols......Page 122
2.2 The Web and HTTP......Page 123
2.2.1 Overview of HTTP......Page 124
2.2.2 Non-Persistent and Persistent Connections......Page 126
2.2.3 HTTP Message Format......Page 129
2.2.4 User-Server Interaction: Cookies......Page 133
2.2.5 Web Caching......Page 136
2.2.6 HTTP/2......Page 141
2.3 Electronic Mail in the Internet......Page 144
2.3.1 SMTP......Page 146
2.3.3 Mail Access Protocols......Page 149
2.4 DNS–The Internet’s Directory Service......Page 150
2.4.1 Services Provided by DNS......Page 151
2.4.2 Overview of How DNS Works......Page 153
2.4.3 DNS Records and Messages......Page 159
2.5 Peer-to-Peer File Distribution......Page 164
2.6.1 Internet Video......Page 171
2.6.2 HTTP Streaming and DASH......Page 172
2.6.3 Content Distribution Networks......Page 173
2.6.4 Case Studies: Netflix and YouTube......Page 177
2.7 Socket Programming: Creating Network Applications......Page 180
2.7.1 Socket Programming with UDP......Page 182
2.7.2 Socket Programming with TCP......Page 187
2.8 Summary......Page 193
Homework Problems and Questions......Page 194
Socket Programming Assignments......Page 203
Wireshark Labs: HTTP, DNS......Page 205
3. Transport Layer......Page 209
3.1.1 Relationship Between Transport and Network Layers......Page 210
3.1.2 Overview of the Transport Layer in the Internet......Page 213
3.2 Multiplexing and Demultiplexing......Page 215
3.3 Connectionless Transport: UDP......Page 222
3.3.2 UDP Checksum......Page 226
3.4 Principles of Reliable Data Transfer......Page 228
3.4.1 Building a Reliable Data Transfer Protocol......Page 230
3.4.2 Pipelined Reliable Data Transfer Protocols......Page 239
3.4.3 Go-Back-N (GBN)......Page 243
3.4.4 Selective Repeat (SR)......Page 248
3.5.1 The TCP Connection......Page 255
3.5.2 TCP Segment Structure......Page 258
3.5.3 Round-Trip Time Estimation and Timeout......Page 263
3.5.4 Reliable Data Transfer......Page 266
3.5.5 Flow Control......Page 274
3.5.6 TCP Connection Management......Page 277
3.6.1 The Causes and the Costs of Congestion......Page 283
3.6.2 Approaches to Congestion Control......Page 290
3.7.1 Classic TCP congestion Control......Page 291
3.7.2 Network-Assisted Explicit Congestion Notification and Delay-based Congestion Control......Page 302
3.7.3 Fairness......Page 304
3.8 Evolution of transport-layer functionality......Page 307
3.9 Summary......Page 310
Homework Problems and Questions......Page 312
Wireshark Labs: Exploring TCP, UDP......Page 328
4. The Network Layer: Data Plane......Page 331
4.1.1 Forwarding and Routing: The Network Data and Control Planes......Page 332
4.1.2 Network Service Models......Page 337
4.2 What’s Inside a Router?......Page 339
4.2.1 Input Port Processing and Destination-Based Forwarding......Page 342
4.2.2 Switching......Page 345
4.2.4 Where Does Queuing Occur?......Page 347
4.2.5 Packet Scheduling......Page 353
4.3 The Internet Protocol (IP): IPv4, Addressing, IPv6, and More......Page 358
4.3.1 IPv4 Datagram Format......Page 359
4.3.2 IPv4 Addressing......Page 361
4.3.3 Network Address Translation (NAT)......Page 372
4.3.4 IPv6......Page 375
4.4 Generalized Forwarding and SDN......Page 381
4.4.1 Match......Page 383
4.4.2 Action......Page 384
4.4.3 OpenFlow Examples of Match-plus-action in Action......Page 385
4.5 Middleboxes......Page 388
Homework Problems and Questions......Page 392
Wireshark Lab: IP......Page 402
5. The Network Layer: Control Plane......Page 405
5.1 Introduction......Page 406
5.2 Routing Algorithms......Page 408
5.2.1 The Link-State (LS) Routing Algorithm......Page 411
5.2.2 The Distance-Vector (DV) Routing Algorithm......Page 416
5.3 Intra-AS Routing in the Internet: OSPF......Page 423
5.4.1 The Role of BGP......Page 427
5.4.2 Advertising BGP Route Information......Page 428
5.4.3 Determining the Best Routes......Page 430
5.4.4 IP-Anycast......Page 434
5.4.5 Routing Policy......Page 435
5.4.6 Putting the Pieces Together: Obtaining Internet Presence......Page 438
5.5 The SDN Control Plane......Page 439
5.5.1 The SDN Control Plane: SDN Controller and SDN Control Applications......Page 442
5.5.2 OpenFlow Protocol......Page 444
5.5.3 Data and Control Plane Interaction: An Example......Page 446
5.5.4 SDN: Past and Future......Page 447
5.6 ICMP: The Internet Control Message Protocol......Page 451
5.7 Network Management, SNMP, and NETCONF/YANG......Page 453
5.7.1 The Network Management Framework......Page 454
5.7.2 The Simple Network Management Protocol (SNMP)......Page 456
5.7.3 NETCONF and YANG......Page 460
5.8 Summary......Page 464
Homework Problems and Questions......Page 465
Socket Programming Assignment 5: ICMP Ping......Page 471
Programming Assignment: Routing......Page 472
Wireshark Lab: ICMP......Page 473
6. The Link Layer and LANs......Page 477
6.1 Introduction to the Link Layer......Page 478
6.1.1 The Services Provided by the Link Layer......Page 480
6.1.2 Where Is the Link Layer Implemented?......Page 481
6.2 Error-Detection and -Correction Techniques......Page 482
6.2.1 Parity Checks......Page 484
6.2.2 Checksumming Methods......Page 486
6.2.3 Cyclic Redundancy Check (CRC)......Page 487
6.3 Multiple Access Links and Protocols......Page 489
6.3.1 Channel Partitioning Protocols......Page 491
6.3.2 Random Access Protocols......Page 493
6.3.3 Taking-Turns Protocols......Page 502
6.3.4 DOCSIS: The Link-Layer Protocol for Cable Internet Access......Page 503
6.4 Switched Local Area Networks......Page 505
6.4.1 Link-Layer Addressing and ARP......Page 506
6.4.2 Ethernet......Page 512
6.4.3 Link-Layer Switches......Page 519
6.4.4 Virtual Local Area Networks (VLANs)......Page 525
6.5 Link Virtualization: A Network as a Link Layer......Page 529
6.5.1 Multiprotocol Label Switching (MPLS)......Page 530
6.6.1 Data Center Architectures......Page 533
6.6.2 Trends in Data Center Networking......Page 537
6.7.1 Getting Started: DHCP, UDP, IP, and Ethernet......Page 540
6.7.2 Still Getting Started: DNS and ARP......Page 542
6.7.3 Still Getting Started: Intra-Domain Routing to the DNS Server......Page 543
6.7.4 Web Client-Server Interaction: TCP and HTTP......Page 544
6.8 Summary......Page 546
Homework Problems and Questions......Page 547
Wireshark Labs: 802.11 Ethernet......Page 555
7. Wireless and Mobile Networks......Page 559
7.1 Introduction......Page 560
7.2 Wireless Links and Network Characteristics......Page 564
7.2.1 CDMA......Page 567
7.3 Wireless LANs......Page 570
7.3.1 The 802.11 Architecture......Page 572
7.3.2 The 802.11 MAC Protocol......Page 576
7.3.3 The IEEE 802.11 Frame......Page 581
7.3.4 Mobility in the Same IP Subnet......Page 584
7.3.5 Advanced Features in 802.11......Page 587
7.3.6 Personal Area Networks: Bluetooth......Page 588
7.4 Cellular Networks: 4G and 5G......Page 591
7.4.1 4G LTE Cellular Networks: Architecture and Elements......Page 592
7.4.2 LTE Protocol Stacks......Page 598
7.4.3 LTE Radio Access Network......Page 599
7.4.4 LTE Network Attachment and Power Management......Page 600
7.4.5 The Global Cellular Network: a Network of Networks......Page 602
7.4.6 5G Cellular Networks......Page 603
7.5.1 Device Mobility: a Network-layer Perspective......Page 606
7.5.2 Home Networks and Roaming on Visited Networks......Page 607
7.5.3 Direct and Indirect Routing to/from a Mobile Device......Page 608
7.6.1 Mobility Management in 4G/5G Networks......Page 615
7.6.2 Mobile IP......Page 620
7.7 Wireless and Mobility: Impact on Higher-Layer Protocols......Page 622
7.8 Summary......Page 624
Homework Problems and Questions......Page 625
Wireshark Lab: WiFi......Page 630
8. Security in Computer Networks......Page 635
8.1 What Is Network Security?......Page 636
8.2 Principles of Cryptography......Page 638
8.2.1 Symmetric Key Cryptography......Page 640
8.2.2 Public Key Encryption......Page 646
8.3 Message Integrity and Digital Signatures......Page 652
8.3.1 Cryptographic Hash Functions......Page 653
8.3.2 Message Authentication Code......Page 654
8.3.3 Digital Signatures......Page 656
8.4 End-Point Authentication......Page 662
8.5 Securing E-Mail......Page 667
8.5.1 Secure E-Mail......Page 668
8.5.2 PGP......Page 671
8.6 Securing TCP Connections: TLS......Page 672
8.6.1 The Big Picture......Page 674
8.6.2 A More Complete Picture......Page 677
8.7.1 IPsec and Virtual Private Networks (VPNs)......Page 679
8.7.3 Security Associations......Page 681
8.7.4 The IPsec Datagram......Page 683
8.7.5 IKE: Key Management in IPsec......Page 686
8.8.1 Authentication and Key Agreement in 802.11 Wireless LANs......Page 687
8.8.2 Authentication and Key Agreement in 4G/5G Cellular Networks......Page 692
8.9.1 Firewalls......Page 695
8.9.2 Intrusion Detection Systems......Page 703
8.10 Summary......Page 707
Homework Problems and Questions......Page 708
IPsec Lab......Page 716
References......Page 719
Index......Page 759

Polecaj historie