`
`IIINillllllli'IIIII'IHIIIII
`
`5 0628 01267148 0
`
`Computer Networking
`
`77 Top-Down Approach Aatarinp' the internet
`
`James F. Kurose ♦ Keith W. Ross
`
`Epic Games Ex. 1014
`Page 1
`
`
`
`Senior Acquisitions Editor
`Assistant Editor
`Production Supervisor
`Art Editor
`Executive Marketing Manager
`Composition
`Technical Art
`Copy editor
`Proofreader
`Cover Design
`Interior Design
`Design Manager
`Cover Image
`
`Susan Hartman
`Lisa Kalner
`Patty Malitani
`Helen Recbenacker
`Michael Hirsch
`Pre-Press Company, Inc.
`PD & PS
`Roberta Lewis
`Holly McLean Aldis
`Joyce Cosentino
`Delgado Design
`Regina Hagen
`© 1999 PhotoDisc, Inc.
`
`Access the latest information about Addison-Wesley titles from our World Wide Web site:
`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 arc not guaranteed for any particular purpose. The
`publisher does not offer any warranties or representations, not does it accept any liabilities with
`respect to the programs or applications.
`
`Library of Congress Cataloging-in-Publication Data
`Ross, Keith W„ 1956-
`Computer networking: a top-down approach featuring the Internet I Keith W. Ross,
`James F. Kurose.
`p. cm.
`Includes bibliographic references and index
`ISBN 0-201-47711-4
`1. Internet (Computer network) I. Kurose, James E
`TK5105.875.157 R689 2001
`004.6—dc21
`
`00-025295
`
`Copyright © 2001 by Addison Wesley Longman, 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.
`
`2 3 4 5 6 7 8 9 10-MA-0201
`
`Epic Games Ex. 1014
`Page 2
`
`
`
`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 would like 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 up the
`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 of these
`computing devices are traditional desktop PCs, Unix-based workstations, and so
`
`1
`
`Epic Games Ex. 1014
`Page 3
`
`
`
`2
`
`CHAPTER I ■ Computer Networks and the Internet
`
`Figure 1.1 ♦ Some pieces of the Internet
`
`called servers that store and transmit information such as Web (WWW) pages and
`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. 1014
`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 programs that run on such end systems. We will look into Internet end systems
`in more detail in Section 1.3 and then delve deeply into the study of network appli
`cations in Chapter 2.
`End systems, as well as most other “pieces” of the 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—much of this 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 al different rates. The
`link transmission rate is often called the link bandwidth and is typically measured
`in bits/second.
`Usually, end systems are not directly attached to each other via a single com
`munication link. Instead, they arc indirectly connected to each other through inter
`mediate switching devices known as routers. A router takes information arriving on
`one of its incoming communication links and then forwards that information on one
`of its outgoing communication links. The IP protocol specifies the format of the
`information that 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
`router itself, in Chapter 4.
`Rather than provide a dedicated path between communicating end systems, the
`Internet uses a technique known as packet switching that allows multiple commu
`nicating end systems to share a path, or parts of a path, al the same time. The earli
`est ancestors of the Internet were the first packet-switched networks.
`The Internet is really a network of networks. That is. the Internet is an intercon
`nected set of privately and publicly owned and managed networks. Any network
`connected to the Internet must run the IP protocol and conform to certain naming
`and addressing conventions. Other than these few constraints, however, a network
`operator can configure and run its network (that is, its little piece of the Internet)
`however it chooses. Because of the universal use of the IP protocol in the Internet,
`the IP protocol is sometimes referred to as the Internet dial tone.
`The topology of the Internet, that is, the structure of the interconnection among
`the various pieces of the Internet, is loosely hierarchical. Roughly speaking, from
`bottom-to-lop. 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 company or university, a dial telephone line
`
`Epic Games Ex. 1014
`Page 5
`
`
`
`4
`
`CHAPTER 1 ■ Computer Networks nnd the Internet
`
`with a modem, or a high-speed cable-based or phone-based access network. Local
`ISPs are in turn connected to regional ISPs, which are in turn connected to national
`and international ISPs. The national and international 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, hi the first half of 1996, approximately 40,000 new
`networks were added to the Internet [Network 1996] -an astounding growth rate.
`At the technical and developmental level, the Internet is made possible 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 resolve architecture problems that faced the
`precursor to the Internet. RFCs, though not formally standards, have evolved to 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 many private
`networks, such as 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 of host, routers,
`links, protocols, and standards) as the public Internet.
`
`1.1.2 A Service Description
`The preceding discussion has 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:
`
`♦ I he Internet allows distributed applications running on its 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], It is worth emphasizing that the Web is not a separate net
`work but rather just one of many distributed applications that use the communi
`cation services provided by the Internet, The Web could also run over a network
`besides the Internet. One reason that the 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 number of com
`puters hooked up to the Internet is 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. 1014
`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 two services to its distributed applications: a connection-
`oriented service and a connectionless service. Loosely speaking, connection-
`oriented service guarantees that data transmitted from a sender to a receiver will
`eventually be delivered to the receiver in order and in its entirety. Connectionless
`service does not make any guarantees about eventual delivery. Typically, a dis
`tributed application makes use of one or the other of 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
`how long it will take to deliver the data from sender to receiver. And except for
`increasing your access bit rale to your Internet service provider, you currently
`cannot obtain better service (for example, shorter delays) by paying more—
`a state of affairs 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.
`
`Our second description of the Internet—in terms of the services it provides to
`distributed applications—is a nontraditional, but important, one. Increasingly, ad
`vances in the nuts-and-bolts components of the 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 of its hardware and
`software components, the other in terms of the services it provides to distributed ap
`plications. But perhaps you are 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? If you feel a bit
`overwhelmed by all of this now, don’t worry—the purpose of this book is to intro
`duce you to both the nuts and bolts of the Internet, as well as the principles that gov
`ern how and why it 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 Internet is 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
`URLs that provide background, original, or advanced material related to the particular
`
`Epic Games Ex. 1014
`Page 7
`
`
`
`6 CHAPTER 1 ■ Computer Networks and the Internet
`
`topic under study. Here is a set of key links that you may want to consult while you
`proceed through this book:
`
`: The IETF is an
`♦ Internet Engineering Task Force (IETF),
`http://www.ictf.org
`open international community concerned with the development and operation of
`the Internet and its architecture. The IETF was formally established by the Inter
`, in 1986. The IETF meets
`net Architecture Board (1AB).
`http://www.isi.edu/iab
`three times a year; much of 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.
`http://www.isoc.org
`The IETF is administered by the Internet Society,
`, whose
`Web site 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 common protocols for the evolution
`of the World Wide Web. This is an outstanding site with fascinating information
`on emerging Web technologies, protocols, and standards.
`> The Association for Computing Machinery (ACM),
`, and the
`http://www.acm.org
`Institute of Electrical and Electronics Engineers (IEEE),
`:
`http://www.ieee.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 Communications Society,
`, and the
`http://www.comsoc.org
`. arc the groups within these
`http://www.compiiter.org
`IEEE Computer Society,
`bodies whose efforts are most closely related to networking.
`♦ Data communications tutorials from the online magazine Data Communications,
`: One of the belter magazines for data communications
`http://www.data.com
`technology. The site includes many excellent tutorials.
`: You may be wondering
`♦ Media History Project,
`http://www.mediahistory.com
`how the Internet got started. Or you may wonder how electrical 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 petroglyphs to pixels. Il covers the history of digital media, mass
`media, electrical media, print media, and even oral and scribal culture.
`
`1.2 ♦ What Is a Protocol?
`
`Now that we’ve got a bit of a feel for what the Internet is, let’s consider another im
`portant buzzword in computer networking: “protocol.” What is a protocol? What
`does a protocol rfo? How would you recognize a protocol if you met one?
`
`Epic Games Ex. 1014
`Page 8
`
`
`
`1.2 ■ What 1$ 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 someone for the time of day.
`A typical exchange is shown in Figure 1.2. Human protocol (or good manners, at
`least) dictates that one first offers a greeting (the first "Hi” in Figure 1.2) to initiate
`communication with someone else. The typical response to a “Hi” message (at least
`outside of New York City) is a returned "Hi” message. Implicitly, one then takes a
`cordial “Hi” response as an indication that one can proceed ahead and ask for the
`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
`sponse at 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 ive send,
`and specific actions we take in response to the received reply messages or other
`events (such as no reply within some given amount of time). Clearly transmitted and
`received messages, and actions taken when these messages are .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
`
`Figure 1.2 + A human protocol and a computer network protocol
`
`Epic Games Ex. 1014
`Page 9
`
`
`
`8 CHAPTFN 1 a Computer Networks and the Internet
`
`understands the concept of lime and the other does not) the protocols do not interop
`erate and no useful work can he accomplished, The same is true in networking—it
`takes two (or more) communicating entities running the same protocol in order to
`accomplish a task.
`Let's consider a second human analogy. Suppose you’re in a college class
`(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 that is transmitted to, and received by, all students who are not sleeping).
`You raise your hand (transmitting an implicit message to the teacher). Your teacher
`acknowledges you with a smile, saying “Yes . .(a transmitted message encourag
`ing you to ask your question—teachers love 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 at the
`heart of this question-aod-answer protocol.
`
`1.2.2 Network Protocols
`A network protocol is similar to a human protocol, except that (he 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 of two 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 sender and receiver. Protocols arc running every
`where in the Internet, and consequently much of this book is about computer net
`work protocols,
`As an example of a computer network protocol with which you are probably
`familiar, consider what happens when you make a request to a Web server, that is.
`when you type in the URL of a Web page into your Web browser. The scenario is
`illustrated in rhe right half of Figure 1.2. First, your computer will send a “connec
`tion request” message to the W'eb server and wait for a reply. The Web server will
`eventually receive your connection request message and return a "connection reply”
`message. Knowing that it 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 server in a
`“get” message. Finally, the Web server returns the contents of the Web document to
`your computer.
`Given the human and networking examples above, the exchange of messages
`and the actions taken when these messages are sent and received are the key defin
`ing elements of a protocol:
`
`Epic Games Ex. 1014
`Page 10
`
`
`
`1.3 ■ The Network Edge
`
`9
`
`,4 protocol defines the formal and the order of messages exchanged between
`two or more communicating entities, as well as the actions taken on the trans
`mission and/or receipt of a message or other event.
`
`The Internet, and computer networks in general, make extensive use of pro
`tocols. Different protocols are used to accomplish different communication tasks.
`As you read through this book, you will learn that some protocols arc 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 of the Internet and
`networking protocols. We are now going to delve a bit more deeply into the compo
`nents of the Internet. We begin in this section al the edge of network and look at the
`components with which we are most familiar—the computers (for example. PC’s and
`workstations) that we use on a daily basis. In the next section we will move from the
`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 Weh browser or server program, or an
`e-mail program. They are also referred to as end systems because they sit at the edge
`of the Internet, as shown in Figure 1.3. Throughout this book we will use the terms
`hosts and end systems interchangeably: that is. host — 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 computer networking. In the so-called client/server model, a client program run
`ning on one end system requests and receives information from a server running on
`another end system. Studied in detail in Chapter 2. this client/server model is un
`doubtedly the most prevalent structure 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 rims on one com
`puter and the server tuns on another computer, client/server Internet applications arc.
`
`Epic Games Ex. 1014
`Page 11
`
`
`
`10 CHAPTER I ■ Computer Networks and the Internet
`
`Figure 1.3 ♦ End-system interaction
`
`by definition, distributed applications. The client and the server interact with each
`other by communicating (that is, sending each other messages) over the Internet. At
`this level of abstraction, the routers, links and other “pieces" of the Internet serve as a
`"black box" that transfers messages between the distributed, communicating compo
`nents of an 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, arc 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 and set top boxes [Mills 1998], digital cameras, and other
`
`Epic Games Ex. 1014
`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
`We have seen that end systems exchange messages with each other according to an
`application-level protocol in order Io accomplish some task. The links, routers, and
`other pieces of the Internet provide the means to transport these messages between the
`end-system applications. Bui what are the characteristics of the communication ser
`vices that are provided? The Internet, 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 tile transfer application, a Web application, or an Internet phone appli
`cation) must program the application to use one of these two services. Here, we only
`briefly describe these two services; we discuss them in much more detail in Chapter 3,
`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 them to 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 shown in Figure 1.2 are two of (he three
`messages exchanged when TCP sets up a connection between a sender and receiver.
`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 gel message shown in Figure 1.2.
`Once the handshaking procedure is finished, a connection is 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 of this connection; the packet switches (that
`is, routers) within (he Internet are completely oblivious to the connection. This is
`because a TCP connection consists of nothing more (han allocated resources
`(buffers) and stale 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, flow control, and congestion control. By
`reliable data transfer, we mean that an application can rely on the connection to
`
`Epic Games Ex. 1014
`Page 13
`
`
`
`IS CHAPTER 1 ■ Computer Networks and the Interne!
`
`deliver all of its data without error and in the proper order. Reliability in the Internet
`is achieved through the use of acknowledgments and retransmissions. To gel 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 and B,
`When end system U receives a packet from A. it sends an acknowledgment; when end
`system A receives the acknowledgment, it knows that the corresponding packet has
`definitely been received. When end system A doesn’t receive an acknowledgment, it
`assumes that the packet it sent was not received by B; it therefore retransmits the
`packet. Flow control makes sure that neither side of a connection overwhelms the
`other side by sending too many packets too fast. Indeed, the application al 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 overwhelming either side of an application.
`The flow-control service forces lhe sending end system to reduce its rate whenever
`there is such a risk. We shall see in Chapter 3 that the Internet implements the llow
`control service by using sender and receiver buffers in the communicating end sys
`tems. The Internet's congestion-control service helps prevent lhe Internet from en
`tering a state of gridlock. When a router becomes congested, its buffers can overflow
`and packet loss can occur. In such circumstances. if every pair of communicating end
`systems continues to pump packets into the network as fast as they can, gridlock sets
`in and few packets are delivered to their destinations. The Internet avoids this prob
`lem by forcing end systems to decrease the rate at which they send packets into lhe
`network during periods of congestion. End systems are alerted to the existence of
`severe congestion when they slop receiving acknowledgments for lhe packets they
`have sent.
`We emphasize here 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 of a connection-oriented
`service. A different type of computer network may provide a connection-oriented
`service to its applications without bundling in one or more of these features. Indeed,
`any protocol that performs handshaking between the communicating entities before
`transferring data is a connection-oriented service |lren 1999].
`The Internet's connection-oriented service has a name—TCP (Transmission
`Control Protocol); the initial version of lhe TCP protocol is 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. Il is
`important to note that an application need only care about the services that are
`provided; it need not worry about how TCP actually implements reliability, flow
`control, or congestion control. IVe, of course, are very interested in how TCP imple
`ments these services, and we shall cover these topics in detail in Chapter 3.
`
`Connectionless Service
`There is no handshaking with the Internet's connectionless service. When one side of
`an application wants to send packets to another side of an application, the sending ap
`
`Epic Games Ex. 1014
`Page 14
`
`
`
`1.4 ■ The Network Core
`
`13
`
`plication simply sends the packets. Since there is no handshaking procedure prior to
`the transmission of the packets, data can be delivered faster. But there are no ac
`knowledgments either, so a source never knows for 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); UDP is 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 4 The Network Core
`
`Having examined the end systems and end-end transport service model of the Inter
`net in Section 1.3. let us now delve more deeply into the “inside” of the network. In
`this section we study the network core—the mesh of routers that interconn