What Is a
Protocol?
Now that we’ve got a bit of a
feel for what the Internet is, let’s consider another
important buzzword in computer
networking: protocol. What is a protocol? What
does a protocol do?
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
offer a greeting (the first “Hi” in Figure 1.2) to initiate
communication with someone else.
The typical response to a “Hi” is a returned
“Hi” message. Implicitly, one
then takes a cordial “Hi” response as an indication
that one can proceed 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 some unprintable
reply) might indicate an
unwillingness or inability to communicate. In this case,
the human protocol would be not
to ask for the time of day. Sometimes one gets no
response 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 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 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.
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 protocols
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 encouraging
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-and-answer
protocol.
Network
Protocols
A network protocol is similar to
a human protocol, except that the entities exchanging
messages and taking actions are
hardware or software components of some
device (for example,
computer, smartphone, tablet, router, or other network-capable
device). All activity in the
Internet that involves two or more communicating remote
entities is governed by a
protocol. For example, hardware-implemented protocols in
two physically connected
computers control the flow of bits on the “wire” between
the two network interface cards;
congestion-control protocols in end systems control
the rate at which packets are
transmitted between sender and receiver; protocols
in routers determine a packet’s
path from source to destination. Protocols are running
everywhere in the Internet, and
consequently much of this book is about computer
network 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 the URL of a Web
page into your Web browser. The scenario is illustrated
in the right half of Figure 1.2.
First, your computer will send a connection
request message to the Web 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 Web page (file) 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 defining
elements of a protocol:
A protocol defines
the format and the order of messages exchanged between
two or more
communicating entities, as well as the actions taken on the transmission
and/or receipt
of a message or other event.
The Internet, and computer
networks in general, make extensive use of protocols.
Different protocols are used to
accomplish different communication tasks. As
you read 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.


Post A Comment:
0 comments so far,add yours