Cover image for Computer networking : a top-down approach
Title:
Computer networking : a top-down approach
Personal Author:
Edition:
Sixth edition.
Publication Information:
Boston : Pearson, 2013
Physical Description:
xxiv, 862 pages : illustrations ; 24 cm.
ISBN:
9780132856201
Added Author:

Available:*

Library
Item Barcode
Call Number
Material Type
Item Category 1
Status
Searching...
30000010340784 TK5105.875.I57 K87 2013 Open Access Book Book
Searching...

On Order

Summary

Summary

&> Computer Networking continues with an early emphasis on application-layer paradigms and application programming interfaces (the top layer), encouraging a hands-on experience with protocols and networking concepts, before working down the protocol stack to more abstract layers.


This book has become the dominant book for this course because of the authors' reputations, the precision of explanation, the quality of the art program, and the value of their own supplements.


Visit the authors' blog for information and resources to discuss the newest edition, as well as valuable insights, teaching tips, and discussion about the field of Computer Networking http://kuroseross.com


Author Notes

James Kurose teaches at the University of Massachusetts at Amherst. His research interests include network protocols and architecture, network measurement, sensor networks, multimedia communication, and modeling and performance evaluation. He received his PhD from Columbia University.

Keith Ross is a professor of computer science at Polytechnic University. He has worked in peer-to-peer networking, Internet measurement, video streaming, Web caching, multi-service loss networks, content distribution networks, voice over IP, optimization, queuing theory, optimal control of queues, and Markov decision processes. Professor Ross received his PhD in Computer and Control Engineering from the University of Michigan.


Table of Contents

