You are on page 1of 27

02-068 FM pp4 6/14/02 5:13 PM Page i

S E C O N D

E D I T I O N

Computer Networking
A Top-Down Approach Featuring the Internet

James F. Kurose
University of Massachusetts, Amherst

Keith W. Ross
Eurcom Institute

02-068 FM pp4 6/14/02 5:13 PM Page ii

Executive Editor Assistant Editor Executive Marketing Manager Production Supervisor Production Services Composition Art Art Development Text and Cover Design Prepress and Manufacturing Media Producer

Susan Hartman Sullivan Galia Shokry Michael Hirsch Kim Ellwood Pre-Press Company, Inc. Pre-Press Company, Inc. Pat Rossi Calkin and Pre-Press Company, Inc. Janet Theurer Joyce Cosentino Wells Caroline Fell Jennifer Pelland

Access the latest information about Addison-Wesley Computing titles from our World Wide Web site: http://www.aw.com/cs The programs and applications presented in this book have been included for their instructional value. They have been tested with care, but are not guaranteed for any particular purpose. The publisher does not offer any warranties or representations, nor does it accept any liabilities with respect to the programs or applications. Library of Congress Cataloging-in-Publication Data Kurose, James F Computer networking: a top-down approach featuring the Internet / James F. Kurose, Keith W. Ross.2nd ed. p. cm. Rosss name appears first on the earlier edition. Includes bibliographical references and index. ISBN 0-201-97699-4 1. Internet. 2. Computer networks I. Ross, Keith W., 1956- II. Title. TK5105.875.I57 K88 2002 004.67'8dc21 Copyright 2003 by Pearson Education, Inc. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior written permission of the publisher. Printed in the United States of America. ISBN 0-201-97699-4 12345678910-CRW-04030201

2002071100

02-068 FM pp4 6/14/02 5:13 PM Page iii

About the Authors


Jim Kurose
Jim Kurose is a professor of Computer Science at the University of Massachusetts, Amherst. He is the eight-time recipient of the Outstanding Teacher Award from the National Technological University, the recipient of the Outstanding Teacher Award from the College of Natural Science and Mathematics at the University of Massachusetts, and the recipient of the 1996 Outstanding Teaching Award of the Northeast Association of Graduate Schools. 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 the IEEE Transactions on Communications and of the IEEE/ACM Transactions on Networking. He is active in the program committees for IEEE Infocom, ACM SIGCOMM, and ACM SIGMETRICS. He holds a Ph.D. in Computer Science from Columbia University.

Keith Ross
Keith Ross is a professor in the Multimedia Communications Department at Eurcom Institute. From 1985 through 1997 he was a Professor at the University of Pennsylvania where he held appointments in both the Department of Systems Engineering and the Wharton School of Business. In 1999, he co-founded the Internet startup Wimba.com. Dr. Ross has published over 50 papers and written two books. He has served on editorial boards of five major journals, and has served on the program committees of major networking conferences., including IEEE Infocom and ACM SIGCOMM. He has supervised more than ten Ph.D. theses. His research and teaching interests included multimedia networking, asynchronous learning, Web caching, streaming audio and video, and traffic modeling. He received his Ph.D. from the University of Michigan.

iii

02-068 FM pp4 6/14/02 5:13 PM Page iv

02-068 FM pp4 6/14/02 5:13 PM Page v

To Julie and our three precious onesChris, Charlie, and Nina JFK

To my wife, Vronique, and our trois petits pois, Ccile, Claire, and Katie KWR

02-068 FM pp4 6/14/02 5:13 PM Page vi

02-068 FM pp4 6/14/02 5:13 PM Page vii

In memory of Sajani and Subin Shrestha

02-068 FM pp4 6/14/02 5:13 PM Page viii

02-068 FM pp4 6/14/02 5:13 PM Page ix

