19-11-2012, 04:24 PM
Computer Networking A Top-Down Approach Featuring the Internet
Computer Networking.pdf (Size: 9.44 MB / Downloads: 112)
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 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 the services it provides.
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 infrastructure that provides services to distributed applications. Let's begin
with the nuts-and-bolts description, using Figure 1.1-1 to illustrate our discussion.
A Service Description
The discussion above has identified many of the pieces that make up the Internet. Let's now leave the nuts and bolts description and
take a more abstract, service-oriented, view:
l The Internet allows distributed applications running on its end systems to exchange data with each other. These
applications include remote login, file transfer, electronic mail, audio and video streaming, real-time audio and video
conferencing, distributed games, the World Wide Web, and much much more [AT&T 1998]. 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 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 100 million or so users [Almanac]. (By the way, determining the
number of computers 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
connected to that network. Similarly, an exiting network does not report its changes in connected end systems to any central
authority.)
What is a Protocol?
Now that we've got a bit of a feel for what the "Internet" is, let's consider another important word is the
title of this book: "protocol." What is a protocol? What does a protocol do? How would you recognize a
protocol if you met one?
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-1. Human protocol
(or good manners, at least) dictates that one first offers a greeting (the first "Hi" in Figure 1.2-1) 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 reponse 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 we 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 message are sent or received or other events occur, play a central role in a
human protocol. If people run different protocols (e.g., if one person has manners but the other does not,
or if one understands the concept of time and the other does not) the protocols do not interoperate and
no useful work can be accomplished. The same is true in networking -- it takes two (or more)
communicating entities running the same protocol in order to accomplish a task.