Chapter 1 Computer Networks and the Internetp. 1
1.1 What Is the Internet?p. 2
1.1.1 A Nuts-and-Bolts Descriptionp. 2
1.1.2 A Services Descriptionp. 5
1.1.3 What Is a Protocol?p. 7
1.2 The Network Edgep. 9
1.2.1 Access Networksp. 12
1.2.3 Physical Mediap. 18
1.3 The Network Corep. 22
1.3.1 Packet Switchingp. 22
1.3.2 Circuit Switchingp. 27
1.3.3 A Network of Networksp. 32
1.4 Delay, Loss, and Throughput in Packet-Switched Networksp. 35
1.4.1 Overview of Delay in Packet-Switched Networksp. 35
1.4.2 Queuing Delay and Packet Lossp. 39
1.4.3 End-to-End Delayp. 42
1.4.4 Throughput in Computer Networksp. 44
1.5 Protocol Layers and Their Service Modelsp. 47
1.5.1 Layered Architecturep. 47
1.5.2 Encapsulationp. 53
1.6 Networks Under Attackp. 55
1.7 History of Computer Networking and the Internetp. 60
1.7.1 The Development of Packet Switching: 1961-1972p. 60
1.7.2 Proprietary Networks and Internetworking: 1972-1980p. 62
1.7.3 A Proliferation of Networks: 1980-1990p. 63
1.7.4 The Internet Explosion: The 1990sp. 64
1.7.5 The New Millenniump. 65
1.8 Summaryp. 66
Homework Problems and Questionsp. 68
Problemsp. 70
Wireshark Labp. 78
Interview: Leonard Kleinrockp. 80
Chapter 2 Application Layerp. 83
2.1 Principles of Network Applicationsp. 84
2.1.1 Network Application Architecturesp. 86
2.1.2 Processes Communicatingp. 88
2.1.3 Transport Services Available to Applicationsp. 91
2.1.4 Transport Services Provided by the Internetp. 93
2.1.5 Application-Layer Protocolsp. 96
2.1.6 Network Applications Covered in This Bookp. 97
2.2 The Web and HTTPp. 98
2.2.1 Overview of HTTPp. 98
2.2.2 Non-Persistent and Persistent Connectionsp. 100
2.2.3 HTTP Message Formatp. 103
2.2.4 User-Server Interaction: Cookiesp. 108
2.2.5 Web Cachingp. 110
2.2.6 The Conditional GETp. 114
2.3 File Transfer: FTPp. 116
2.3.1 FTP Commands and Repliesp. 118
2.4 Electronic Mail in the Internetp. 118
2.4.1 SMTPp. 121
2.4.2 Comparison with HTTPp. 124
2.4.3 Mail Message Formatp. 125
2.4.4 Mail Access Protocolsp. 125
2.5 DNS-The Internet's Directory Servicep. 130
2.5.1 Services Provided by DNSp. 131
2.5.2 Overview of How DNS Worksp. 133
2.5.3 DNS Records and Messagesp. 139
2.6 Peer-to-Peer Applicationsp. 144
2.6.1 P2P File Distributionp. 145
2.6.2 Distributed Hash Tables (DHTs)p. 151
2.6.3 Case Study: P2P Internet Telephony with Skypep. 158
2.7 Socket Programming: Creating Network Applicationsp. 156
2.7.1 Socket Programming with UDPp. 157
2.7.2 Socket Programming with TCPp. 163
2.8 Summaryp. 168
Homework Problems and Questionsp. 169
Problemsp. 171
Socket Programming Assignmentsp. 179
Wireshark Labsp. 181
Interview: Bram Cohenp. 182
Chapter 3 Transport Layerp. 185
3.1 Introduction and Transport-Layer Servicesp. 186
3.1.1 Relationship Between Transport and Network Layersp. 186
3.1.2 Overview of the Transport Layer in the Internetp. 189
3.2 Multiplexing and Demultiplexingp. 191
3.3 Connectionless Transport: UDPp. 198
3.3.1 UDP Segment Structurep. 202
3.3.2 UDP Checksump. 202
3.4 Principles of Reliable Data Transferp. 204
3.4.1 Building a Reliable Data Transfer Protocolp. 206
3.4.2 Pipelined Reliable Data Transfer Protocolsp. 215
3.4.3 Go-Back-N (GBN)p. 218
3.4.4 Selective Repeat (SR)p. 223
3.5 Connection-Oriented Transport: TCPp. 230
3.5.1 The TCP Connectionp. 231
3.5.2 TCP Segment Structurep. 233
3.5.3 Round-Trip Time Estimation and Timeoutp. 238
3.5.4 Reliable Data Transferp. 242
3.5.5 Flow Controlp. 250
3.5.6 TCP Connection Managementp. 252
3.6 Principles of Congestion Controlp. 259
3.6.1 The Causes and the Costs of Congestionp. 259
3.6.2 Approaches to Congestion Controlp. 265
3.6.3 Network-Assisted Congestion-Control Example:ATM ABR Congestion Controlp. 266
3.7 TCP Congestion Controlp. 269
3.7.1 Fairnessp. 279
3.8 Summaryp. 283
Homework Problems and Questionsp. 285
Problemsp. 288
Programming Assignmentsp. 300
Wireshark Lab: Exploring TCPp. 301
Wireshark Lab: Exploring UDPp. 301
Interview: Sally Floydp. 302
Chapter 4 The Network Layerp. 305
4.1 Introductionp. 306
4.1.1 Forwarding and Routingp. 308
4.1.2 Network Service Modelsp. 310
4.2 Virtual Circuit and Datagram Networksp. 313
4.2.1 Virtual-Circuit Networksp. 314
4.2.2 Datagram Networksp. 317
4.2.3 Origins of VC and Datagram Networksp. 319
4.3 What's Inside a Router?p. 320
4.3.1 Input Processingp. 322
4.3.2 Switchingp. 324
4.3.3 Output Processingp. 326
4.3.4 Where Does Queuing Occur?p. 327
4.3.5 The Routing Control Planep. 331
4.4 The Internet Protocol (IP): Forwarding and Addressing in the Internetp. 331
4.4.1 Datagram Formatp. 332
4.4.2 IPv4 Addressingp. 338
4.4.3 Internet Control Message Protocol (ICMP)p. 353
4.4.4 IPv6p. 356
4.4.5 A Brief Introduction into IP Securityp. 362
4.5 Routing Algorithmsp. 363
4.5.1 The Link-State (LS) Routing Algorithmp. 366
4.5.2 The Distance-Vector (DV) Routing Algorithmp. 371
4.5.3 Hierarchical Routingp. 379
4.6 Routing in the Internetp. 383
4.6.1 Intra-AS Routing in the Internet: RIPp. 384
4.6.2 Intra-AS Routing in the Internet: OSPFp. 388
4.6.3 Inter-AS Routing: BGPp. 390
4.7 Broadcast and Multicast Routingp. 399
4.7.1 Broadcast Routing Algorithmsp. 400
4.7.2 Multicastp. 405
4.8 Summaryp. 412
Homework Problems and Questionsp. 413
Problemsp. 416
Socket Programming Assignmentp. 428
Programming Assignmentp. 429
Wireshark Labsp. 430
Interview: Vinton G. Cerfp. 431
Chapter 5 The Link Layer: Links, Access Networks, and LANsp. 433
5.1 Introduction to the Link Layerp. 434
5.1.1 The Services Provided by the Link Layerp. 436
5.1.2 Where Is the Link Layer Implemented?p. 437
5.2 Error-Detection and -Correction Techniquesp. 438
5.2.1 Parity Checksp. 440
5.2.2 Checksumming Methodsp. 442
5.2.3 Cyclic Redundancy Check (CRC)p. 443
5.3 Multiple Access Links and Protocolsp. 445
5.3.1 Channel Partitioning Protocolsp. 448
5.3.2 Random Access Protocolsp. 449
5.3.3 Taking-Turns Protocolsp. 459
5.3.4 DOCSIS: The Link-Layer Protocol for Cable Internet Accessp. 460
5.4 Switched Local Area Networksp. 461
5.4.1 Link-Layer Addressing and ARPp. 462
5.4.2 Ethernetp. 469
5.4.3 Link-Layer Switchesp. 476
5.4.4 Virtual Local Area Networks (VLANs)p. 482
5.5 Link Virtualization: A Network as a Link Layerp. 486
5.5.1 Multiprotocol Label Switching (MPLS)p. 487
5.6 Data Center Networkingp. 490
5.7 Retrospective: A Day in the Life of a Web Page Requestp. 495
5.7.1 Getting Started: DHCP, UDP, IP, and Ethernetp. 495
5.7.2 Still Getting Started: DNS, ARPp. 497
5.7.3 Still Getting Started: Intra-Domain Routing to the DNS Serverp. 498
5.7.4 Web Client-Server Interaction: TCP and HTTPp. 499
5.8 Summaryp. 500
Homework Problems and Questionsp. 502
Problemsp. 503
Wireshark Labsp. 510
Interview: Simon S. Lamp. 511
Chapter 6 Wireless and Mobile Networksp. 513
6.1 Introductionp. 514
6.2 Wireless Links and Network Characteristicsp. 519
6.2.1 CDMAp. 522
6.3 WiFi: 802.11 Wireless LANsp. 526
6.3.1 The 802.11 Architecturep. 527
6.3.2 The 802.11 MAC Protocolp. 531
6.3.3 The IEEE 802.11 Framep. 537
6.3.4 Mobility in the Same IP Subnetp. 541
6.3.5 Advanced Features in 802.11p. 542
6.3.6 Personal Area Networks: Bluetooth and Zipbeep. 544
6.4 Cellular Internet Accessp. 546
6.4.1 An Overview of Cellular Network Architecturep. 547
6.4.2 3G Cellular Data Networks: Extending the Internet to Cellular Subscribersp. 550
6.4.3 On to 4G: LTEp. 553
6.5 Mobility Management: Principlesp. 555
6.5.1 Addressingp. 557
6.5.2 Routing to a Mobile Nodep. 559
6.6 Mobile IPp. 564
6.7 Managing Mobility in Cellular Networksp. 570
6.7.1 Routing Calls to a Mobile Userp. 571
6.7.2 Handoffs in GSMp. 572
6.8 Wireless and Mobility: Impact on Higher-Layer Protocolsp. 575
6.9 Summaryp. 578
Homework Problems and Questionsp. 578
Problemsp. 580
Wireshark Labsp. 583
Interview: Deborah Estrinp. 584
Chapter 7 Multimedia Networkingp. 587
7.1 Multimedia Networking Applicationsp. 588
7.1.1 Properties of Videop. 588
7.1.2 Properties of Audiop. 590
7.1.3 Types of Multimedia Network Applicationsp. 591
7.2 Streaming Stored Videop. 593
7.2.1 UDP Streamingp. 595
7.2.2 HTTP Streamingp. 596
7.2.3 Adaptive Streaming and DASHp. 600
7.2.4 Content Distribution Networksp. 602
7.2.5 Case Studies: Netflix, YouTube, and KanKanp. 608
7.3 Voice-over-IPp. 612
7.3.1 Limitations of the Best-Effort IP Servicep. 612
7.3.2 Removing Jitter at the Receiver for Audiop. 614
7.3.3 Recovering from Packet Lossp. 618
7.3.4 Case Study: Internet Telephony with Skypep. 621
7.4 Protocols for Real-Time Interactive Applicationsp. 623
7.4.1 RTPp. 623
7.4.2 SIPp. 626
7.5 Network Support for Multimediap. 632
7.5.1 Dimensioning Best-Effort Networksp. 634
7.5.2 Providing Multiple Classes of Servicep. 636
7.5.3 Diffservp. 648
7.5.4 Per-Connection Quality-of-Service (QoS) Guarantees:Resource Reservation and Call Admissionp. 652
7.6 Summaryp. 655
Homework Problems and Questionsp. 656
Problemsp. 658
Programming Assignmentp. 666
Interview: Henning Schulzrinnep. 668
Chapter 8 Security in Computer Networksp. 671
8.1 What Is Network Security?p. 672
8.2 Principles of Cryptographyp. 675
8.2.1 Symmetric Key Cryptographyp. 676
8.2.2 Public Key Encryptionp. 683
8.3 Message Integrity and Digital Signaturesp. 688
8.3.1 Cryptographic Hash Functionsp. 689
8.3.2 Message Authentication Codep. 691
8.3.3 Digital Signaturesp. 693
8.4 End-Point Authenticationp. 700
8.4.1 Authentication Protocol ap1.0p. 700
8.4.2 Authentication Protocol ap2.0p. 701
8.4.3 Authentication Protocol ap3.0p. 701
8.4.4 Authentication Protocol ap3.1p. 703
8.4.5 Authentication Protocol ap4.0p. 703
8.5 Securing E-mailp. 705
8.5.1 Secure E-mailp. 706
8.5.2 PGPp. 710
8.6 Securing TCP Connections: SSLp. 711
8.6.1 The Big Picturep. 713
8.6.2 A More Complete Picturep. 716
8.7 Network-Layer Security: IPsec and Virtual Private Networksp. 718