throbber
wuAA
`Computer Networking
`A (yp-Down Approach featuring the Internet
`
`
`
`James F. Kurose + Keith W. Ross
`
`Epic Games Ex. 1016
`Epic Games Ex. 1016
`Page 1
`Page1
`
`

`

`Susan Hartman
`Senior Acquisitions Editor
`Lisa Kalner
`Assistant Editor
`Patty Mahtani
`Production Supervisor
`Helen Reebenacker
`Art Editor
`Executive Marketing Manager Michael Hirsch
`Composition
`Pre-Press Company, Inc.
`Technical Art
`PD & PS
`Copyeditor
`Roberta Lewis
`Proofreader
`Holly McLean Aldis
`Cover Design
`Joyce Cosentino
`Interior Design
`Delgado Design
`Design Manager
`Regina Hagen
`Cover Image
`© 1999 PhotoDisce,Inc.
`
`Access the latest information about Addison-Wesley titles from our World Wide Website:
`http://www.awl.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, not does jt accept any liabilities with
`respect to the programsor applications.
`
`Library of Congress Cataloging-in-Publication Data
`Ross, Keith W., 1956-
`Computer networking: a top-down approachfeaturing the Internet / Keith W. Ross,
`James F. Kurose.
`
`p. em.
`Includes bibliographic references and index
`ISBN 0-201-4771 1-4
`L. Internet (Computer network) I. Kurose, James F.
`TK5105.875.157 R689 2001
`004.6—de21
`
`Copyright © 2001 by Addison Wesley Longman,Inc,
`
`00-025295
`
`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.
`
`23456789 10-MA-0201
`
`Epic Games Ex. 1016
`Epic Games Ex. 1016
`Page 2
`Page 2
`
`

`

`
`
`Chapter
`
`Computer
`Networks and
`the Internet
`
`
`
`1.1 + What Is the Internet?
`
`
`In this book we use the public Internet, a specific computer network (and one which
`probably most readers have used), as our principle vehicle for discussing computer
`networking protocols, But what is the Internet? We wouldlike to be able to give you
`a one-sentence definition of the Internet, a definition that you can take home and
`share with your family and friends. Alas, the Internet is very complex, 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 upthe
`Internet, Another way is to describe the Internet in terms of a networking infrastruc-
`ture that provides services to distributed applications. Let’s begin with the nuts-and-
`bolts description, using Figure 1.1 to illustrate our discussion,
`The public Internet is a world-wide computer network, that is, a network that
`interconnects millions of computing devices throughout the world. Most ofthese
`computing devices are traditional desktop PCs, Unix-based workstations. and so
`
`Epic Games Ex. 1016
`Epic Games Ex. 1016
`Page 3
`Page 3
`
`

`

`2
`
`CHAPTER 1
`
`m Computer Networks and the Internet
`
`l
`
`
`i)
`7
`7
`hes
`eS
`~~
`os)
`“a 4 @
`Mo]
`>
`3
`Hast
`Mobile
`Server Router
`|
`| {or end system}
`
` Company network
`
`|
`
`
`
`Figure 1.1 + Somepieces of the Internet
`
`called servers that store and transmit information such as Web (WWW)pagesand
`e-mail messages. Increasingly, nontraditional computing devices such as Web TVs,
`mobile computers, pagers, and toasters are being connected to the Internet. (Toast-
`ers are not the only rather unusual devices to have been hooked up to the Internet:
`see the The Future of the Living Room [Greenberg 1997].) In the Internet jargon,all
`of these devices are called hosts or end systems. The Internet applications with
`
`Epic Games Ex. 1016
`Epic Games Ex. 1016
`Page 4
`Page 4
`
`

