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 Internet | p. 1 |
1.1 What Is the Internet? | p. 2 |
1.1.1 A Nuts-and-Bolts Description | p. 2 |
1.1.2 A Services Description | p. 5 |
1.1.3 What Is a Protocol? | p. 7 |
1.2 The Network Edge | p. 9 |
1.2.1 Access Networks | p. 12 |
1.2.3 Physical Media | p. 18 |
1.3 The Network Core | p. 22 |
1.3.1 Packet Switching | p. 22 |
1.3.2 Circuit Switching | p. 27 |
1.3.3 A Network of Networks | p. 32 |
1.4 Delay, Loss, and Throughput in Packet-Switched Networks | p. 35 |
1.4.1 Overview of Delay in Packet-Switched Networks | p. 35 |
1.4.2 Queuing Delay and Packet Loss | p. 39 |
1.4.3 End-to-End Delay | p. 42 |
1.4.4 Throughput in Computer Networks | p. 44 |
1.5 Protocol Layers and Their Service Models | p. 47 |
1.5.1 Layered Architecture | p. 47 |
1.5.2 Encapsulation | p. 53 |
1.6 Networks Under Attack | p. 55 |
1.7 History of Computer Networking and the Internet | p. 60 |
1.7.1 The Development of Packet Switching: 1961-1972 | p. 60 |
1.7.2 Proprietary Networks and Internetworking: 1972-1980 | p. 62 |
1.7.3 A Proliferation of Networks: 1980-1990 | p. 63 |
1.7.4 The Internet Explosion: The 1990s | p. 64 |
1.7.5 The New Millennium | p. 65 |
1.8 Summary | p. 66 |
Homework Problems and Questions | p. 68 |
Problems | p. 70 |
Wireshark Lab | p. 78 |
Interview: Leonard Kleinrock | p. 80 |
Chapter 2 Application Layer | p. 83 |
2.1 Principles of Network Applications | p. 84 |
2.1.1 Network Application Architectures | p. 86 |
2.1.2 Processes Communicating | p. 88 |
2.1.3 Transport Services Available to Applications | p. 91 |
2.1.4 Transport Services Provided by the Internet | p. 93 |
2.1.5 Application-Layer Protocols | p. 96 |
2.1.6 Network Applications Covered in This Book | p. 97 |
2.2 The Web and HTTP | p. 98 |
2.2.1 Overview of HTTP | p. 98 |
2.2.2 Non-Persistent and Persistent Connections | p. 100 |
2.2.3 HTTP Message Format | p. 103 |
2.2.4 User-Server Interaction: Cookies | p. 108 |
2.2.5 Web Caching | p. 110 |
2.2.6 The Conditional GET | p. 114 |
2.3 File Transfer: FTP | p. 116 |
2.3.1 FTP Commands and Replies | p. 118 |
2.4 Electronic Mail in the Internet | p. 118 |
2.4.1 SMTP | p. 121 |
2.4.2 Comparison with HTTP | p. 124 |
2.4.3 Mail Message Format | p. 125 |
2.4.4 Mail Access Protocols | p. 125 |
2.5 DNS-The Internet's Directory Service | p. 130 |
2.5.1 Services Provided by DNS | p. 131 |
2.5.2 Overview of How DNS Works | p. 133 |
2.5.3 DNS Records and Messages | p. 139 |
2.6 Peer-to-Peer Applications | p. 144 |
2.6.1 P2P File Distribution | p. 145 |
2.6.2 Distributed Hash Tables (DHTs) | p. 151 |
2.6.3 Case Study: P2P Internet Telephony with Skype | p. 158 |
2.7 Socket Programming: Creating Network Applications | p. 156 |
2.7.1 Socket Programming with UDP | p. 157 |
2.7.2 Socket Programming with TCP | p. 163 |
2.8 Summary | p. 168 |
Homework Problems and Questions | p. 169 |
Problems | p. 171 |
Socket Programming Assignments | p. 179 |
Wireshark Labs | p. 181 |
Interview: Bram Cohen | p. 182 |
Chapter 3 Transport Layer | p. 185 |
3.1 Introduction and Transport-Layer Services | p. 186 |
3.1.1 Relationship Between Transport and Network Layers | p. 186 |
3.1.2 Overview of the Transport Layer in the Internet | p. 189 |
3.2 Multiplexing and Demultiplexing | p. 191 |
3.3 Connectionless Transport: UDP | p. 198 |
3.3.1 UDP Segment Structure | p. 202 |
3.3.2 UDP Checksum | p. 202 |
3.4 Principles of Reliable Data Transfer | p. 204 |
3.4.1 Building a Reliable Data Transfer Protocol | p. 206 |
3.4.2 Pipelined Reliable Data Transfer Protocols | p. 215 |
3.4.3 Go-Back-N (GBN) | p. 218 |
3.4.4 Selective Repeat (SR) | p. 223 |
3.5 Connection-Oriented Transport: TCP | p. 230 |
3.5.1 The TCP Connection | p. 231 |
3.5.2 TCP Segment Structure | p. 233 |
3.5.3 Round-Trip Time Estimation and Timeout | p. 238 |
3.5.4 Reliable Data Transfer | p. 242 |
3.5.5 Flow Control | p. 250 |
3.5.6 TCP Connection Management | p. 252 |
3.6 Principles of Congestion Control | p. 259 |
3.6.1 The Causes and the Costs of Congestion | p. 259 |
3.6.2 Approaches to Congestion Control | p. 265 |
3.6.3 Network-Assisted Congestion-Control Example:ATM ABR Congestion Control | p. 266 |
3.7 TCP Congestion Control | p. 269 |
3.7.1 Fairness | p. 279 |
3.8 Summary | p. 283 |
Homework Problems and Questions | p. 285 |
Problems | p. 288 |
Programming Assignments | p. 300 |
Wireshark Lab: Exploring TCP | p. 301 |
Wireshark Lab: Exploring UDP | p. 301 |
Interview: Sally Floyd | p. 302 |
Chapter 4 The Network Layer | p. 305 |
4.1 Introduction | p. 306 |
4.1.1 Forwarding and Routing | p. 308 |
4.1.2 Network Service Models | p. 310 |
4.2 Virtual Circuit and Datagram Networks | p. 313 |
4.2.1 Virtual-Circuit Networks | p. 314 |
4.2.2 Datagram Networks | p. 317 |
4.2.3 Origins of VC and Datagram Networks | p. 319 |
4.3 What's Inside a Router? | p. 320 |
4.3.1 Input Processing | p. 322 |
4.3.2 Switching | p. 324 |
4.3.3 Output Processing | p. 326 |
4.3.4 Where Does Queuing Occur? | p. 327 |
4.3.5 The Routing Control Plane | p. 331 |
4.4 The Internet Protocol (IP): Forwarding and Addressing in the Internet | p. 331 |
4.4.1 Datagram Format | p. 332 |
4.4.2 IPv4 Addressing | p. 338 |
4.4.3 Internet Control Message Protocol (ICMP) | p. 353 |
4.4.4 IPv6 | p. 356 |
4.4.5 A Brief Introduction into IP Security | p. 362 |
4.5 Routing Algorithms | p. 363 |
4.5.1 The Link-State (LS) Routing Algorithm | p. 366 |
4.5.2 The Distance-Vector (DV) Routing Algorithm | p. 371 |
4.5.3 Hierarchical Routing | p. 379 |
4.6 Routing in the Internet | p. 383 |
4.6.1 Intra-AS Routing in the Internet: RIP | p. 384 |
4.6.2 Intra-AS Routing in the Internet: OSPF | p. 388 |
4.6.3 Inter-AS Routing: BGP | p. 390 |
4.7 Broadcast and Multicast Routing | p. 399 |
4.7.1 Broadcast Routing Algorithms | p. 400 |
4.7.2 Multicast | p. 405 |
4.8 Summary | p. 412 |
Homework Problems and Questions | p. 413 |
Problems | p. 416 |
Socket Programming Assignment | p. 428 |
Programming Assignment | p. 429 |
Wireshark Labs | p. 430 |
Interview: Vinton G. Cerf | p. 431 |
Chapter 5 The Link Layer: Links, Access Networks, and LANs | p. 433 |
5.1 Introduction to the Link Layer | p. 434 |
5.1.1 The Services Provided by the Link Layer | p. 436 |
5.1.2 Where Is the Link Layer Implemented? | p. 437 |
5.2 Error-Detection and -Correction Techniques | p. 438 |
5.2.1 Parity Checks | p. 440 |
5.2.2 Checksumming Methods | p. 442 |
5.2.3 Cyclic Redundancy Check (CRC) | p. 443 |
5.3 Multiple Access Links and Protocols | p. 445 |
5.3.1 Channel Partitioning Protocols | p. 448 |
5.3.2 Random Access Protocols | p. 449 |
5.3.3 Taking-Turns Protocols | p. 459 |
5.3.4 DOCSIS: The Link-Layer Protocol for Cable Internet Access | p. 460 |
5.4 Switched Local Area Networks | p. 461 |
5.4.1 Link-Layer Addressing and ARP | p. 462 |
5.4.2 Ethernet | p. 469 |
5.4.3 Link-Layer Switches | p. 476 |
5.4.4 Virtual Local Area Networks (VLANs) | p. 482 |
5.5 Link Virtualization: A Network as a Link Layer | p. 486 |
5.5.1 Multiprotocol Label Switching (MPLS) | p. 487 |
5.6 Data Center Networking | p. 490 |
5.7 Retrospective: A Day in the Life of a Web Page Request | p. 495 |
5.7.1 Getting Started: DHCP, UDP, IP, and Ethernet | p. 495 |
5.7.2 Still Getting Started: DNS, ARP | p. 497 |
5.7.3 Still Getting Started: Intra-Domain Routing to the DNS Server | p. 498 |
5.7.4 Web Client-Server Interaction: TCP and HTTP | p. 499 |
5.8 Summary | p. 500 |
Homework Problems and Questions | p. 502 |
Problems | p. 503 |
Wireshark Labs | p. 510 |
Interview: Simon S. Lam | p. 511 |
Chapter 6 Wireless and Mobile Networks | p. 513 |
6.1 Introduction | p. 514 |
6.2 Wireless Links and Network Characteristics | p. 519 |
6.2.1 CDMA | p. 522 |
6.3 WiFi: 802.11 Wireless LANs | p. 526 |
6.3.1 The 802.11 Architecture | p. 527 |
6.3.2 The 802.11 MAC Protocol | p. 531 |
6.3.3 The IEEE 802.11 Frame | p. 537 |
6.3.4 Mobility in the Same IP Subnet | p. 541 |
6.3.5 Advanced Features in 802.11 | p. 542 |
6.3.6 Personal Area Networks: Bluetooth and Zipbee | p. 544 |
6.4 Cellular Internet Access | p. 546 |
6.4.1 An Overview of Cellular Network Architecture | p. 547 |
6.4.2 3G Cellular Data Networks: Extending the Internet to Cellular Subscribers | p. 550 |
6.4.3 On to 4G: LTE | p. 553 |
6.5 Mobility Management: Principles | p. 555 |
6.5.1 Addressing | p. 557 |
6.5.2 Routing to a Mobile Node | p. 559 |
6.6 Mobile IP | p. 564 |
6.7 Managing Mobility in Cellular Networks | p. 570 |
6.7.1 Routing Calls to a Mobile User | p. 571 |
6.7.2 Handoffs in GSM | p. 572 |
6.8 Wireless and Mobility: Impact on Higher-Layer Protocols | p. 575 |
6.9 Summary | p. 578 |
Homework Problems and Questions | p. 578 |
Problems | p. 580 |
Wireshark Labs | p. 583 |
Interview: Deborah Estrin | p. 584 |
Chapter 7 Multimedia Networking | p. 587 |
7.1 Multimedia Networking Applications | p. 588 |
7.1.1 Properties of Video | p. 588 |
7.1.2 Properties of Audio | p. 590 |
7.1.3 Types of Multimedia Network Applications | p. 591 |
7.2 Streaming Stored Video | p. 593 |
7.2.1 UDP Streaming | p. 595 |
7.2.2 HTTP Streaming | p. 596 |
7.2.3 Adaptive Streaming and DASH | p. 600 |
7.2.4 Content Distribution Networks | p. 602 |
7.2.5 Case Studies: Netflix, YouTube, and KanKan | p. 608 |
7.3 Voice-over-IP | p. 612 |
7.3.1 Limitations of the Best-Effort IP Service | p. 612 |
7.3.2 Removing Jitter at the Receiver for Audio | p. 614 |
7.3.3 Recovering from Packet Loss | p. 618 |
7.3.4 Case Study: Internet Telephony with Skype | p. 621 |
7.4 Protocols for Real-Time Interactive Applications | p. 623 |
7.4.1 RTP | p. 623 |
7.4.2 SIP | p. 626 |
7.5 Network Support for Multimedia | p. 632 |
7.5.1 Dimensioning Best-Effort Networks | p. 634 |
7.5.2 Providing Multiple Classes of Service | p. 636 |
7.5.3 Diffserv | p. 648 |
7.5.4 Per-Connection Quality-of-Service (QoS) Guarantees:Resource Reservation and Call Admission | p. 652 |
7.6 Summary | p. 655 |
Homework Problems and Questions | p. 656 |
Problems | p. 658 |
Programming Assignment | p. 666 |
Interview: Henning Schulzrinne | p. 668 |
Chapter 8 Security in Computer Networks | p. 671 |
8.1 What Is Network Security? | p. 672 |
8.2 Principles of Cryptography | p. 675 |
8.2.1 Symmetric Key Cryptography | p. 676 |
8.2.2 Public Key Encryption | p. 683 |
8.3 Message Integrity and Digital Signatures | p. 688 |
8.3.1 Cryptographic Hash Functions | p. 689 |
8.3.2 Message Authentication Code | p. 691 |
8.3.3 Digital Signatures | p. 693 |
8.4 End-Point Authentication | p. 700 |
8.4.1 Authentication Protocol ap1.0 | p. 700 |
8.4.2 Authentication Protocol ap2.0 | p. 701 |
8.4.3 Authentication Protocol ap3.0 | p. 701 |
8.4.4 Authentication Protocol ap3.1 | p. 703 |
8.4.5 Authentication Protocol ap4.0 | p. 703 |
8.5 Securing E-mail | p. 705 |
8.5.1 Secure E-mail | p. 706 |
8.5.2 PGP | p. 710 |
8.6 Securing TCP Connections: SSL | p. 711 |
8.6.1 The Big Picture | p. 713 |
8.6.2 A More Complete Picture | p. 716 |
8.7 Network-Layer Security: IPsec and Virtual Private Networks | p. 718 |