A SIMPLE VIEW OF DATA COMMUNICATIONS
Consider the similarity of data
communication to the I/O methods that we have already presented. In each case,
a computer application program sends data to or receives data in the form of “messages”
from another device. For example, the “messages” in the Little Man Computer
were three-digit numbers that were “communicated” with the user using the input
and output baskets as a communication channel. The communication in this case
consisted of two factors: the messages (the three-digit numbers) that were sent
to or received from the application program that was being executed and the
medium of exchange (the I/O baskets.) One
important assumption that we made is that both the user and the program
understood the “protocol”, specifically the meanings of the three-digit numbers
that represented the “messages”. Another hint at the origins of data communication
can be deduced from POTS, the acronym for Plain Old Telephone Service. Again,
the goal is communication of “messages” between two end users. The messages in
this case are conversations between the users. Of course, the medium carrying
the messages in this case is more complex. Assuming that you have “land-line” service, copper wires (or,
perhaps, fiber-optic cables) connect your phone to a central office. Switching
mechanisms at the central office connect your wire to the wire of the party
with whom you plan to communicate. Although there is additional complexity in
the communication channel due to the switching required to serve the large
number of potential users that may wish to communicate at a given time, the
principal conceptual components are the same: messages to be shared by users
and a channel to transport the messages between users. There is an implied “protocol”
in this case also; namely, the assumption that both users share a common
language which they both can speak. (Gregory McDonald, in his novel, Flynn, describes telephone protocol
as follows: “Stick one end against the ear, bring the other end close to the
mouth, and make anticipatory noise, politely, if possible.”) For the telephone system,
there are also more subtle protocols that determine how the connection is made
and standards that establish the identities of the users in the form of “addresses”
on the telephone network—or to be more specific, telephone numbers.
Although these two examples seem superficial and simplistic, they do establish three essential ingredients for data communication: first, the data being passed between sender and receiver represents messages that are to be shared among the parties to the communications, second, there must be a communication channel that can capably and reliably transport the messages, and third, there must exist protocols that establish accurate and appropriate meaning to the messages that are understood by both senders and receivers. The second example also raises the issues of connectivity methods and addressing. As a more realistic example of real-world data communication, consider the communication between a Web browser and a Web server. In this case, the message sent by the browser is a request for a Web page to be sent by the server. Assuming that everything works correctly, the response message by the server is a Web page to be displayed on the browser. The standard protocol used for this communication is HTTP, hypertext transfer protocol.
BASIC DATA COMMUNICATION CONCEPTS
Figure shows a model that constitutes the essential elements of data communication. Two end nodes, or hosts, are connected by a communication channel. An interface connects each node with the channel. The channel carries signals that represent messages between the nodes. Protocols define the ground rules for the channel signals and for the messages.
Messages
The message is the primary purpose of the communication. It can take many forms. It may be data in the traditional sense of the word. It may also be a program or a file or a snippet of personal conversation or a request or status information or a stream of audio or video or some other agreed-upon content. For the moment, we won’t be concerned with how it was created. Since data communication is predominantly serial, we usually describe the data as a byte stream. Regardless of form or content, the message is a communication between cooperating applications at each node. The meaning of the message is established by the protocols recognized by the cooperating applications. The use of standard protocols by the application is not required as long as the cooperating applications agree on the meaning of the messages (some applications choose to use their own, nonstandard protocols for various reasons). However, the use of standard protocols such as HTTP makes the operation and administration of large networks much easier. There are definitions for a large number of standard applications, with standard protocols, designed for many of the most common communication tasks.
As you may have noticed, one of the
major limitations of the use of messages as a communication tool is that the
message length may vary widely from application to application. Without some
form of control, a streaming video download, for example, could tie up communication
channel indefinitely. This situation is obviously intolerable if there are
other messages that need to share use of the channel. (Note the similarity
between this situation and that of traditional telephone switching, by the way.
Any time there is a pause in the conversation, the capability of the
communication lines used for the call is wasted.) The demand for channel capacity
is large; therefore, full utilization of the channel is a desirable and
reasonable goal.
Packets
To solve the related problems of
channel availability and maximum utilization, there must be a way to break long
messages into smaller units. These units are called packets. Packets can
take turns using the channel, allowing sharing of the channel for different messages.
Packets are used for most data communications. A packet consists of data of
some kind encapsulated by information about the packet. A packet is equivalent
to an envelope containing pages of data. Like envelopes, packets come in
different shapes and sizes. There are standards for a number of different types
of packets, defined for different purposes. Some types of packets go by
specific names, such as frame or
datagram, which identify their purpose. A description of the packet, the
designated receiver and source addresses, and information about the data
enclosed is provided in a preamble or header, followed by the data. The amount of
data depends on the type and length of the messages, the design of the packet,
and the requirements of the channel. Some packet types require a fixed amount
of data, most allow a variable amount within some maximum limit. Some packet
designs also include a trailer or footer at the end of the packet, often used
for error-checking. The packet designs used for a communication installation
reflect the protocols that are in use and are generally standardized, so that
they may be understood by every component of the network through which they
flow. A long message may consist of many packets. With multiple links,
individual packets may travel different paths and arrive in an order different
from the order in which they were sent. To recover the message, it is sometimes
necessary to number the packets, so that they may be reassembled in their
original order at the receiving node.
As you can see, packets offer a number of
important advantages in data communication:
1.
The use of packets simplifies
operations and increases communication efficiency. It reduces communication overhead
by making it possible to transmit a large block of data while requiring only a
single block of overhead information to identify the destination and meaning of
the enclosed data. It also presents an opportunity to check and fix errors in
individual packets as the message is being sent, rather than having to resend
the entire message. A packet
represents a reasonable unit for the routing of data.
This factor is particularly important in wide area networks, where a packet of
data may be passed through many different networks and communication channels
before it reaches its destination.
2.
Packets offer an alternative to
dedicating a channel for the entire length of a message. This increases utilization and
availability of a channel by allowing packets from several sources to access
and share a single channel.
3.
The use of packets presents a
productive way to use a communication channel. A channel can be switched to route data
packets to different destinations in such a way that each sender–receiver pair
appears to have a channel to itself.
4. The
receiving computer is able to process a block of data all at once, instead of a
character or a byte at a time. Furthermore, it is usually easier to organize the data, since
there are fewer individual blocks of data to deal with.
5. It
simplifies synchronization of the sending and receiving systems. Packets provide a clearly
delineated burst of data, with an identifiable start and stop point.
General Channel Characteristics
The communication channel provides
the path for the message between the two communicating end nodes in the model.
Although the model in represents the channel as a direct point-to-point
connection between the nodes, this is not generally the case. In reality, the channel
can take many different forms. In the simplest case, it might be a direct
connection between nodes, such as a direct USB connection between a smart phone
and a personal computer. More typically,
the communication channel is actually divided into segments, called links,
with intermediate nodes between the links that forward packets from one link to
the next. Data originates at one end point and passes through each link to
reach the destination end point. As an example, consider Figure In this
example, data (perhaps a Web request) originating from a tablet or home
computer connects wirelessly through a Wi-Fi access point to a DSL modem. From
there, the data passes through the DSL link to an Internet Service Provider,
then through many additional connections to a computer somewhere on the Internet.
In other words, the communication channel between your Web browser and the Web server
on the Internet may be divided into many links, each with its own
characteristics. This is true in general of most communication channel
connections. Conversely, there may be many nodes sharing the use of a single
channel or a link. Thus, a channel or a link may be required to carry several
messages from different sources that are bound for different destinations
simultaneously.
Each individual link channel is characterized by a number of different properties:
1. by the type of medium it uses, and by the electrical or optical properties of the medium,
2. by the signaling method and data formats used to carry its messages,
3. by the directionality of signals supported by the channel,
4. by the nature of its interfaces with the end nodes and with other links,
5. by its bandwidth,
6. by restrictions on the length of the channel,
7. by the time delay between the time the channel receives data from its incoming node and the time it releases the data to its outgoing node,
8. by the number of connections sharing the channel,
9. by the noise characteristics of the channel,
10. by the way in which packets are steered through the channel from link to link (see the next part of this section), and
11. by the electrical or optical properties of the channel.
MEDIUM A communication channel medium can be
either guided or unguided. Radio waves transmitted from an
antenna are unguided. They may be received by any radio receiver tuned to the
corresponding radio frequency within the range and directionality of the transmitting
antenna. Unguided media include cellular phone, broadcast radio, microwave, wireless
networking, infrared light, and satellite technologies. Laser signals that are
not confined to an optical cable are also generally considered unguided,
although the field of view is extremely narrow. Note, in particular, that unguided
communication channels are inherently insecure, since they can be intercepted
easily by anyone within the field of view of the channel. Wireless networking
is particularly vulnerable to interception because the transmitting antenna is
generally omnidirectional.
DATA TRANSMISSION DIRECTIONALITY A channel that carries messages in only one
direction is known as a simplex channel. Television broadcasting
stations use a simplex channel. Programs are sent from a transmitting antenna
to television receivers, but the receivers do not respond with messages or data
back to the broadcasting station. A channel may carry messages in both
directions, but only one direction at a time. This channel is known as a half-duplex
channel. If the computer at point B wants to send a message to point A, it
must wait until point A has stopped transmitting to do so. Most walkie-talkies
are half-duplex communication devices. Channels which carry signals simultaneously
in both directions are called full-duplex channels. Traditional
telephone lines are full-duplex channels. Both parties can speak
simultaneously, and each can hear the other. Some channels are made up of
separate lines for each direction. Some practitioners characterize these as
full duplex; others refer to these as dual-simplex channels. The
PCI-Express bus specification calls them lanes, a term that is likely to
catch on within the network community.
NUMBER OF CONNECTIONS Like buses, a communication channel can be
point-to-point or multipoint, although the choice is often predetermined by the
nature of the medium. Wireless networking, for example, is, of necessity,
multipoint, because there is no realistic technological way to limit the number
of radio signals in a given space and a limited frequency bandwidth. Conversely,
fiber optics are usually point-to-point because of the difficulty of tapping
into a fiber-optic cable. Note that even a point-to-point channel can be shared
by packets arriving at its input node from different sources.
PROTOCOLS A message passes between a sending node and
a receiving node with potentially different characteristics through a channel
which may, itself, consist of many links, each with its own requirements,
capabilities, and characteristics. The sending node must be able to direct the
message reliably to a particular node through a massively large network of potential
intermediate nodes, which could possibly be widely scattered. Thus, there is a
need for a universal set of communication protocols that can handle a wide
range of different situations. Amazingly, a relatively small number of standard
protocols, consisting primarily of the TCP/IP and Ethernet protocol suites,
satisfy nearly all of the requirements. These standard protocols are designed
to interconnect with other, more specialized protocols when necessary, to meet the
remaining requirements of a globally interconnected data communications
capability.
0 Comments