`

`1.1
`
`@ What Is the Internet?
`
`3
`
`which many of us are familiar, such as the Web and e-mail, are network applica-
`tion programsthat run on such end systems. We will look into Internet end systems
`in more detail in Section |.3 and then delve deeply into the study of network appli-
`cations in Chapter 2.
`Eind systems, as well as most other “pieces” ofthe Internet. run protocols that
`control
`the sending and receiving of information within the Internet. TCP (the
`Transmission Control Protocol) and [IP (the Internet Protocol) are two of the most
`important protocols in the Internet, The Internet's principal protocols are collec-
`tively known as TCP/IP. We begin looking into protocols in Section 1.2. But that’s
`just a start—muchofthis book is concerned with computer network protocols!
`End systems are connected together by communication links. We'll see in
`Section 1.5 that there are many types of communication links. Links are made up
`of different types of physical media, including coaxial cable, copper wire, fiber
`optics, and radio spectrum. Different links can transmit data at different rates. The
`link transmission rate is often called the link bandwidth andis typically measured
`in bits/second.
`Usually, end systems are not directly attached to each other via a single com-
`munication link. Instead, they are indirectly connected to each other throughinter-
`mediate switching devices knownas routers, A router takes information arriving on
`one ofits incoming communication links and then forwards that information on one
`of its outgoing communication links. The [P protocol specifies the format of the
`informationthat is sent and received among routers and end systems. The path that
`transmitted information takes from the sending end system, through a series of com-
`munications links and routers, to the receiving end system is known as a route or
`path through the network, We introduce routing in more detail in Section 1.4 and
`study the algorithms used to determine routes, as well as the internal structure of a
`routeritself, in Chapter 4,
`Rather than provide a dedicated path between communicating end systems, the
`Internet uses a technique knownas packet switching that allows multiple commu-
`nicating end systems to share a path, or parts of a path, at the same time. Theearli-
`est ancestors of the Internet were the first packet-switched networks.
`The Internet is really a network of networks. Thatis, the Internet is an intercon-
`nected set of privately and publicly owned and managed networks. Any network
`connected to the Internet must run the [P protocol and conform to certain naming
`and addressing conventions. Other than these few constraints, however, a network
`operator can configure and run its network (thatis, its little piece of the Internet)
`howeverit chooses. Because of the universal use of the IP protocol inthe Internet,
`the IP protocol is sometimes referred to as the Internet dial tone.
`The topology of the Internet, thatis, the structure of the interconnection among
`the various pieces ofthe Internet, is loosely hierarchical. Roughly speaking, from
`bottom-to-top, the hierarchy consists of end systems connected to local Internet
`service providers (ISPs) though access networks, An access network may be a
`so-called local area network within a companyor university, a dial telephone line
`
`Epic Games Ex. 1016
`Epic Games Ex. 1016
`Page 5
`Page 5
`
`

`

`4
`
`CHAPTER 1
`
`=u Computer Networks and the Internet
`
`with a modem, or a high-speed cable-based or phone-based access network. Local
`ISPs are in turn connected to regional [SPs, which are in turn connected to national
`and international [SPs. The national andinternational ISPs are connected together at
`the highest tier in the hierarchy. New tiers and branches(that is, new networks, and
`new networks of networks) can be added just as a new piece of Lego can be attached
`to an existing Lego construction. In the first half of 1996, approximately 40,000 new
`networks were added to the Internet [Network 1996]—an astounding growthrate.
`At the technical and developmentallevel, the Internet is madepossible through
`creation, testing, and implementation of Internet standards. These standards are
`developed by the Internet Engineering Task Force (IETF), The IETF standards doc-
`uments are called RFCs (request for comments). RFCs started out as general re-
`quest for comments(hence the name) to resolvearchitecture problemsthat faced the
`precursorto the Internet, RFCs, though not formally standards, have evolvedto the
`point where they are cited as such. RFCs tend to be quite technical and detailed.
`They define protocols such as TCP, IP, HTTP (for the Web), and SMTP(for open-
`standards e-mail). There are more than 2,000 different RFCs.
`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 manyprivate
`networks, suchas certain corporate and government networks, whose hosts are not
`accessible from (that is, they cannot exchange messages with) hosts outside of that
`private network. These private networks are often referred to as intranets,as they
`often use the same Internet technology (for example, the same types ofhost, routers,
`links, protocols, and standards) as the public Internet.
`
`1.1.2 A Service Description
`The preceding discussionhas identified many of the pieces that make up the Inter-
`net. Let’s now leave the nuts-and-bolts description and take a more abstract, service-
`oriented view:
`
`+ The Internet allows distributed applications running onits end systems to ex-
`change data with each other. These applications include remote login,file trans-
`fer, electronic mail, audio and video streaming, real-time audio and video
`conferencing, distributed games, the World Wide Web, and much, much more
`[AT&T Apps 1998]. [t is worth emphasizing that the Web is not a separate net-
`work but ratherjust one of many distributed applications that use the communi-
`cation services provided by the Internet. The Web couldalso run over a network
`besides the Internet. One reason thatthe Internet is the communication medium
`of choice for the Web, however, is that no other existing packet-switched network
`connects more than 43 million [Network 1999] computers together and has over
`100 million users [Almanac 1998]. (By the way, determining the numberof com-
`puters hooked up to the Internetis a very difficult task, as no one is responsible
`for maintaining a list of who’s connected. When a new network is added to the
`Internet, its administrators do not need to report which end systems are con-
`Epic Games Ex. 1016
`Epic Games Ex. 1016
`Page 6
`Page 6
`
`

`

`1.1
`
`@ What Is the Internet?
`
`5
`
`nected to that network. Similarly, an exiting network does not report its changes
`in connected end systems to any central authority.)
`* The Internet provides twoservices toits distributed applications: a connection-
`oriented service and a connectionless service. Loosely speaking, connection-
`oriented service guarantees that data transmitted from a senderto a receiver will
`eventually be delivered to the receiver in orderand in its entirety. Connectionless
`service does not make any guarantees about eventual delivery. Typically, a dis-
`tributed application makes use of one orthe otherof these two services and not
`both. We examine these two different services in Section 1.3 and in great detail
`in Chapter 3.
`+ Currently, the Internet does not provide a service that makes promises about
`howlong it will take to deliver the data from senderto receiver. And except for
`increasing your access bit rate to yourInternet service provider, you currently
`cannot obtain better service (for example, shorter delays) by paying more—
`a state ofaffairs that some (particularly Americans!) find odd. We'll take a look
`at state-of-the art Internet research that is aimed at changing this situation in
`Chapter 6.
`
`Oursecond description of the Internet—in termsofthe services it provides to
`distributed applications—is a nontraditional, but important, one. Increasingly, ad-
`vances in the nuts-and-bolts components ofthe Internet are being driven by the needs
`of new applications. So it’s important to keep in mind that the Internet is an infra-
`structure in which new applications are being constantly invented and deployed.
`We have given two descriptions of the Internet, one in terms ofits hardware and
`software components, the other in terms of the services it provides to distributed ap-
`plications. But perhaps youare still confused as to what the Internet is. What is
`packet switching, TCP/IP, and connection-oriented service? What are routers? What
`kinds of communication links are present in the Internet? What is a distributed ap-
`plication? What does the Internet have to do with children’s toys? [f you feel a bit
`overwhelmed byall of this now, don’t worry—the purposeofthis bookis to intro-
`duce youto both the nuts and bolts of the Internet, as well as the principles that gov-
`ern how and whyit works. We will explain these important terms and questions in
`the subsequent sections and chapters.
`
`1.1.3 Some Good Hyperlinks
`
`As every Internet researcher knows, some of the best and most accurate information
`about the Internet and its protocols is not in hard-copy books, journals, or magazines.
`The best stuff about the Internetis in the Internet itself! Of course, there’s really too
`much material to sift through, and sometimes the gems are few and far between.
`Below, we list a few generally excellent Web sites for network- and Internet-related
`material. Throughout the book, we will also present links to relevant, high quality
`URLsthat provide background,original, or advanced material related to the particular
`Epic Games Ex. 1016
`Epic Games Ex. 1016
`Page 7
`Page 7
`
`

`

`6
`
`CHAPTER |
`
`@ Computer Networks and the Internet
`
`lopic understudy. Here is a set ofkey links that you may want to consult while you
`proceed through this book:
`
`+ Internet Engineering Task Force (IETF), http://www.ietforg: The IETF is an
`openinternational community concerned with the development and operation of
`the Internet and its architecture. The [ETF was formally established by the Inter-
`net Architecture Board (LAB), http://www.isi.edu/iab, in 1986. The IETF meets
`three times a year; muchof its ongoing work is conducted via mailing lists by
`working groups. Typically, based upon previous IETF proceedings, working
`groups will convene at meetings to discuss the work of the IETF working groups.
`The IETFis administered by the Internet Society, http://www.isoc.org, whose
`Website contains lots of high-quality, Internet-related material.
`+ The World Wide Web Consortium (W3C), http://www.w3.org/Consortium:
`The W3C was founded in 1994 to develop commonprotocols for the evolution
`of the World Wide Web,This is an outstanding site with fascinating information
`on emerging Webtechnologies, protocols, and standards.
`+ The Association for Computing Machinery (ACM), http://www.acm.org, and the
`Institute of Electrical and Electronics Engineers (IEEE), http://www.icee.org:
`These are the two main international professional societies that have technical
`conferences, magazines, and journals in the networking area. The ACM Special
`Interest Group in Data Communications (SIGCOMM). http://www.acm.org/
`sigcomm, the IEEE CommunicationsSociety, http://www.comsoc.org, and the
`IEEE ComputerSociety, http://www.computer.org, are the groups within these
`bodies whose efforts are most closely related to networking.
`+ Data communications tutorials fromthe online magazine Data Communications,
`hitp://www.data.com:
`Oneof the better magazines for data communications
`technology, The site includes many excellent tutorials.
`+ Media History Project, http://www.mediahistory.com: You may be wondering
`how the Internet got started. Or you may wonderhowelectrical communications
`got started in the first place. And you may even wonder about what preceded
`electrical communications! Fortunately, the Web contains an abundance of ex-
`cellent resources available on these subjects. This site promotes the study of me-
`dia history from petroglyphsto pixels. It covers the history ofdigital media, mass
`media, electrical media, print media, and even oral and scribal culture.
`
`1.2 + What Is a Protocol?
`
`Nowthat we've gota bit ofa feel for what the Internetis, let’s consider another im-
`portant buzzword in computer networking: “protocol.” What is a protocol? What
`does a protocol do? How would yourecognize a protocol if you met one?
`Epic Games Ex. 1016
`Epic Games Ex. 1016
`Page 8
`Page 8
`
`

`

`1.2
`
`m@ What Is a Protocol?
`
`7
`
`1.2.1 A Human Analogy
`It is probably easiest to understand the notion of a computer network protocol by
`first considering some human analogies, since we humans execute protocols all of
`the time. Consider what you do when you want to ask someoneforthe time ofday.
`A typical exchange is shownin Figure 1.2. Human protocol (or good manners,at
`least) dictates that onefirst offers a greeting (the first “Hi” in Figure 1.2) to initiate
`communication with someoneelse. The typical response to a “Hi” message(atleast
`outside of New York City) is a returned “Hi” message. Implicitly, one then takes a
`cordial “Hi” responseas an indication that one can proceed ahead and ask forthe
`time of day. A different response to the initial “Hi” (such as “Don’t bother me!” or
`“I don’t speak English,” or an unprintable reply that one might receive in New York
`City) might indicate an unwillingness or inability to communicate. In this case, the
`human protocol would be to not ask for the time of day. Sometimes one gets no re-
`sponseat all to a question, in which case one typically gives up asking that person
`for the time. Note that in our human protocol, there are specific messages we send,
`and specific actions we take in response to the received reply messages or other
`events (sitch as no reply within some given amountoftime). Clearly transmitted and
`received messages, and actions taken when these messagesare sent or received or
`other events occur, play a central role in a human protocol. If people run different
`protocols (for example, if one person has manners but the other does not, or if one
`
`
`
` Hi
`
`Oe
`bj
`
`TCP connection request
`iim
`| |
`
`TCP connection reply
`
`Gotthe time?
`
`GET http: //gaia.cs.umass.edu/index.htm
`oa.
`
`2:00
`
`time al
`|
`<file>
`
`Figure 1.2 + A human protocol and a computer network protocol
`
`Epic Games Ex. 1016
`Epic Games Ex. 1016
`Page 9
`Page 9
`
`

`

`8
`
`CHAPTER 1
`
`= Computer Networks and the Internet
`
`understands the conceptof time and the other does not) the protocols do not interop-
`erate and no useful work can be accomplished. The sameis true in networking—it
`takes two (or more) communicating entities running the same protocol in orderto
`accomplisha task.
`Let’s consider a second human analogy. Suppose you're in a collegeclass
`(a computer networking class, for example!). The teacher is droning on about proto-
`cols and you're confused, The teacher stops to ask, “Are there any questions?” (a
`message thatis transmitted to, and received by, all students whoare not sleeping).
`Youraise your hand(transmitting an implicit message to the teacher). Your teacher
`acknowledges you with a smile, saying “Yes. .
`.” (a transmitted message encourag-
`ing youto ask your question—teachers /ove to be asked questions) and you then ask
`your question (that is, transmit your message to your teacher). Your teacher hears
`your question(receives your question message) and answers(transmits a reply to
`you). Once again, we see that the transmission and receipt of messages, and a set of
`conventional actions taken when these messages are sent and received, are al the
`heart ofthis question-and-answerprotocol.
`
`1.2.2 Network Protocols
`
`A networkprotocolis similar to a humanprotocol, exceptthat the entities exchang-
`ing messages and taking actions are hardware or software components of a com-
`puter network, components that we will study shortly in the following sections.
`All activity in the Internet that involves two or more communicating remote entities
`is governed by a protocol. Protocols in routers determine a packet’s path from
`source to destination; hardware-implemented protocols in the network interface
`cards oftwo physically connected computers control the flow of bits on the “wire”
`between the two computers; a congestion-control protocol controls the rate at which
`packets are transmitted between senderand receiver, Protocols are running every-
`where in the Internet, and consequently much ofthis book is about computer net-
`work protocols.
`As an example of a computer network protocol with which youare probably
`familiar, consider what happens when you make a request to a Webserver, thatis,
`whenyou type in the URL of a Web page into your Web browser. The scenariois
`illustrated in the right half of Figure 1.2. First, your computerwill send a “connec-
`tion request” message to the Web serverand wait for a reply. The Webserverwill
`eventually receive your connection request message and return a “connection reply”
`message. Knowingthatit is now OK to request the Web document, your computer
`then sends the name of the Web page it wants to fetch from that Web serverin a
`“get” message. Finally, the Web server returns the contents of the Web documentto
`your computer,
`Given the human and networking examples above, the exchange of messages
`and the actions taken when these messagesare sent and received are the key defin-
`ing elements of a protocol:
`
`Epic Games Ex. 1016
`Epic Games Ex. 1016
`Page 10
`Page 10
`
`

`

`1.3 m The Network Edge
`
`9
`
`A protocoldefines the format and the order of messages exchanged between
`fwo or more communicating entities, as well as the actions taken on the trans-
`mission and/or receipt ofa message or other event.
`
`The Internet, and computer networks in general, make extensive use of pro-
`tocols, Different protocols are used to accomplish different communicationtasks.
`As youread through this book, you will learn that some protocols are simple and
`straightforward, while others are complex and intellectually deep. Mastering the
`field of computer networking is equivalent to understanding the what, why, and how
`of networking protocols.
`
`1.3 4 The Network Edge
`
`In the previous sections we presented a high-level description ofthe Internet and
`networking protocols, We are now goingto delve a bit more deeply into the compo-
`nents of the Internet. We beginin this sectionat the edge of network andlook at the
`components with which we are most familiar—the computers (for example, PCs and
`workstations) that we use onadaily basis. In the next section we will move fromthe
`network edge to the network core and examine switching and routing in computer
`networks, Then in Section 1.5 we will discuss the actual physical links that carry the
`signals sent between the computers and the switches.
`
`1.3.1 End Systems, Clients, and Servers
`
`In computer networking jargon, the computers that we use on a daily basis are often
`referred to as hosts or end systems. They are referred to as hosts because they host
`(run) application-level programs such as a Web browserorserver program, or an
`e-mail program, They are also referred to as end systems because theysit at the edge
`of the Internet, as shownin Figure 1.3. Throughout this book we will use the terms
`hosts and end systems interchangeably: that is, ost = end system.
`Hosts are sometimes further divided into two categories: clients and servers. In-
`formally, clients often tend to be desktop PCs or workstations, whereas servers are
`more powerful machines, But there is a more precise meaning of a client and a server
`in computernetworking.In the so-called client/server model, a client program run-
`ning on one end system requests and receives information froma server running on
`another end system. Studied in detail in Chapter2, this client/server model is un-
`doubtedly the most prevalentstructure for Internet applications. The Web, e-mail. file
`transfer, remote login (for example, Telnet), newgroups, and many other popular ap-
`plications adopt the client/server model. Since a client typically runs on one com-
`puter andthe server runs on another computer, client/server Internet applicationsare,
`
`Epic Games Ex. 1016
`Epic Games Ex. 1016
`Page 11
`Page 11
`
`

`

`10
`
`CHAPTER |
`
`& Computer Networks and the Internet
`
`Local ISP erd
`
`Regional ISP
`
`
`
`
`
`Base station
`
`@
`
`\
`
`
`
`Figure 1.3 + End-system interaction
`
`by definition, distributed applications. The client and the serverinteract with each
`other by communicating(that is, sending each other messages) overthe Internet. At
`this level of abstraction, the routers, links and other “pieces” of the Internet serve as a
`“black box”that transfers messages betweenthe distributed, communicating compo-
`nents ofan Internet application. This is the level of abstraction depicted in Figure 1.3.
`Computers (for example, a PC or a workstation), operating as clients and
`servers, are the most prevalent type of end system. However, an increasing number
`of alternative devices, such as so-called network computers and thin clients |Thin-
`planet 2000], Web TVs andset top boxes [Mills 1998], digital cameras, and other
`
`Epic Games Ex. 1016
`Epic Games Ex. 1016
`Page 12
`Page 12
`
`

`

`1.3 © The Network Edge
`
`11
`
`devices are being attached to the Internet as end systems. For an interesting discus-
`sion of the continuing evolution of Internet applications, see [AT&T Apps 1998;
`Dertouzos 1999; Lucky 1997].
`
`1.3.2 Connectionless and Connection-Oriented Services
`
`Wehave seen that end systems exchange messages with each other according to an
`application-level protocol in order to accomplish some task. The links. routers, and
`other piecesof the Internet provide the means to transport these messages between the
`end-system applications. But what are the characteristics of the communication ser-
`vices that are provided’? The [nternet, and more generally TCP/IP networks, provide
`two types of services to its applications: connectionless service and connection-
`oriented service. A developer creating an Internet application (for example, an e-mail
`application, a file transfer application, a Web application, or an Internet phone appli-
`cation) must programthe application to use one of these two services. Here, we only
`briefly describe these twoservices; we discuss them in much more detail in Chapter3,
`which covers transport layer protocols.
`
`Connection-Oriented Service
`
`When an application uses the connection-oriented service, the client and the server
`(residing in different end systems) send control packets to each other before sending
`packets with real data (such as e-mail messages). This so-called handshaking proce-
`dure alerts the client and server, allowing themto prepare for an onslaught of pack-
`ets. It is interesting to note that this initial handshaking procedure is similar to the
`protocol used in human interaction. The exchange of “Hi's” we saw in Figure 1.2 is
`an example of a human “handshaking protocol” (even though handshaking is not
`literally taking place between the two people). The two TCP messages that are
`exchanged as part of the WWW interaction shownin Figure 1.2 are twoof the three
`messages exchanged when TCPsets up a connection between a sender andreceiver.
`The third TCP message (not shown) that forms the final part of the TCP three-way
`handshake (see Section 3.5) is contained in the get message shown in Figure 1.2.
`Once the handshakingprocedureis finished, a connectionis said to be estab-
`lished between the two end systems. But the two end systems are connected in a
`very loose manner, hence the terminology connection-oriented. In particular, only
`the end systems themselves are aware ofthis connection; the packet switches (that
`is, routers) within the Internet are completely oblivious to the connection. This is
`because a TCP connection consists of nothing more than allocated resources
`(buffers) and state variables in the end systems. The packet switches do not main-
`tain any connection-state information,
`The Internet’s connection-oriented service comes bundled with several other
`services, including reliable data transfer, [low control, and congestion control. By
`reliable data transfer, we mean that an application can rely on the connection to
`
`Epic Games Ex. 1016
`Epic Games Ex. 1016
`Page 13
`Page 13
`
`

`

`12
`
`CHAPTER 1
`
`w Computer Networks and the Internet
`
`deliverall ofits data without error and in the properorder. Reliability in the Internet
`is achieved throughthe use of acknowledgments and retransmissions. To get a pre-
`liminary idea about how the Internet implements the reliable transport service, con-
`sider an application that has established a connection between end systems A andB,
`Whenendsystem B receives a packet fromA, it sends an acknowledgment; when end
`systemA receives the acknowledgment, it knows that the corresponding packet has
`definitely been received. When end system A doesn’treceive an acknowledgment, it
`assumesthat the packet it sent was not received by B; it therefore retransmits the
`packet. Flow control makes sure that neither side of a connection overwhelmsthe
`otherside by sending too many packets toofast. Indeed, the application at one side of
`the connection may not be able to process information as quickly as it receives the
`information. Therefore, there is a risk of overwhelmingeither side of an application.
`The flow-control service forces the sending end systemto reduce its rate whenever
`there is such a risk. We shall see in Chapter 3 that the Internet implements the flow
`control service by using sender and receiver buffers in the communicating endsys-
`tems. The Internet’s congestion-control service helps prevent the Internet from en-
`tering a state of gridlock. Whena router becomes congested, its buffers can overflow
`and packetloss can occur. In such circumstances, if every pair of communicating end
`systems continues to pump packets intothe network as fast as they can, gridlock sets
`in and few packets are delivered totheir destinations. The Internet avoids this prob-
`lem by foreing end systems to decrease the rate at whichthey send packets into the
`network during periods of congestion, End systemsare alerted to the existence of
`severe congestion whenthey stop receiving acknowledgments for the packets they
`have sent.
`We emphasizehere that although the Internet’s connection-oriented service
`comes bundled with reliable data transfer, flow control, and congestion control,
`these three features are by no means essential components ofa connection-oriented
`service. A different type of computer network may provide a connection-oriented
`service to its applications without bundling in one or more ofthese features. Indeed,
`any protocol that performs handshaking between the communicating entities before
`transferring data is a connection-oriented service [Iren 1999].
`The [nternet’s connection-oriented service has a name—TCP (Transmission
`Control Protocol); the initial version of the TCP protocolis defined in the Internet
`Request for Comments RFC 793 [RFC 793]. The services that TCP provides to an
`application include reliable transport, flow control, and congestion control. It 1s
`important to note that an application need only care about the services that are
`provided; it need not worry about how TCPactually implementsreliability, flow
`control, or congestion control. We, of course, are very interested in how TCP imple-
`ments these services, and we shall cover these topics in detail in Chapter3.
`
`Connectionless Service
`
`There is no handshaking with the Internet's connectionless service. When one side of
`an application wants to send packets to anotherside of an application, the sending ap-
`Epic Games Ex. 1016
`Epic Games Ex. 1016
`Page 14
`Page 14
`
`

`

`1.4 @ The Network Core
`
`13
`
`plication simply sends the packets. Since there is no handshaking procedure priorto
`the transmission of the packets, data can be delivered faster, But there are no ac-
`knowledgmentseither, so a source never knowsfor sure which packets arrive at the
`destination. Moreover, the service makes no provision for flow control or congestion
`control. The Internet’s connectionless service is provided by UDP (User Datagram
`Protocol); UDPis defined in the Internet Request for Comments RFC 768.
`Most of the more familiar Internet applications use TCP. the Internet's connec-
`tion-oriented service. These applications include Telnet (remote login), SMTP(for
`electronic mail), FTP (for file transfer), and HTTP (for the Web). Nevertheless.
`UDP, the Internet’s connectionless service, is used by many applications, including
`many of the emerging multimedia applications, such as Internet phone, audio-on-
`demand, and video conferencing.
`
`1.4 + The Network Core
`
`Having examined the end systems and end-end transport service model of the Inter-
`net in

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket