What Is Protocol ?

curvyrawrΔίκτυα και Επικοινωνίες

23 Οκτ 2013 (πριν από 3 χρόνια και 7 μήνες)

76 εμφανίσεις

What Is
Protocol
?

A protocol is a system of rules that define how something is to be done. In
computer

terminology, a protocol is usually an agreed
-
upon or standardized method for transmitting
data

and/or establishing communications between different devices. Just as two humans need to have
a common language between them before they can begin to share ideas and information, so must
comput
ers have a common way of sending information between them. The
Internet

is often used
as an example of a successful protocols
-
based system in which the implementation of key
qualities of protoco
ls, such as error correction and message formatting, are utilized and respected
across a wide variety of
hardware

and
software
.

To d
emonstrate a common usage of a popular protocol, we can examine the Internet's
TCP/IP protocol. Computers can communicate different types of information over TCP/IP such
as text, pictures,
VOIP

(Voi
ce Over Internet Protocol), and more. To indicate that a user wants
the page "protocol.html" from the What
-
Is
-
What website, the
web browser

Firefox

connects to
the What
-
Is
-
What
server

and sends this information: "GET /what_is/protocol.html HTTP/1.1".
The server knows that the request is divided into three sections by spaces,

and knows what
values to expect in each section. The first section specifies the type of request, in this case a GET
request. The next section is the location request, in this case the file "protocol.html" which is
located in the "
what is
" directory. The
final section is the transport protocol that the browser
would like to use, in this case version 1.1 of HTTP (HyperText Transfer Protocol). If Firefox
were to request these properties in a different order, say, with the GET section at the end instead
of at

the beginning, the web server would not be able to understand the request. The order, and
type, of the request is defined in the TCP/IP suite of protocols.

In the previous example, we saw how one protocol, TCP/IP, was used to specify the use
of another pr
otocol, HTTP. This is an example of high
-

and low
-
level protocols and how they
interact. TCP and IP are low
-
level protocols, that are used in establishing the basic connection
between two computers on a
network
. However, just simply connecting does nothing practical,
and information must actually be transferred. Just like the low
-
level protocol defines the
properties of the connection, a high
-
level protocol (such as HTTP) defines the properties of

the
data transfer. In addition to the familiar HTTP protocol, other common Internet protocols include
FTP (File Transfer Protocol), DHCP (Dynamic Host Configuration Protocol), SMTP (Simple
Mail Transfer Protocol), POP3 (Post Office Protocol version 3), an
d IMAP (Internet Message
Access Protocol). You have probably noticed that all these acronyms end in the letter "P". In
fact, whenever encountered with an unfamiliar computer
-
related acronym that ends in "P", there
is a very good chance that it defines a pr
otocol.

Typical properties

While protocols can vary greatly in purpose and sophistication, most specify one or more of the
following properties:



Detection of the underlying physical connection (wired or wireless), or the existence of
the other endpoint or
node



Handshaking



Negotiation of various connection characteristics



How to start and end a message



Procedures on formatting a message



What to do with corrupted or improperly formatted

messages (
error correction
)



How to detect unexpected loss of the connection, and what to do next



Termination of the session and or connection.

Importance

The protocols in human communication are separate rules about appearance, speaking,
listening and understanding. All these rules, also called
protocols of conversation
, represent
different layers of communication. They work together to help peop
le successfully communicate.
The need for protocols also applies to network devices. Computers have no way of learning
protocols, so network engineers have written rules for communication that must be strictly
followed for successful host
-
to
-
host communica
tion. These rules apply to different layers of
sophistication such as which physical connections to use, how hosts listen, how to interrupt, how
to say good
-
bye, and in short how to communicate, what language to use and many others. These
rules, or protoco
ls, that work together to ensure successful communication are grouped into what
is known as a
protocol suite
.

The widespread use and expansion of
communications protocols

is both a prerequisite for
the
Internet
, and a major contributor to its power and success. The
pair of
Internet Protocol

(or
IP) and
Transmission Control Pr
otocol

(or TCP) are the most important of these, and the term
TCP/IP

refers to a collection (a "protocol suite") of its most used protocols. Most of the Inte
rnet's
communication protocols are described in the
RFC

documents of the
Internet Engineering Task
Force

(or IETF).

Object
-
oriented programming

has extended the use of the term to include the
programming protocols

available for connections and communication between objects.

Generally, only the simplest protocols are used alone. Most protocols, especially in the context
of com
munications or networking, are layered together into
protocol stacks

where the various
tasks listed above are divided among different protocols in the stack.

Whereas the protoc
ol stack denotes a specific combination of protocols that work
together, a
reference model

is a
software architecture

that lists each layer and the services each
should offer. The classic seven
-
layer reference model is the
OSI model
, which is used for
conceptualizin
g protocol stacks and peer entities. This reference model also provides an
opportunity to teach more general
software engineering

concepts like hiding, modularity,
and
delegation of tasks. This model has endured in spite of the demise of many of its protocols (and
protocol stacks) originally sanctioned by the
ISO
.

Common protocols



IP

(Internet Protocol)



UDP

(User Datagram Protocol)



TCP

(Transmission Control Protocol)



DHCP

(Dynamic Host Configuration Protocol)



HTTP

(Hypertext Transfer Protocol)



FTP

(File Transfer Protocol)



Telnet

(Telnet Remote Protocol)



SSH

(Secure Shell Remote Protocol)



POP3

(Post Office Protocol 3)



SMTP

(Simple Mail Transfer Protocol)



IMAP

(Internet Message Access Protocol)



SOAP

(Simple Object Access Protocol)



PPP

(Point
-
to
-
Point Protocol)

Protocol testing

In general, protocol testers work by capturing the information exchanged between a
Device Under Test (DUT) and a reference device known to operate properly. In the example of a
manufacturer producing a new keyboard for a personal computer, the Device Under

Test would
be the keyboard and the reference device, the PC. The information exchanged between the two
devices is governed by rules set out in a technical specification called a "communication
protocol". Both the nature of the communication and the actual

data exchanged are defined by
the specification. Since communication protocols are state
-
dependent (what should happen next
depends on what previously happened), specifications are complex and the documents describing
them can be hundreds of pages.

The ca
ptured information is decoded from raw digital form into a human
-
readable format
that permits users of the protocol tester to easily review the exchanged information. Protocol
testers vary in their abilities to display data in multiple views, automatically

detect errors,
determine the root causes of errors, generate timing diagrams, etc.

Some protocol testers can also generate traffic and thus act as the reference device. Such
testers generate protocol
-
correct traffic for functional testing, and may also ha
ve the ability to
deliberately introduce errors to test for the DUT's ability to deal with error conditions.

Protocol testing is an essential step towards commercialization of standards
-
based
products. It helps to ensure that products from different manufa
cturers will operate together
properly ("interoperate") and so satisfy customer expectatio
ns.