Preface
Welcome to the second edition of Computer Networking: A Top-Down Approach Featuring the Internet. Since the publication of the first edition two years ago, our book has been adopted for use at hundreds of colleges and universities and used by tens of thousands of students and practitioners worldwide. Weve heard from many of these readers and have been overwhelmed by the positive response. We think one important reason for this success is that the book offers a fresh approach to computer networking instruction. Why is a fresh approach needed? In recent years we have witnessed two revolutionary changes in the field of networkingchanges that are not reflected in the networking texts published in the 1980s and 1990s. First, the Internet has taken over computer networking. Any serious discussion about computer networking today has to be done with the Internet in mind. Second, over the past ten years the biggest growth area has been in networking services and applications, which can be seen with the emergence of the Web, ubiquitous use of e-mail, audio and video streaming, Internet phone, instant messaging, peerto-peer applications, and online commerce.

Whats new in the second edition?


Weve made changes in this second edition, but weve also kept unchanged what we believe (and the instructors 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, its attention to both principles and practice, and its accessible style and approach toward learning about computer networking. This second edition has been updated to reflect the rapid changes in the field of networking over the last few years. It includes new and expanded material on peer-to-peer networking, content distribution networks, mobility and mobile IP, wireless networks, BGP, multimedia networking, network security, and much more. The entire text and references have been updated based on changes in the field and feedback from readers of the first edition. Additional homework problems have also been added. This edition also features new lab exercises (including one exciting lab on video streaming using RTP and RTSP).

Audience
This textbook is for a first course on computer networking. It can be used in both computer science and electrical engineering departments. In terms of programming languages, the book assumes only that the student has experience with C, C++, or Java. A student who has programmed only in C or C++ and not Java should not have any difficulty following the application programming material, even though this material is

02-068 FM pp4 6/14/02 5:13 PM Page x

Preface

presented in a Java context. Although this book is more precise and analytical than many other introductory computer networking texts, it rarely uses any mathematical concepts that are not taught in high school. We have made a deliberate effort to avoid using any advanced calculus, probability, or stochastic process concepts. The book is therefore appropriate for undergraduate courses and for first-year graduate courses. It should also be useful to practitioners in the telecommunications industry.

What Is Unique about This Textbook?


The subject of computer networking is enormously complex, involving many concepts, protocols, and technologies that are woven together in an intricate manner. To cope with this scope and complexity, many computer networking texts are often organized around the layers of a network architecture. With a layered organization, students can see through the complexity of computer networkingthey learn about the distinct concepts and protocols in one part of the architecture while seeing the big picture of how all parts fit together. For example, many texts are organized around the seven-layer OSI architecture. From a pedagogical perspective our personal experience has been that such a layered approach to teaching is indeed highly desirable. Nevertheless, we have found the traditional approach of teaching bottomupthat is, from the physical layer towards the application layeris not the best approach for a modern course on computer networking.

A Top-Down Approach
Unlike the other computer networking texts, this text is organized in a top-down mannerthat is, it begins at the application layer and works its way down toward the physical layer. The top-down approach has several important benefits. First, it places emphasis on the application layer, which has been the high growth area of computer networking. Indeed, many of the recent revolutions in computer networking including the Web, audio and video streaming, and content distributionhave taken place at the application layer. In preparing the first edition of this book, we believed that the application layer would remain the highest growth area in the field, both in terms of research and actual deployment. The intervening years have unquestionably shown this to be true! An early emphasis on application-layer issues differs from the approaches taken in most other texts, which have only a small (or nonexistent) amount of material on network applications, their requirements, application-layer paradigms (e.g., client/server), and the application programming interfaces. Second, our experience as instructors has been that teaching networking applications near the beginning of the course is a powerful motivational tool. Students are thrilled to learn about how networking applications workapplications such as email and the Web, which most students use on a daily basis. Once a student understands the applications, the student can then understand the network services needed

02-068 FM pp4 6/14/02 5:13 PM Page xii

xii

Preface

Addressing the Principles


Two of the unique features of the bookits top-down approach and its focus on the Internetappear in the subtitle of this book. If we could have fit a third phrase into the subtitle, it would have contained the word principles. The field of networking is now mature enough that a number of fundamentally important issues can be identified. For example, in the transport layer, the fundamental issues include reliable communication over an unreliable network layer, connection establishment/teardown and handshaking, congestion and flow control, and multiplexing. In the network layer, two fundamentally important issues are finding good paths between two routers and dealing with the interconnection of a large number of heterogeneous systems. In the data link layer, a fundamental problem is sharing a multiple access channel. In network security, techniques for providing confidentiality, authentication, and message integrity are all based on cryptographic fundamentals. This text identifies fundamental networking issues as well as approaches towards addressing these issues. We believe that the combination of using the Internet to get the students foot in the door and then emphasizing the issues and solution approaches will allow the student to quickly understand just about any networking technology.

The Web Site


This textbook has an extensive companion Web site for all book readers at http://www.aw.com/kurose-ross, which includes: Interactive learning material. The site contains interactive Java applets, illustrating key networking concepts. It also provides direct access to the programs such as the Traceroute program (through your browser) that shows the path that packets follow in the Internet. Professors can use these interactive features as mini labs. The Web site also provides direct access to search engines for Internet Drafts and to a newsgroup in which topics of this book are discussed. Finally, the site also makes available interactive quizzes that permit students to check their basic understanding of the subject matter. Over five hundred links to relevant material. As all of us Internet enthusiasts know, much of the best material describing the Internet is in the Internet itself. Weve made an effort to include Web URLs for as many of the books references as possible. The bibliography is online and will be updated as links change, and as new material becomes available. The links point not only to RFCs and journal and conference articles, but also to sites that are more pedagogical in nature, including home-brewed pages on particular aspects of Internet technology and articles appearing in online trade magazines. Professors can assign the material behind the links as supplementary or even required reading. Multimedia lecture material from the authors. The WWW site also makes available Real-Audio in-class lectures of the authors teaching this material to their students.

02-068 FM pp4 6/14/02 5:13 PM Page xiii

Preface

xiii

We also expect to be constantly expanding the Web site, adding contributed material from instructors and readers as well as our own new features. Updates should occur about every three months. If you have any problems with the Web site, send mail to aw.cse@aw.com.

Pedagogical Features
We have each been teaching computer networking for almost 20 years. We bring to this text more than combined 30 years of teaching experience to over 3,000 students. We have also been active researchers in computer networking during this time. (In fact, Jim and Keith first met each other as masters students in a computer networking course taught by Mischa Schwartz in 1979 at Columbia University.) We think all this gives us a good perspective on where networking has been and where it is likely to go in the future. Nevertheless, we have resisted temptations to bias the material in this book towards our own pet research projects. We figure you can visit our personal Web sites if you are interested in our research. Thus, this book is about modern computer networkingit is about contemporary protocols and technologies as well as the underlying principles behind these protocols and technologies. We also believe that learning (and teaching!) about networking can be fun. A sense of humor, use of analogies, and real-world examples in this book will hopefully make this material more fun.

Historical Sidebars and Principles in Practice


The field of computer networking, beginning in the late 1960s, has a rich and fascinating history. We have made a special effort in the text to tell the history of computer networking. This is done with a special historical section in Chapter 1 and with about a dozen historical sidebars sprinkled throughout the chapters. In these historical pieces, we cover the invention of packet switching, the evolution of the Internet, the birth of major networking giants such as Cisco and 3Com, and many other important events. Students will be stimulated by these historical pieces. Also, as historians tell us, history helps us predict the future. And correctly predicting the future in this rapidly changing field is critical for the success of any networking protocol or technology. As noted previously, this book stresses the underlying principles of computer networking as well as the role of these principles in practice. In each of the chapters, we include a special sidebar that highlights an important principle in computer networking. These sidebars will help students appreciate some of the fundamental concepts being applied in modern networking.

Interviews
We have included yet another original feature that should inspire and motivate studentsinterviews with renowned innovators in the field of networking. We provide

02-068 FM pp4 6/14/02 5:13 PM Page xiv

xiv

Preface

interviews with Len Kleinrock, Tim Berners-Lee, Sally Floyd, Vint Cerf, Bob Metcalfe, Henning Schulzrinne, Steven Bellovin, and Jeff Case.

Supplements for Instructors


We realize that changing ones approach to teaching a course or even updating a course can be demanding on ones time. To aid instructors in the transition, we are providing a complete supplements package for qualified instructors, including: PowerPoint slides. The course Web site provides PowerPoint slides for all eight chapters. The slides cover each chapter in detail. They use graphics and animations (rather than relying only on monotonous text bullets) to make the slides interesting and visually appealing. We provide the original PowerPoint slides to instructors so you can customize them to best suit your own teaching needs. A number of these slides have been contributed by other instructors who have taught from our book. Laboratory assignments. The Web site also provides several detailed programming assignments, including an assignment on building a multithreaded Web server, on building an e-mail client with a GUI interface, programming the sender and receiver sides of a reliable data transport protocol, and an assignment on routing in the Internet. Homework Solutions. The Web site provides a solutions manual for the homework problems in the text. These solutions are for instructors only. All of this material is available on the instructors portion of the Web site, http://www.aw.com/kurose-ross. Access to this portion of the WWW site is available by contacting your Addison-Wesley sales representative or by sending an email message to aw.cse@aw.com.

Chapter Dependencies
The first chapter of this text presents a self-contained overview of computer networking. Introducing many key concepts and terminology, this chapter sets the stage for the rest of the book. All of the other chapters directly depend on this first chapter. We recommend that, after completing Chapter 1, instructors cover Chapters 2 through 5 in sequence, thereby teaching according to the top-down philosophy. Each of these five chapters leverages material from the preceding chapters. After completing the first five chapters, the instructor has quite a bit of flexibility. There are no interdependencies among the last three chapters, so they can be

02-068 FM pp4 6/14/02 5:13 PM Page xv

Preface

xv

taught in any order. However, each of the last three chapters depends on the material in the first five chapters. Ideally, the instructor will have time to teach selected material from all three final chapters in a full semester course. We also note that the first chapter of the text, being comprehensive and selfcontained, can serve as the foundation of a short course on networking.

One Final Note


We encourage instructors and students to create new Java applets that illustrate the concepts and protocols in this book. If you have an applet that you think would be appropriate for this text, please submit it to the authors. If the applet (including notation and terminology) are appropriate, we will be happy to include it on the texts Web site, with an appropriate reference to the authors of the applet. We also encourage instructors to send us new homework problems (and solutions) that would complement the current homework problems. We will post these on the instructor-only portion of the Web site. We also encourage students and instructors to e-mail us about any comments they might have about our book. Its been wonderful for us to hear from so many instructors and students from around the world about our first edition. Feel free to send us interesting URLs, to point out typos, to disagree with any of our claims, and to tell us what works and what doesnt work. Tell us what you think should or shouldnt be included in the next edition. Send your e-mail to kurose@cs.umass.edu and ross@eurecom.fr.

Acknowledgements
Since we began writing this book in 1996, many people have given us invaluable help and have been influential in shaping our thoughts on how to best organize and teach a networking course. We want to say A BIG THANKS to everyone who has helped. We are also very thankful to the hundreds of readers from around the world students, faculty, practitionerswho have sent us thoughts and comments on earlier editions of the book and suggestions for future editions of the book. Special thanks go out to: Al Aho (Lucent Bell Laboratories) Pratima Akkunoor (Arizona State University) Paul Amer (University of Delaware) Shamiul Azom (Arizona State University) Paul Barford (University of Wisconsin)

Steven Bellovin (AT&T Research) Shahid Bokhari (University of Engineering & Technology, Lahore) Ernst Biersack (Eurcom Institute) Daniel Brushteyn (former University of Pennsylvania student) Evandro Cantu (Federal University of Santa Catarina) Jeff Case (SNMP Research International) Vinton Cerf (MCI WorldCom) John Daigle (University of Mississippi) Edmundo hn DaiglMnsEv

02-068 FM pp4 6/14/02 5:13 PM Page xvii

Preface

xvii

Ken Reek (Rochester Institute of Technology) Martin Reisslein (Arizona State University) Jennifer Rexford (AT&T Research) Sumit Roy (University of Washington) Avi Rubin (Johns Hopkins University) Despina Saparilla (Lucent Bell Labs) Henning Schulzrinne (Columbia University) Mischa Schwartz (Columbia University) K. Sam Shanmugan (University of Kansas) Prashant Shenoy (University of Massachusetts) Clay Shields (Georgetown University) Subin Shrestra (University of Pennsylvania) Peter Steenkiste (Carnegie Mellon University) Tatsuya Suda (University of California at Irvine) Kin Sun Tam (State University of New York at Albany) Don Towsley (University of Massachusetts) David Turner (California State University, San Bernardino) Ira Winston (University of Pennsylvania) Raj Yavatkar (Intel) Yechiam Yemini (Columbia University) Ellen Zegura (Georgia Institute of Technology) Hui Zhang (Carnegie Mellon University) Lixia Zhang (University of California at Los Angeles) ZhiLi Zhang (University of Minnesota) Lixia Zhang (University of California at Los Angeles) Shuchun Zhang (former University of Pennsylvania student) Phil Zimmermann (independent consultant) We also want to thank the entire Addison-Wesley team, who have done an absolutely outstanding job (and who have put up with two very finicky authors!): Kim Ellwood, Susan Hartman Sullivan, Michael Hirsch, Patty Mahtani, Galia Shokry, and Joyce Wells. Thanks also to the artists, Janet Theurer and Patrice Rossi Calkin, for their work on the beautiful figures in the second edition. Special thanks go to Susan, our editor at Addison-Wesley. This book could not and would not have been completed without her management, encouragement, patience, and perseverance.

02-068 FM pp4 6/14/02 5:13 PM Page xviii

02-068 FM pp4 6/14/02 5:13 PM Page xix

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 Service Description 1.1.3 What Is a Protocol? 1.1.4 Some Good Hyperlinks The Network Edge 1.2.1 End Systems, Clients, and Servers 1.2.2 Connectionless and Connection-Oriented Service The Network Core 1.3.1 Circuit Switching and Packet Switching 1.3.2 Packet Forwarding in Computer Networks Network Access and Physical Media 1.4.1 Network Access 1.4.2 Physical Media ISPs and Internet Backbones Delay and Loss in Packet-Switched Networks 1.6.1 Types of Delay 1.6.2 Queuing Delay and Packet Loss 1.6.3 Delay and Routes in the Internet Protocol Layers and Their Service Models 1.7.1 Layered Architecture 1.7.2 The Internet Protocol Stack 1.7.3 Network Entities and Layers History of Computer Networking and the Internet 1.8.1 The Development of Packet Switching: 19611972 1.8.2 Proprietary Networks and Internetworking: 19721980 1.8.3 A Proliferation of Networks: 19801990 1.8.4 The Internet Explosion: The 1990s 1.8.5 Recent Developments

1
2 2 5 6 8 9 9 12 14 14 25 29 30 35 39 41 41 45 47 49 50 54 57 58 58 60 61 62 64

1.2

1.3

1.4

1.5 1.6

1.7

1.8

xix

02-068 FM pp4 6/14/02 5:13 PM Page xx

xx

Table of Contents

1.9

Summary Homework Problems and Questions Problems Discussion Questions Interview: Leonard Kleinrock

65 67 68 73 74

Chapter 2 Application Layer


2.1 Principles of Application Layer Protocols 2.1.1 Application-Layer Protocols 2.1.2 What Services Does an Application Need? 2.1.3 Services Provided by the Internet Transport Protocols 2.1.4 Network Applications Covered in this Book The Web and HTTP 2.2.1 Overview of HTTP 2.2.2 Nonpersistent and Persistent Connections 2.2.3 HTTP Message Format 2.2.4 User-Server Interaction: Authorization and Cookies 2.2.5 The Conditional GET 2.2.6 HTTP Content File Transfer: FTP 2.3.1 FTP Commands and Replies Electronic Mail in the Internet 2.4.1 SMTP 2.4.2 Comparison with HTTP 2.4.3 Mail Message Formats and MIME 2.4.4 Mail Access Protocols DNSThe Internets Directory Service 2.5.1 Services Provided by DNS 2.5.2 Overview of How DNS Works 2.5.3 DNS Records 2.5.4 DNS Messages Socket Programming with TCP 2.6.1 Socket Programming with TCP 2.6.2 An Example Client/Server Application in Java Socket Programming with UDP Building a Simple Web Server 2.8.1 Web Server Functions Content Distribution 2.9.1 Web Caching 2.9.2 Content Distribution Networks 2.9.3 Peer-to-Peer File Sharing

76
77 78 83 85 87 88 89 91 94 99 101 103 103 105 106 108 111 112 117 121 122 124 129 131 133 134 136 143 151 151 155 156 162 165

2.2

2.3 2.4

2.5

2.6

2.7 2.8 2.9

02-068 FM pp4 6/14/02 5:13 PM Page xxi

Table of Contents

xxi

2.10

Summary Homework Problems and Questions Problems Discussion Questions Programming Assignments Interview: Tim Berners-Lee

172 173 175 179 180 182

Chapter 3 Transport Layer


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.7.2 TCP Delay Modeling 3.8 Summary Homework Problems and Questions Problems Discussion Questions Interview: Sally Floyd 3.1

184
185 185 188 190 196 199 200 201 203 214 217 222 228 228 230 235 238 246 248 253 253 259 260 262 268 271 280 281 282 290 291

02-068 FM pp4 6/14/02 5:13 PM Page xxii

xxii

Table of Contents

Chapter 4 Network Layer and Routing


4.1 Introduction and Network Service Models 4.1.1 Network Service Model 4.1.2 Origins of Datagram and Virtual Circuit Service 4.2 Routing Principles 4.2.1 A Link State Routing Algorithm 4.2.2 The Distance Vector Routing Algorithm 4.2.3 Other Routing Algorithms 4.3 Hierarchical Routing 4.4 The Internet Protocol (IP) 4.4.1 IPv4 Addressing 4.4.2 Moving a Datagram from Source to Destination: Addressing, Routing, and Forwarding 4.4.3 Datagram Format 4.4.4 IP Datagram Fragmentation 4.4.5 ICMP: Internet Control Message Protocol 4.4.6 Dynamic Host Configuration Protocol 4.4.7 Network Address Translators (NATs) 4.5 Routing in the Internet 4.5.1 Intra-Autonomous System Routing in the Internet: RIP and OSPF 4.5.2 Inter-Autonomous System Routing: BGP 4.6 Whats Inside a Router? 4.6.1 Input Ports 4.6.2 Switching Fabric 4.6.3 Output Ports 4.6.4 Where Does Queuing Occur? 4.7 IPv6 4.7.1 IPv6 Packet Format 4.7.2 Transitioning from IPv4 to IPv6 4.8 Multicast Routing 4.8.1 Introduction: The Internet Multicast Abstraction and Multicast Groups 4.8.2 IGMP 4.8.3 Multicast Routing: The General Case 4.8.4 Multicast Routing in the Internet 4.9 Mobility and the Network Layer 4.9.1 Mobility Considerations in NetworkLayer Design 4.9.2 Mobility Management 4.9.3 Mobile IP 4.10 Summary Homework Problems and Questions Problems Discussion Questions Interview: Vinton G. Cerf

293
294 296 300 301 304 308 317 317 321 322 330 333 336 339 340 342 346 346 353 358 360 362 364 365 368 369 372 375 375 379 383 388 391 391 393 400 405 406 408 414 417

02-068 FM pp4 6/14/02 5:13 PM Page xxiii

Table of Contents

xxiii

Chapter 5 Link Layer and Local Area Networks


5.1 Data Link Layer: Introduction and Services 5.1.1 The Services Provided by the Link Layer 5.1.2 Adapters Communicating 5.2 ErrorDetection and Correction Techniques 5.2.1 Parity Checks 5.2.2 Checksumming Methods 5.2.3 Cyclic Redundancy Check (CRC) 5.3 Multiple Access Protocols 5.3.1 Channel Partitioning Protocols 5.3.2 Random Access Protocols 5.3.3 Taking-Turns Protocols 5.3.4 Local Area Networks (LANs) 5.4 LAN Addresses and ARP 5.4.1: LAN Addresses 5.4.2: Address Resolution Protocol 5.5 Ethernet 5.5.1 Ethernet Basics 5.5.2 CSMA/CD: Ethernets Multiple Access Protocol 5.5.3 Ethernet Technologies 5.6 Hubs, Bridges, and Switches 5.6.1 Hubs 5.6.2 Bridges 5.6.3 Switches 5.7 Wireless Links 5.7.1 Wireless LANs: IEEE 802.11b 5.7.2 Bluetooth 5.8 PPP: The Point-to-Point Protocol 5.8.1 PPP Data Framing 5.8.2 PPP Link-Control Protocol (LCP) and Network-Control Protocols 5.9 Asynchronous Transfer Mode (ATM) 5.9.1 Principal Characteristics of ATM 5.9.2 ATM Physical Layer 5.9.3 ATM Layer 5.9.4 ATM Adaptation Layer 5.9.5 IP over ATM 5.10 Frame Relay 5.10.1 The Historical Context 5.10.2 Frame Relay 5.11 Summary Homework Problems and Questions Problems Discussion Questions Interview: Robert M. Metcalfe

419
421 421 424 425 427 429 430 432 434 438 446 447 449 449 451 455 456 460 462 466 467 468 476 480 481 487 488 490 492 494 495 497 499 500 502 505 505 506 510 511 513 519 520

02-068 FM pp4 6/14/02 5:13 PM Page xxv

Table of Contents

xxv

6.10

Summary Homework Problems and Questions Problems Discussion Questions Programming Assignment Interview: Henning Schulzrinne

594 596 596 600 601 602

Chapter 7 Security in Computer Networks


7.1 7.2 What Is Network Security? Principles of Cryptography 7.2.1 Symmetric Key Cryptography 7.2.2 Public Key Encryption Authentication 7.3.1 Authentication Protocol ap1.0 7.3.2 Authentication Protocol ap2.0 7.3.3 Authentication Protocol ap3.0 7.3.4 Authentication Protocol ap3.1 7.3.5 Authentication Protocol ap4.0 7.3.6 Authentication Protocol ap5.0 Integrity 7.4.1 Generating Digital Signatures 7.4.2 Message Digests 7.4.3 Hash Function Algorithms Key Distribution and Certification 7.5.1 The Key Distribution Center 7.5.2 Public Key Certification Access Control: Firewalls 7.6.1 Packet Filtering 7.6.2 Application Gateway Attacks and Countermeasures 7.7.1 Mapping 7.7.2 Packet Sniffing 7.7.3 Spoofing 7.7.4 Denial-of-Service and Distributed Denial-of-Service Attacks 7.7.5 Hijacking Security in Many Layers: Case Studies 7.8.1 Secure E-mail 7.8.2 Secure Sockets Layer (SSL) and Transport Layer Security (TLS) 7.8.3 Network-Layer Security: IPsec 7.8.4 Security in IEEE 802.11

604
605 608 610 614 620 621 621 622 623 623 624 627 628 629 631 633 635 636 640 641 644 646 646 646 648 648 650 650 651 656 660 663

7.3

7.4

7.5

7.6

7.7

7.8

02-068 FM pp4 6/14/02 5:13 PM Page xxvi

xxvi

Table of Contents

7.9

Summary Homework Problems and Questions Problems Discussion Questions Interview: Steven M. Bellovin

665 666 667 669 670

Chapter 8 Network Management


8.1 8.2 8.3 What Is Network Management? The Infrastructure for Network Management The Internet-Standard Management Framework 8.3.1 Structure of Management Information: SMI 8.3.2 Management Information Base: MIB 8.3.3 SNMP Protocol Operations and Transport Mappings 8.3.4 Security and Administration 8.4 ASN.1 8.5 Conclusion Homework Problems and Questions Problems Discussion Questions Interview: Jeff Case References Index

672
673 677 680 681 684 686 690 693 698 698 699 700 701 703 733

02-068 FM pp4 6/14/02 5:13 PM Page xxvii

Computer Networking
A Top-Down Approach Featuring the Internet
Second Edition

02-068 FM pp4 6/14/02 5:13 PM Page xxviii

You might also like