`networking, Computer Networking provides a top(cid:173)
`down approach to this study by beginning with
`application-level protocols and then working down
`the protocol stack. An early emphasis is placed on
`application-layer paradigms and application program(cid:173)
`ming interfaces to allow readers to get their "hands
`dirty" with protocols and networking concepts in the
`context of applications they will use in the industry.
`Networking today is much more (and far more inter(cid:173)
`esting) than standards specifying message formats
`and protocol behaviors. Professors Kurose and Ross
`focus on describing emerging principles in a lively
`and engaging manner and then illustrate these princi(cid:173)
`ples with examples drawn from Internet architecture.
`
`Highlights of the Third Edition:
`> Contains a new chapter on wireless and mobile
`networking, including in-depth coverage of Wi-Fi,
`Mobile IP, and GSM.
`> Offers a total of twelve labs, including six program(cid:173)
`ming labs and six new Ethereal labs to provide
`students with hands-on networking experience.
`> Has expanded and revised sections on peer-to-peer
`networking, BGP, wireless security, DNS, and more.
`> Includes access to the Companion Web site with
`interactive applets, quizzes, and detailed, graphical
`PowerPoint presentations for every chapter.
`
`"This book is a gem-
`Kurose and Ross take a fresh top-down
`approach and get the complex network(cid:173)
`ing story right! It will be invaluable for
`students and professionals alike."
`
`LEONARD KLEINROCK
`University of California, Los Angeles
`
`+
`
`"I think Kurose/Ross communicates to
`students well, and also keeps the focus on
`the essential concepts and principles that
`truly matter in the long run."
`
`SHIVKUMAR KALYANARAMAN
`Rensselaer Polytechnic Institute
`
`+
`
`"This book is an invaluable resource for
`networking professionals who need to
`understand how the Internet actually
`works. The authors' approach to explain(cid:173)
`ing the technology underlying so many of
`today's communication services is both
`engaging and easy to understand. This is
`a must-have book."
`
`JENNIFER REXFORD
`IP Network Management
`and Performance, AT&T Labs
`
`com uter
`
`networ
`
`third edition
`
`] ames F. Kurose
`Keith W. Ross
`
`Hewlett Packard Enterprise Co. Ex. 1006, Page 1 of 196
`Hewlett Packard Enterprise Co. v. Intellectual Ventures II, LLC
`IPR2022-00211
`
`
`
`THIRD EDITION
`
`Computer Networking
`
`A Top-Down Approach Featuring the Internet
`
`James F. Kurose
`University of Massachusetts, Amherst
`
`•
`
`Keith W. Ross
`Polytechnic University, Brooklyn
`
`Boston San Francisco New York
`London Toronto Sydney Tokyo Singapore Madrid
`Mexico City Munich Paris Cape Town Hong Kong Montreal
`
`Hewlett Packard Enterprise Co. Ex. 1006, Page 2 of 196
`Hewlett Packard Enterprise Co. v. Intellectual Ventures II, LLC
`IPR2022-00211
`
`
`
`Managing &litor
`Executive Editor
`Assistant Editor
`Marketing Manager
`Production Supervisor
`Project Management
`Composition
`Art
`Art Development
`Text and Cover Design
`Prepress and Manufacturing
`Cover Photo:
`
`Patty Mahtani
`Susan Hartman Sullivan
`Elizabeth Paquin
`Michelle Brown
`Marilyn Lloyd
`Argosy Publishing, Inc.
`Argosy Publishing, Inc.
`Pat Rossi Calkin and Argosy Publishing, Inc.
`Janet Theurer
`Joyce Cosentino Wells
`Caroline Fell
`©2004 Photodisc
`
`Access the latest information about Addison-Wesley Computing titles from our World
`Wide Web site: http://www.aw-bc.com/computing
`
`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 f~r any
`particular purpose. The publisher does not offer any warranties or re~res~ntations,
`nor does it accept any liabilities with respect to the programs or apphcat1ons.
`
`Library of Congress Cataloging-in-Publication Data
`Kurose, James F
`Computer networking : a top-down approach featuring the Internet I James F. Kurose,
`Keith W. Ross.- 3rd ed.
`.
`p. cm.
`Includes bibliographical references and mdex.
`.
`~N~2t~n"~
`I. Internet. 2. Computer networks I. Ross, Keith W., 1956- II. Title.
`
`TK5105.875.157 K88 2005
`004.67'8-dc22
`
`Copyright © 2005 by Pearson Education, Inc.
`
`2004044284
`
`All rights reserved. No part of this publication may be reprod~ced, store~ in a retrieval
`system, or transmitted, in any form or by any m~ns, ~lectromc, .m~chamcal, phot~
`copying, recording, or otherwise, without the pnor wntten penmssmn of the publisher.
`Printed in the United States of America.
`
`ISBN 0-321-22735-2
`
`4 5 6 7 8 9 IO-CRW-08 07 06
`
`About the Authors
`Jim Kurose
`
`Jim Kurose 1s a professor of Compuler Science at rhe University of
`Massachusetts, Amherst.
`Dr. Kurose has received a number of recognilions for his educational
`oct"vities including Outstanding Teacher Awards from the Narionol
`Technological University leighl !"mes). lhe University of Massachusetts, and
`the Northeast Association of Graduate Schools. He received the IEEE
`Taylor Boolh Educolion Medal and was recognized for his leadersh·p of
`Massachusetts' Commonweollh Information Technology Initiative. He has
`been the recipient of a GE Fellowship, an IBM Faculty Development
`Award, and a Lilly Teaching Fellowsh·p.
`Dr. Kurose is a former Editor-in.Chief of the IEEE Transoct"ons on
`Communica ·ons and of the IEEE/ ACM Transactions on Networking. He
`hos been active in lhe program committees for IEEE lnfocom, ACM SIG
`COfVWI, and ACM SIGMETRICS for a number of years and has served
`as Technical Program Co-Choir for those conferences. He is a Fe low of
`the IEEE and the ACM. H's research "nterests ·nclude network prolocols
`and architecture, network measurement sensor networks, mu limed·a com·
`munication, and modeling and performance evaluation. He hods a Ph.D.
`·n Computer Science from Co umbia University.
`
`Keith Ross
`Keith Ross is lhe Leornard J. Shustek Professor in Computer Science al
`Polytechnic University in Brooklyn. From 1985 to 1998 he was a profes·
`sor in the Department of Syslems Engineering al lhe University of
`Pennsylvania. From 1998 to 2003 he was a professor in the Multimedia
`Communicalions Departmenl al lnslilute Eurecom in France. Keilh Ross is
`also the principal founder and original CEO of Wimba, which develops
`voice-over·IP technologies for e·leorning markets.
`Dr. Ross has published numerous research papers and has written two
`books. He hos served on edilorial boards on many major journals, includ(cid:173)
`·ng IEEE/ ACM Transactions on Networking, and on numerous program(cid:173)
`ming commillees, including ACM SIGCOfVWI and IEEE lnfocom. He has
`supervised 15 Ph .D. theses. His research and leaching interests include
`P2P syslems, multimedia networking, network protocols, and stochastic nel(cid:173)
`works. He received his Ph.D. from the University of Michigan.
`
`iii
`
`Hewlett Packard Enterprise Co. Ex. 1006, Page 3 of 196
`Hewlett Packard Enterprise Co. v. Intellectual Ventures II, LLC
`IPR2022-00211
`
`
`
`xvi
`
`Preface
`
`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!): Marilyn
`Lloyd, Susan Hartman Sullivan, Patty Mahtani and Beth Paquin. Thanks also to the
`artists, Janet Theurer and Patrice Rossi Calkin, for their work on the beautiful figures
`in the second and third editions of this book, and to Nancy Kotary and Daniel Rausch
`for their wonderful production work on this edition. Finally, a most special thanks go
`to Susan, our editor at Addison-Wesley. This book would not be what it is (and may
`well not have been at all) without her graceful management, constant encourage(cid:173)
`ment, nearly infinite patience, good humor, and perseverance.
`
`Chapter 1
`
`1.2
`
`1.3
`
`Table of Contents
`
`1
`2
`2
`5
`6
`9
`9
`11
`14
`14
`
`21
`24
`25
`31
`34
`37
`37
`40
`43
`44
`45
`50
`52
`52
`53
`56
`56
`58
`59
`60
`61
`
`xvii
`
`Computer Networks and the Internet
`1.1 What Is the Internet?
`l. l.I A Nuts-and-Bolts Description
`1.1.2 A Service Description
`1.1.3 What Is a Protocol?
`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-Switched Networks: Datagram Networks and
`Virtual-Circuit Networks
`Access Networks and Physical Media
`1.4.1 Access Networks
`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 Layers, Messages, Segments, Datagrams, and Frames
`History of Computer Networking and the Internet
`1.8.1
`The Development of Packet Switching: 1961- 1972
`1.8.2 Proprietary Networks and Internetworking: 1972- 1980
`1.8.3 A Proliferation of Networks: 1980-1990
`1.8.4 The Internet Explosion: The 1990s
`1.8.5 Recent Developments
`Summary
`Road-Mapping This Book
`Homework Problems and Questions
`
`1.4
`
`1.5
`1.6
`
`1.7
`
`1.8
`
`1.9
`
`Hewlett Packard Enterprise Co. Ex. 1006, Page 4 of 196
`Hewlett Packard Enterprise Co. v. Intellectual Ventures II, LLC
`IPR2022-00211
`
`
`
`xviii
`
`Table of Contents
`
`Table of Contents
`
`xix
`
`Problems
`Discussion Questions
`Ethereal Lab I
`Interview: Leonard Kleinrock
`
`2.2
`
`<;:hapter 2 Application Layer
`Principles of Network Applications
`2.1
`2.1.1 Network Application Architectures
`2.1.2
`Processes Communicating
`2.1.3 Application-Layer Protocols
`2.1.4 What Services Does an Application Need?
`Services Provided by the Internet Transport Protocols
`2.1.5
`2.1.6 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: Cookies
`2.2.5 HTTP Content
`2.2.6 Web Caching
`2.2.7 The Conditional GET
`File Transfer: FTP
`2.3.1
`FTP Commands and Replies
`Electronic Mail in the Internet
`2.4.l
`SMTP
`2.4.2 Comparison with HTTP
`2.4.3 Mail Message Formats and MIME
`2.4.4 Mail Access Protocols
`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
`P2P File Sharing
`Socket Programming with TCP
`Socket Programming with TCP
`2.7.1
`2.7.2 An Example Client/Server Application in Java
`Socket Programming with UDP
`Building a Simple Web Server
`2.9.1 Web Server Functions
`2.10 Summary
`Homework Problems and Questions
`
`2.3
`
`2.4
`
`2.5
`
`2.6
`2.7
`
`2.8
`2.9
`
`62
`68
`69
`71
`
`73
`74
`75
`78
`81
`82
`84
`87
`87
`88
`90
`93
`98
`100
`100
`105
`106
`108
`109
`112
`115
`115
`118
`123
`123
`126
`132
`136
`146
`147
`149
`156
`164
`164
`169
`170
`
`Problems
`Discussion Questions
`Socket Programming Assignments
`Ethereal Labs
`Interview: Tim Berners-Lee
`
`3.4
`
`3.5
`
`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. I UDP Segment Structure
`3.3.2 UDP Checksum
`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)
`Connection-Oriented Transport: TCP
`3.5.I 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
`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
`TCP Congestion Control
`3.7.1
`Fairness
`3.7.2 TCP Delay Modeling
`Summary
`Homework Problems and Questions
`Problems
`Discussion Questions
`Programming Assignments
`Ethereal Lab: Exploring TCP
`Interview: Sally Floyd
`
`3.6
`
`3.7
`
`3.8
`
`171
`177
`178
`180
`181
`
`183
`184
`184
`187
`189
`196
`199
`200
`201
`203
`214
`217
`221
`228
`228
`231
`236
`239
`246
`249
`254
`254
`260
`
`261
`264
`271
`275
`284
`285
`287
`294
`295
`295
`297
`
`Hewlett Packard Enterprise Co. Ex. 1006, Page 5 of 196
`Hewlett Packard Enterprise Co. v. Intellectual Ventures II, LLC
`IPR2022-00211
`
`
`
`)()(
`
`Table of Contents
`
`Table of Contents
`
`xxi
`
`4.2
`
`Chapter4 The Network Layer
`Introduction
`4.l
`Forwarding and Routing
`4.1.l
`4. 1.2 Network Service Models
`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 Ports
`4.3.2 Switching Fabric
`4.3.3 Output Ports
`4.3.4 Where Does Queuing Occur?
`The Internet Protocol (IP): Forwarding and Addressing in the Internet
`4.4.1 Datagram Format
`IPv4 Addressing
`4.4.2
`Internet Control Message Protocol (ICMP)
`4.4.3
`4.4.4
`1Pv6
`Routing Algorithms
`4.5.l The Link-State (LS) Routing Algorithm
`4.5.2 The Distance-Vector (DV) Routing Algorithm
`4.5.3 Hierarchical Routing
`Routing in the Internet
`Intra-AS Routing in the Internet: RIP
`4.6.l
`Intra-AS Routing in the Internet: OSPF
`4.6.2
`Inter-Autonomous System Routing: BGP
`4.6.3
`Broadcast and Multicast Routing
`4.7.l Broadcast Routing Algorithms
`4.7.2 Multicast
`Summary
`Homework Problems and Questions
`Problems
`Discussion Questions
`Programming Assignment
`Ethereal Lab
`Interview: Vinton G. Cerf
`
`4.4
`
`4.5
`
`4.6
`
`4.7
`
`4.8
`
`Chapter 5 The Link Layer and Local Area Networks
`Link Layer: Introduction and Services
`5. 1
`The Services Provided by the Link Layer
`5.1.1
`5.l.2 Adapters Communicating
`
`299
`300
`30l
`304
`307
`307
`310
`313
`314
`315
`318
`320
`320
`323
`325
`331
`342
`344
`351
`354
`358
`366
`370
`371
`374
`378
`384
`385
`391
`399
`400
`403
`412
`412
`413
`414
`
`417
`419
`419
`422
`
`5.2
`
`Error-Detection and -Correction Techniques
`5.2.l
`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-Tums Protocols
`5.3.4 Local Area Networks (LANs)
`Link-Layer Addressing
`5.4. 1 MAC Addresses
`5.4.2 Address Resolution Protocol (ARP)
`5.4.3 Dynamic Host Configuration Protocol
`Ethernet
`5.5. 1 Ethernet Frame Structure
`5.5.2 CSMA/CD: Ethernet's Multiple Access Protocol
`5.5.3 Ethernet Technologies
`Interconnections: Hubs and Switches
`5.6. 1 Hubs
`5.6.2 Link-Layer Switches
`PPP: The Point-to-Point Protocol
`5.7. l
`PPP Data Framing
`5.7.2
`PPP Link-Control Protocol (LCP) and Network-Control Protocols
`Link Virtualization: A Network as a Link Layer
`5.8.l Asynchronous Transfer Mode (ATM) Networks
`5.8.2 Multiprotocol Label Switching (MPLS)
`Summary
`Homework Problems and Questions
`Problems
`Discussion Questions
`Ethereal Lab
`Interview: Simon S. Lam
`
`5.4
`
`5.5
`
`5.6
`
`5.7
`
`5.8
`
`5.9
`
`Chapter6
`
`Wireless and Mobile Networks
`6. 1
`Introduction
`6.2 Wireless Links and Network Characteristics
`6.2.l CDMA
`6.3 Wi-Fi: 802. l I Wireless LANs
`6.3.l The 802.11 Architecture
`6.3.2 The 802.11 MAC Protocol
`6.3.3 The IEEE 802.11 Frame
`
`423
`425
`427
`428
`430
`433
`435
`442
`443
`445
`445
`447
`451
`455
`456
`460
`463
`465
`465
`467
`477
`479
`480
`482
`483
`488
`491
`493
`494
`498
`499
`500
`
`503
`504
`508
`509
`513
`514
`517
`523
`
`Hewlett Packard Enterprise Co. Ex. 1006, Page 6 of 196
`Hewlett Packard Enterprise Co. v. Intellectual Ventures II, LLC
`IPR2022-00211
`
`
`
`IC;Kti
`
`Table of Contents
`
`Table of Contents
`
`JOlili
`
`6.4
`
`6.3.4 Mobility in the Same IP Subnet
`802.15 and Bluetooth
`6.3.5
`Cellular Internet Access
`6.4.l An Overview of Cellular Architecture
`6.4.2 Cellular Standards and Technologies: A Brief Survey
`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
`Summary
`6.9
`Homework Problems and Questions
`Problems
`Discussion Questions
`Ethereal Lab
`Interview: Charlie Perkins
`
`526
`528
`529
`531
`532
`536
`538
`540
`546
`551
`552
`553
`556
`559
`559
`560
`562
`562
`563
`
`7.2
`
`565
`Chapter 7 Multimedia Networking
`566
`Multimedia Networking Applications
`7.1
`566
`Examples of Multimedia Applications
`7.1.1
`569
`7.1.2 Hurdles for Multimedia in Today's Internet
`571
`7.1.3 How Should the Internet Evolve to Support Multimedia Better?
`572
`7.1.4 Audio and Video Compression
`574
`Streaming Stored Audio and Video
`576
`7.2.1 Accessing Audio and Video Through a Web Server
`Sending Multimedia from a Streaming Server to a Helper Application 578
`7.2.2
`580
`7.2.3 Real-Time Streaming Protocol (RTSP)
`584
`7.3 Making the Best of the Best-Effort Service: An Internet Phone Example
`585
`The Limitations of a Best-Effort Service
`7.3.1
`587
`7.3.2 Removing Jitter at the Receiver for Audio
`590
`7.3.3 Recovering from Packet Loss
`594
`7.3.4 Streaming Stored Audio and Video
`594
`Protocols for Real-Time Interactive Applications
`594
`RTP
`7.4.1
`599
`7.4.2 RTP Control Protocol (RTCP)
`602
`SIP
`7.4.3
`608
`7.4.4 H.323
`
`7.4
`
`7.5
`7.6
`
`7.7
`
`Distributing Multimedia: Content Distribution Networks
`Beyond Best Effort
`7.6.l
`Scenario l: A l Mbps Audio Application and an Ff P Transfer
`7.6.2 Scenario 2: A I Mbps Audio Application and a High2 Priority
`FfP Transfer
`Scenario 3: A Misbehaving Audio Application and an FfP Transfer
`7.6.3
`7.6.4 Scenario 4: Two 1 Mbps Audio Applications over an
`Overloaded 1.5 Mbps Link
`Scheduling and Policing Mechanisms
`7.7.1
`Scheduling Mechanisms
`7.7.2 Policing: The Leaky Bucket
`Integrated Services and Differentiated Services
`7.8.1
`Intserv
`7.8.2 Diffserv
`RSVP
`7.9.l The Essence of RSVP
`7.9.2 A Few Simple Examples
`7.10 Summary
`Homework Problems and Questions
`Problems
`Discussion Questions
`Programming Assignment
`Interview: Henning Schulzrinne
`
`7.8
`
`7.9
`
`8.3
`
`Chapters Security in Computer Networks
`8.1 What Is Network Security?
`Principles of Cryptography
`8.2
`8.2.1
`Symmetric Key Cryptography
`Public Key Encryption
`8.2.2
`Authentication
`8.3. l Authentication Protocol apl.O
`8.3.2 Authentication Protocol ap2.0
`8.3.3 Authentication Protocol ap3.0
`8.3.4 Authentication Protocol ap3. l
`8.3.5 Authentication Protocol ap4.0
`8.3.6 Authentication Protocol ap5.0
`Integrity
`8.4.1 Generating Digital Signatures
`8.4.2 Message Digests
`8.4.3 Hash Function Algorithms
`
`8.4
`
`610
`614
`615
`
`616
`617
`
`619
`620
`621
`625
`628
`628
`631
`636
`637
`639
`643
`644
`645
`649
`649
`651
`
`653
`654
`657
`660
`664
`670
`670
`671
`672
`672
`673
`674
`678
`678
`679
`681
`
`Hewlett Packard Enterprise Co. Ex. 1006, Page 7 of 196
`Hewlett Packard Enterprise Co. v. Intellectual Ventures II, LLC
`IPR2022-00211
`
`
`
`xxiv
`
`Table of Contents
`
`8.5
`
`8.6
`
`8.7
`
`Key Distribution and Certification
`8.5. l The Key Distribution Center
`8.5.2
`Public Key Certification
`Access Control: Firewalls
`8.6. l
`Packet Filtering
`8.6.2 Application Gateway
`Attacks and Countermeasures
`8.7.I Mapping
`8.7.2
`Packet Sniffing
`8.7.3
`Spoofing
`8.7.4 Denial-of-Service and Distributed Denial-of-Service Attacks
`8.7.5 Hijacking
`Security in Many Layers: Case Studies
`8.8.1
`Secure E-mail
`8.8.2 Secure Sockets Layer (SSL) and Transport Layer Security (TLS)
`8.8.3 Network-Layer Security: IPsec
`8.8.4 Security in IEEE 802.11
`Summary
`Homework Problems and Questions
`Problems
`Discussion Questions
`Interview: Steven M. Bellovin
`
`8.8
`
`8.9
`
`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 lnfonnation: SMI
`9.3.2 Management Infonnation Base: MIB
`9.3.3 SNMP Protocol Operations and Transport Mappings
`9.3.4 Security and Administration
`ASN.l
`Conclusion
`Homework Problems and Questions
`Problems
`Discussion Questions
`Interview: Jeff Case
`
`9.4
`9.5
`
`References
`Index
`
`Computer Networking
`A Top-Down Approach Featuring the Internet
`Third Edition
`
`684
`686
`687
`691
`692
`695
`697
`697
`698
`699
`700
`701
`702
`703
`708
`712
`716
`721
`722
`723
`725
`726
`
`729
`730
`734
`738
`740
`743
`745
`749
`753
`757
`758
`759
`760
`761
`
`763
`797
`
`Hewlett Packard Enterprise Co. Ex. 1006, Page 8 of 196
`Hewlett Packard Enterprise Co. v. Intellectual Ventures II, LLC
`IPR2022-00211
`
`
`
`Computer
`Networks and
`the Internet
`
`From Web browsers in cellular telephones to cafes with public wireless Internet
`access, from home networks with high-speed broadband access to traditional work(cid:173)
`place IT infrastructure with a networked PC on every desk, to networked cars, to
`just as it seems
`networked environmental sensors, to the interplanetary Internet-
`that computer networks are essentially ubiquitous, exciting new applications are
`developed that extend the reach of today's networks even further. It seems that com(cid:173)
`puter networks are everywhere! This book will provide you with a modern introduc(cid:173)
`tion to the dynamic field of computer networking, giving you the principles and
`practical insights you'll need to understand not only today's networks, but tomor(cid:173)
`row's as well.
`This first chapter presents an overview of computer networking and the Inter(cid:173)
`net. Our goal here is to paint a broad picture, to see the forest through the trees.
`We' II cover a lot of ground in this introductory chapter and discuss a lot of pieces of
`a computer network, without losing sight of the big picture. The chapter lays the
`groundwork for the rest of the book.
`We'll structure our overview of computer networks in this chapter as follows.
`After introducing some basic terminology and concepts, we'll first examine the
`basic hardware and software components that make up a network. We'll begin at the
`network's edge and look at the end systems and network applications running in the
`network. We' ll consider the transport services provided to these applications. We'll
`
`Hewlett Packard Enterprise Co. Ex. 1006, Page 9 of 196
`Hewlett Packard Enterprise Co. v. Intellectual Ventures II, LLC
`IPR2022-00211
`
`
`
`2
`
`CHAPTER l
`
`• COMPUTER NETWORKS AND THE INTERNET
`
`1.1
`
`WHAT IS THE INTERNET?
`
`3
`
`then explore the core of a computer network, examining the links and the switches
`that transport data, as well as the access networks and physical media that connect
`end systems to the network core. We' II learn that the Internet is a network of net(cid:173)
`works, and we' ll learn how these networks connect with each other.
`After having completed this overview of the edge and core of a computer net(cid:173)
`work, we' ll take the broader and more abstract view in the second half of this chap(cid:173)
`ter. We'll examine the causes of data-transfer delay and loss in a computer network,
`and provide simple quantitative models for end-to-end delay, models that take into
`account transmission, propagation, and queuing delays. We'll then introduce some
`of the key architectural principles in computer networking, namely protocol layer(cid:173)
`ing and service models. Finally, we'll close this chapter with a brief history of com(cid:173)
`puter networking.
`
`I. I What Is the Internet?
`
`In this book we use the public Internet, a specific computer network, as our princi(cid:173)
`pal vehicle for discussing computer networks and their protocols. But what is the
`Internet? We would like to be able to give you a one-sentence definition of the Inter(cid:173)
`net, a definition that you can take home and share with your family and friends.
`Alas, the Internet is very complex and ever changing, both in terms of its hardware
`and software components, as well as in the services it provides.
`
`1.1.1 A Nuts-and-Bolts Description
`Instead of giving a one-sentence definition, let's try a more descriptive approach.
`There are a couple of ways to do this. One way is to describe the nuts and bolts of
`the Internet, that is, the basic hardware and software components that make up the
`Internet. Another way is to describe the Internet in terms of a networking infrastruc(cid:173)
`ture that provides services to distributed applications. Let's begin with the nuts-and(cid:173)
`bolts description, using Figure I. I to illustrate our discussion.
`The public Internet is a worldwide computer network, that is, a network that inter(cid:173)
`connects millions of computing devices throughout the world. Not too long ago, these
`computing devices were primarily traditional desktop PCs, UNIX-based workstations,
`and so-called servers that store and transmit information such as Web pages and e-mail
`messages. Increasingly, however, nontraditional Internet end systems such as personal
`digital assistants (PDAs), TVs, mobile computers, cell phones, automobiles, environ(cid:173)
`mental sensing devices, picture frames, home electrical and security systems, Web
`cams, and even toasters are being connected to the Internet [BBC 2001]. Indeed, the
`term computer network is beginning to sound a bit dated, given the many nontraditional
`devices being hooked up to the Internet. In Internet jargon, all of these devices are
`
`Regional ISP
`
`Company Network
`
`Key:
`
`Host
`(or end system)
`
`Server
`
`Mobile
`
`~
`Packet
`Modem
`switch
`
`Base
`station
`
`5.ltf' ite
`nk
`
`Figure 1.1
`
`• Some pieces of the Internet
`
`called hosts or end systems. As of January 2003 there were more than 233 million end
`systems using the Internet, and this number continues to grow rapidly [ISC 2004 ).
`End systems are connected together by communication links. We' ll see in Sec(cid:173)
`tion l.4 that there are many types of communication links, which are made up of dif(cid:173)
`ferent types of physical media, including coaxial cable, copper wire, fiber optics,
`
`Hewlett Packard Enterprise Co. Ex. 1006, Page 10 of 196
`Hewlett Packard Enterprise Co. v. Intellectual Ventures II, LLC
`IPR2022-00211
`
`
`
`4
`
`CHAPTER l
`
`• COMPUTER NETWORKS AND THE INTERNET
`
`1. 1
`
`• WHAT IS THE INTERNET?
`
`$
`
`and radio spectrum. Different links can transmit data at different rates, with the
`transmission rate of a link measured in bits/second.
`End systems are not usually directly attached to each other via a single commu(cid:173)
`nication link. Instead, they are indirectly connected to each other through intermedi·
`ate switching devices known as packet switches. A packet switch takes a chunk of
`information arriving on one of its incoming communication links and forwards that
`chunk of information on one of its outgoing communication links. In the jargon of
`computer networking, the chunk of information is called a packet. Packet switches
`come in many shapes and flavors, but the two most prominent types in today's Inter(cid:173)
`net are routers and link-layer switches. Both types of switches forward packets
`toward their ultimate destinations. We'll examine routers in detail in Chapter 4 and
`link-layer switches in detail in Chapter 5.
`From the sending end system to the receiving end system, the sequence of com(cid:173)
`munication links and packet switches traversed by a packet is known as a route or
`path through the network. Rather than provide a dedicated path between communi(cid:173)
`cating end systems, the Internet uses a technique known as packet switching that
`allows multiple communicating end systems to share a path, or parts of a path, at the
`same time. The first packet-switched networks, created in the 1970s, are the earliest
`ancestors of today's Internet. The exact amount of traffic being carried in today 's
`Internet is the subject of some debate [Odylsko 2003], but conservative estimates
`put the monthly traffic rate on long-distance US-based networks at roughly 100,000
`terabytes per month, with the amount of traffic approximately doubling every year.
`End systems access the Internet through Internet Service Providers (ISPs),
`including residential ISPs such as AOL or your local telephone or cable company;
`corporate ISPs; university ISPs; and ISPs such as T-Mobile that provide wireless
`access in airports, hotels, coffee shops, and other public places. Each ISP is a net(cid:173)
`work of packet switches and communication links. ISPs provide a variety of types
`of network access to the end systems, including 56 kbps dial-up modem access, res(cid:173)
`idential broadband access such as cable modem or DSL, high-speed LAN access,
`and wireless access. ISPs also provide Internet access to content providers, connect(cid:173)
`ing Web sites directly to the Internet. To allow communication among Internet users
`and to allow users to access worldwide Internet content, these lower-tier ISPs are
`interconnected through national and international upper-tier ISPs, -.uch as AT&T
`and Sprint. An upper-tier ISP consists of high-speed routers interconnected with
`high-speed fiber-optic links. Each ISP network, whether upper-tier or lower-tier, is
`managed independently, runs the IP protocol (see below), and conforms to certain
`naming and address conventions. We' ll examine ISPs and their interconnection
`more closely in Section 1.5.
`End systems, packet switches, and other pieces of the Internet, run protocols
`that control the sending and receiving of infonnation within the Internet. The Trans(cid:173)
`mission Control Protocol (TCP) and the Internet Protocol (IP) are two of the
`most important protocols in the Internet. The IP protocol specifies the format of the
`packets that are sent and received among routers and end systems. The Internet's
`
`principal protocols are collectively known as TCP/IP. We' ll begin looking into pro(cid:173)
`tocols in this introductory chapter. But that's just a start-much of this book is con(cid:173)
`cerned with computer network protocols!
`Given the importance of protocols to the Internet, it's important that everyone
`agree on what each and every protocol does. This is where standards come into play.
`Internet standards are developed by the Internet Engineering Task Force
`(IETF)[IETF 2004]. The IETF standards documents are called requests for com(cid:173)
`ments (RFCs). RFCs started out as general requests for comments (hence the name)
`to resolve architecture problems that faced the precursor to the Internet. RFCs tend
`to be quite technical and detailed. They define protocols such as TCP, JP, HTTP (for
`the Web), and Simple Mail Transfer Protocol (SMTP) (for open-standards e-mail).
`The IETF has also standardized what protocols must be run by an Internet host
`[RFC I I 22; RFC 1123] and an Internet router [RFC 1812]. There are more than
`3,500 RFCs. Other bodies also specify standards for network components, most
`notably for network links. The IEEE 802 LAN/MAN Standards Committee [IEEE
`802 2004], for example, specifies the Ethernet and wireless Wi-Fi standards.
`The public Internet (that is, the global network of networks discussed above) is
`the network that one typically refers to as the Internet. There are also many private
`networks, such as many corporate and government networks, whose hosts cannot
`exchange messages with hosts outside of the private network (unless the messages
`pass through so-called firewalls, which restrict the flow of messages to and from the
`network). These private networks are often referred to as intranets, as they use the
`same types of hosts, routers, links, and protocols as the public Internet.
`
`1.1.2 A Service Description
`
`The preceding discussion has identified many of the pieces that make up the Inter(cid:173)
`net. Let's now leave the nuts-and-bolts description and take a service-oriented view.
`
`+ The Internet allows distributed applications running o n its end systems to
`exchange data with each other. These applications include Web surfing, instant
`messaging, audio and video streaming, Internet telephony, distributed games,
`peer-to-peer (P2P) file sharing, remote login, electronic mail, and much, much
`more. It is worth emphasizing that the Web is not a separate network but rather
`just one of many distributed applications that use the communication services
`provided by the Internet.
`+ The Internet provides two services to its distributed applications: a connection·
`oriented reliable service and a connectionless unreliable service. Loosely
`speaking, the connection-oriented reliable service guara



