logo资料库

计算机网络英文版.pdf

第1页 / 共889页
第2页 / 共889页
第3页 / 共889页
第4页 / 共889页
第5页 / 共889页
第6页 / 共889页
第7页 / 共889页
第8页 / 共889页
资料共889页,剩余部分请下载后查看
Cover
Title Page
Copyright Page
Table of Contents
Chapter 1 Computer Networks and the Internet
1.1 What Is the Internet?
1.1.1 A Nuts-and-Bolts Description
1.1.2 A Services Description
1.1.3 What Is a Protocol?
1.2 The Network Edge
1.2.1 Access Networks
1.2.2 Physical Media
1.3 The Network Core
1.3.1 Packet Switching
1.3.2 Circuit Switching
1.3.3 A Network of Networks
1.4 Delay, Loss, and Throughput in Packet-Switched Networks
1.4.1 Overview of Delay in Packet-Switched Networks
1.4.2 Queuing Delay and Packet Loss
1.4.3 End-to-End Delay
1.4.4 Throughput in Computer Networks
1.5 Protocol Layers and Their Service Models
1.5.1 Layered Architecture
1.5.2 Encapsulation
1.6 Networks Under Attack
1.7 History of Computer Networking and the Internet
1.7.1 The Development of Packet Switching: 1961–1972
1.7.2 Proprietary Networks and Internetworking: 1972–1980
1.7.3 A Proliferation of Networks: 1980–1990
1.7.4 The Internet Explosion: The 1990s
1.7.5 The New Millennium
1.8 Summary
Homework Problems and Questions
Wireshark Lab
Interview: Leonard Kleinrock
Chapter 2 Application Layer
2.1 Principles of Network Applications
2.1.1 Network Application Architectures
2.1.2 Processes Communicating
2.1.3 Transport Services Available to Applications
2.1.4 Transport Services Provided by the Internet
2.1.5 Application-Layer Protocols
2.1.6 Network Applications Covered in This Book
2.2 The Web and HTTP
2.2.1 Overview of HTTP
2.2.2 Non-Persistent and Persistent Connections
2.2.3 HTTP Message Format
2.2.4 User-Server Interaction: Cookies
2.2.5 Web Caching
2.2.6 The Conditional GET
2.3 File Transfer: FTP
2.3.1 FTP Commands and Replies
2.4 Electronic Mail in the Internet
2.4.1 SMTP
2.4.2 Comparison with HTTP
2.4.3 Mail Message Format
2.4.4 Mail Access Protocols
2.5 DNS—The Internet’s Directory Service
2.5.1 Services Provided by DNS
2.5.2 Overview of How DNS Works
2.5.3 DNS Records and Messages
2.6 Peer-to-Peer Applications
2.6.1 P2P File Distribution
2.6.2 Distributed Hash Tables (DHTs)
2.7 Socket Programming: Creating Network Applications
2.7.1 Socket Programming with UDP
2.7.2 Socket Programming with TCP
2.8 Summary
Homework Problems and Questions
Socket Programming Assignments
Wireshark Labs: HTTP, DNS
Interview: Marc Andreessen
Chapter 3 Transport Layer
3.1 Introduction and Transport-Layer Services
3.1.1 Relationship Between Transport and Network Layers
3.1.2 Overview of the Transport Layer in the Internet
3.2 Multiplexing and Demultiplexing
3.3 Connectionless Transport: UDP
3.3.1 UDP Segment Structure
3.3.2 UDP Checksum
3.4 Principles of Reliable Data Transfer
3.4.1 Building a Reliable Data Transfer Protocol
3.4.2 Pipelined Reliable Data Transfer Protocols
3.4.3 Go-Back-N (GBN)
3.4.4 Selective Repeat (SR)
3.5 Connection-Oriented Transport: TCP
3.5.1 The TCP Connection
3.5.2 TCP Segment Structure
3.5.3 Round-Trip Time Estimation and Timeout
3.5.4 Reliable Data Transfer
3.5.5 Flow Control
3.5.6 TCP Connection Management
3.6 Principles of Congestion Control
3.6.1 The Causes and the Costs of Congestion
3.6.2 Approaches to Congestion Control
3.6.3 Network-Assisted Congestion-Control Example: ATM ABR Congestion Control
3.7 TCP Congestion Control
3.7.1 Fairness
3.8 Summary
Homework Problems and Questions
Programming Assignments
Wireshark Labs: TCP, UDP
Interview: Van Jacobson
Chapter 4 The Network Layer
4.1 Introduction
4.1.1 Forwarding and Routing
4.1.2 Network Service Models
4.2 Virtual Circuit and Datagram Networks
4.2.1 Virtual-Circuit Networks
4.2.2 Datagram Networks
4.2.3 Origins of VC and Datagram Networks
4.3 What’s Inside a Router?
4.3.1 Input Processing
4.3.2 Switching
4.3.3 Output Processing
4.3.4 Where Does Queuing Occur?
4.3.5 The Routing Control Plane
4.4 The Internet Protocol (IP): Forwarding and Addressing in the Internet
4.4.1 Datagram Format
4.4.2 IPv4 Addressing
4.4.3 Internet Control Message Protocol (ICMP)
4.4.4 IPv6
4.4.5 A Brief Foray into IP Security
4.5 Routing Algorithms
4.5.1 The Link-State (LS) Routing Algorithm
4.5.2 The Distance-Vector (DV) Routing Algorithm
4.5.3 Hierarchical Routing
4.6 Routing in the Internet
4.6.1 Intra-AS Routing in the Internet: RIP
4.6.2 Intra-AS Routing in the Internet: OSPF
4.6.3 Inter-AS Routing: BGP
4.7 Broadcast and Multicast Routing
4.7.1 Broadcast Routing Algorithms
4.7.2 Multicast
4.8 Summary
Homework Problems and Questions
Programming Assignments
Wireshark Labs: IP, ICMP
Interview: Vinton G. Cerf
Chapter 5 The Link Layer: Links, Access Networks, and LANs
5.1 Introduction to the Link Layer
5.1.1 The Services Provided by the Link Layer
5.1.2 Where Is the Link Layer Implemented?
5.2 Error-Detection and -Correction Techniques
5.2.1 Parity Checks
5.2.2 Checksumming Methods
5.2.3 Cyclic Redundancy Check (CRC)
5.3 Multiple Access Links and Protocols
5.3.1 Channel Partitioning Protocols
5.3.2 Random Access Protocols
5.3.3 Taking-Turns Protocols
5.3.4 DOCSIS: The Link-Layer Protocol for Cable Internet Access
5.4 Switched Local Area Networks
5.4.1 Link-Layer Addressing and ARP
5.4.2 Ethernet
5.4.3 Link-Layer Switches
5.4.4 Virtual Local Area Networks (VLANs)
5.5 Link Virtualization: A Network as a Link Layer
5.5.1 Multiprotocol Label Switching (MPLS)
5.6 Data Center Networking
5.7 Retrospective: A Day in the Life of a Web Page Request
5.7.1 Getting Started: DHCP, UDP, IP, and Ethernet
5.7.2 Still Getting Started: DNS and ARP
5.7.3 Still Getting Started: Intra-Domain Routing to the DNS Server
5.7.4 Web Client-Server Interaction: TCP and HTTP
5.8 Summary
Homework Problems and Questions
Wireshark Labs: Ethernet and ARP, DHCP
Interview: Simon S. Lam
Chapter 6 Wireless and Mobile Networks
6.1 Introduction
6.2 Wireless Links and Network Characteristics
6.2.1 CDMA
6.3 WiFi: 802.11 Wireless LANs
6.3.1 The 802.11 Architecture
6.3.2 The 802.11 MAC Protocol
6.3.3 The IEEE 802.11 Frame
6.3.4 Mobility in the Same IP Subnet
6.3.5 Advanced Features in 802.11
6.3.6 Personal Area Networks: Bluetooth and Zigbee
6.4 Cellular Internet Access
6.4.1 An Overview of Cellular Network Architecture
6.4.2 3G Cellular Data Networks: Extending the Internet to Cellular Subscribers
6.4.3 On to 4G: LTE
6.5 Mobility Management: Principles
6.5.1 Addressing
6.5.2 Routing to a Mobile Node
6.6 Mobile IP
6.7 Managing Mobility in Cellular Networks
6.7.1 Routing Calls to a Mobile User
6.7.2 Handoffs in GSM
6.8 Wireless and Mobility: Impact on Higher-Layer Protocols
6.9 Summary
Homework Problems and Questions
Wireshark Lab: IEEE 802.11 (WiFi)
Interview: Deborah Estrin
Chapter 7 Multimedia Networking
7.1 Multimedia Networking Applications
7.1.1 Properties of Video
7.1.2 Properties of Audio
7.1.3 Types of Multimedia Network Applications
7.2 Streaming Stored Video
7.2.1 UDP Streaming
7.2.2 HTTP Streaming
7.2.3 Adaptive Streaming and DASH
7.2.4 Content Distribution Networks
7.2.5 Case Studies: Netflix, YouTube, and Kankan
7.3 Voice-over-IP
7.3.1 Limitations of the Best-Effort IP Service
7.3.2 Removing Jitter at the Receiver for Audio
7.3.3 Recovering from Packet Loss
7.3.4 Case Study: VoIP with Skype
7.4 Protocols for Real-Time Conversational Applications
7.4.1 RTP
7.4.2 SIP
7.5 Network Support for Multimedia
7.5.1 Dimensioning Best-Effort Networks
7.5.2 Providing Multiple Classes of Service
7.5.3 Diffserv
7.5.4 Per-Connection Quality-of-Service (QoS) Guarantees: Resource Reservation and Call Admission
7.6 Summary
Homework Problems and Questions
Programming Assignment
Interview: Henning Schulzrinne
Chapter 8 Security in Computer Networks
8.1 What Is Network Security?
8.2 Principles of Cryptography
8.2.1 Symmetric Key Cryptography
8.2.2 Public Key Encryption
8.3 Message Integrity and Digital Signatures
8.3.1 Cryptographic Hash Functions
8.3.2 Message Authentication Code
8.3.3 Digital Signatures
8.4 End-Point Authentication
8.4.1 Authentication Protocol ap1.0
8.4.2 Authentication Protocol ap2.0
8.4.3 Authentication Protocol ap3.0
8.4.4 Authentication Protocol ap3.1
8.4.5 Authentication Protocol ap4.0
8.5 Securing E-Mail
8.5.1 Secure E-Mail
8.5.2 PGP
8.6 Securing TCP Connections: SSL
8.6.1 The Big Picture
8.6.2 A More Complete Picture
8.7 Network-Layer Security: IPsec and Virtual Private Networks
8.7.1 IPsec and Virtual Private Networks (VPNs)
8.7.2 The AH and ESP Protocols
8.7.3 Security Associations
8.7.4 The IPsec Datagram
8.7.5 IKE: Key Management in IPsec
8.8 Securing Wireless LANs
8.8.1 Wired Equivalent Privacy (WEP)
8.8.2 IEEE 802.11i
8.9 Operational Security: Firewalls and Intrusion Detection Systems
8.9.1 Firewalls
8.9.2 Intrusion Detection Systems
8.10 Summary
Homework Problems and Questions
Wireshark Lab: SSL
IPsec Lab
Interview: Steven M. Bellovin
Chapter 9 Network Management
9.1 What Is Network Management?
9.2 The Infrastructure for Network Management
9.3 The Internet-Standard Management Framework
9.3.1 Structure of Management Information: SMI
9.3.2 Management Information Base: MIB
9.3.3 SNMP Protocol Operations and Transport Mappings
9.3.4 Security and Administration
9.4 ASN.1
9.5 Conclusion
Homework Problems and Questions
Interview: Jennifer Rexford
References
Index
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
COMPUTER SIXTH EDITION NETWORKING A Top-Down Approach James F. Kurose University of Massachusetts, Amherst Keith W. Ross Polytechnic Institute of NYU Boston Columbus Indianapolis New York San Francisco Upper Saddle River Amsterdam Cape Town Dubai London Madrid Milan Munich Paris Montréal Toronto Delhi Mexico City São Paulo Sydney Hong Kong Seoul Singapore Taipei Tokyo
Vice President and Editorial Director, ECS: Marcia Horton Editor in Chief: Michael Hirsch Editorial Assistant: Emma Snider Vice President Marketing: Patrice Jones Marketing Manager: Yez Alayan Marketing Coordinator: Kathryn Ferranti Vice President and Director of Production: Vince O’Brien Managing Editor: Jeff Holcomb Senior Production Project Manager: Marilyn Lloyd Manufacturing Manager: Nick Sklitsis Operations Specialist: Lisa McDowell Art Director, Cover: Anthony Gemmellaro Art Coordinator: Janet Theurer/ Theurer Briggs Design Art Studio: Patrice Rossi Calkin/ Rossi Illustration and Design Cover Designer: Liz Harasymcuk Text Designer: Joyce Cosentino Wells Cover Image: ©Fancy/Alamy Media Editor: Dan Sandin Full-Service Vendor: PreMediaGlobal Senior Project Manager: Andrea Stefanowicz Printer/Binder: Edwards Brothers Cover Printer: Lehigh-Phoenix Color This book was composed in Quark. Basal font is Times. Display font is Berkeley. Copyright © 2013, 2010, 2008, 2005, 2003 by Pearson Education, Inc., publishing as Addison-Wesley. All rights reserved. Manufactured in the United States of America. This publication is protected by Copyright, and permission should be obtained from the pub- lisher prior to any prohibited reproduction, storage in a retrieval system, or transmission in any form or by any means, electronic, mechanical, photocopying, recording, or like- wise. To obtain permission(s) to use material from this work, please submit a written request to Pearson Education, Inc., Permissions Department, One Lake Street, Upper Saddle River, New Jersey 07458, or you may fax your request to 201-236-3290. Many of the designations by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and the publisher was aware of a trademark claim, the designations have been printed in initial caps or all caps. Library of Congress Cataloging-in-Publication Data Kurose, James F. Computer networking : a top-down approach / James F. Kurose, Keith W. Ross.—6th ed. p. cm. Includes bibliographical references and index. ISBN-13: 978-0-13-285620-1 ISBN-10: 0-13-285620-4 1. Internet. 2. Computer networks. I. Ross, Keith W., 1956- II. Title. TK5105.875.I57K88 2012 004.6—dc23 10 9 8 7 6 5 4 3 2 1 2011048215 ISBN-10: 0-13-285620-4 ISBN-13: 978-0-13-285620-1
About the Authors Jim Kurose Jim Kurose is a Distinguished University Professor of Computer Science at the University of Massachusetts, Amherst. Dr. Kurose has received a number of recognitions for his educational activities including Outstanding Teacher Awards from the National Technological University (eight times), the University of Massachusetts, and the Northeast Association of Graduate Schools. He received the IEEE Taylor Booth Education Medal and was recognized for his leadership of Massachusetts’ Commonwealth Information Technology Initiative. He has been the recipient of a GE Fellowship, an IBM Faculty Development Award, and a Lilly Teaching Fellowship. Dr. Kurose is a former Editor-in-Chief of IEEE Transactions on Communications and of IEEE/ACM Transactions on Networking. He has been active in the program committees for IEEE Infocom, ACM SIGCOMM, ACM Internet Measurement Conference, and ACM SIGMETRICS for a number of years and has served as Technical Program Co-Chair for those conferences. He is a Fellow of the IEEE and the ACM. His research interests include network protocols and architecture, network measurement, sensor networks, multimedia communication, and modeling and performance evaluation. He holds a PhD in Computer Science from Columbia University. Keith Ross Keith Ross is the Leonard J. Shustek Chair Professor and Head of the Computer Science Department at Polytechnic Institute of NYU. Before joining NYU-Poly in 2003, he was a professor at the University of Pennsylvania (13 years) and a professor at Eurecom Institute (5 years). He received a B.S.E.E from Tufts University, a M.S.E.E. from Columbia University, and a Ph.D. in Computer and Control Engineering from The University of Michigan. Keith Ross is also the founder and original CEO of Wimba, which develops online multimedia applications for e-learning and was acquired by Blackboard in 2010. Professor Ross’s research interests are in security and privacy, social networks, peer-to-peer networking, Internet measurement, video streaming, content distribution networks, and stochastic modeling. He is an IEEE Fellow, recipient of the Infocom 2009 Best Paper Award, and recipient of 2011 and 2008 Best Paper Awards for Multimedia Communications (awarded by IEEE Communications Society). He has served on numerous journal editorial boards and conference program commit- tees, including IEEE/ACM Transactions on Networking, ACM SIGCOMM, ACM CoNext, and ACM Internet Measurement Conference. He also has served as an advisor to the Federal Trade Commission on P2P file sharing. iii
This page intentionally left blank
To Julie and our three precious ones—Chris, Charlie, and Nina JFK A big THANKS to my professors, colleagues, and students all over the world. KWR
This page intentionally left blank
Preface Welcome to the sixth edition of Computer Networking: A Top-Down Approach. Since the publication of the first edition 12 years ago, our book has been adopted for use at many hundreds of colleges and universities, translated into 14 languages, and used by over one hundred thousand students and practitioners worldwide. We’ve heard from many of these readers and have been overwhelmed by the positive response. What’s New in the Sixth Edition? We think one important reason for this success has been that our book continues to offer a fresh and timely approach to computer networking instruction. We’ve made changes in this sixth edition, but we’ve also kept unchanged what we believe (and the instruc- tors and students who have used our book have confirmed) to be the most important aspects of this book: its top-down approach, its focus on the Internet and a modern treatment of computer networking, its attention to both principles and practice, and its accessible style and approach toward learning about computer networking. Neverthe- less, the sixth edition has been revised and updated substantially: • The Companion Web site has been significantly expanded and enriched to • • • • include VideoNotes and interactive exercises, as discussed later in this Preface. In Chapter 1, the treatment of access networks has been modernized, and the description of the Internet ISP ecosystem has been substantially revised, account- ing for the recent emergence of content provider networks, such as Google’s. The presentation of packet switching and circuit switching has also been reorganized, providing a more topical rather than historical orientation. In Chapter 2, Python has replaced Java for the presentation of socket program- ming. While still explicitly exposing the key ideas behind the socket API, Python code is easier to understand for the novice programmer. Moreover, unlike Java, Python provides access to raw sockets, enabling students to build a larger variety of network applications. Java-based socket programming labs have been replaced with corresponding Python labs, and a new Python-based ICMP Ping lab has been added. As always, when material is retired from the book, such as Java-based socket programming material, it remains available on the book’s Companion Web site (see following text). In Chapter 3, the presentation of one of the reliable data transfer protocols has been simplified and a new sidebar on TCP splitting, commonly used to optimize the performance of cloud services, has been added. In Chapter 4, the section on router architectures has been significantly updated, reflecting recent developments and practices in the field. Several new integrative sidebars involving DNS, BGP, and OSPF are included.
分享到:
收藏