Typically, several different protocols
cooperate to manage the communications. For example,
one protocol is responsible for controlling the flow
of the traffic on each channel; the second protocol
usually selects the best channel (among several) for
the first protocol to use. The first protocol is classified
as a link or line protocol (also a data link control).
The second protocol is called a switching or routing
protocol.
Below figure illustrates several important points about
network communications. A terminal (DTE) at San Francisco
is to transmit data to a remote computer (DTE) located
in Atlanta. The transmission goes through an intermediate
point, a computer located in Dallas. The Dallas site
performs routing and switching functions, since it also
has lines to Denver and Houston, and thus fits our definition
of data switching equipment (DSE). The most common approach
in network communication is to pass the data, like a
baton in a relay race, from site to site until they
finally reach the destination.
One important aspect of the process is in event 2,
where Dallas sends an acknowledgment of the data received
from the San Francisco terminal. This acknowledgment
means the Dallas site has checked for possible errors
occurring during the transmission of the frame, and
as best the Dallas site can determine, the data have
been received without any errors. It indicates by transmitting
another frame back on the return path indicating acceptance.
The data communications industry uses two terms to describe
the event 2 response. The term ACK denotes a positive
acknowledgment; the term NAK represents a negative acknowledgment.
An NAK usually occurs because the transmission (i.e.,
the signal representing the data) is distorted due to
faulty conditions on the channel (lightning strom, etc.).
the frame in event 2 to San Francisco will either be
an ACK or an NAK. In the event of an error in the transmission,
the terminal in San Francisco must receive a negative
acknowledgement (NAK) so it can retransmit the data.
It is also essential that the processes shown in events
1 and 2 are completed before event 3 occurs. If Dallas
immediately transmitted the data to Atlanta before performing
the error check, Atlanta could possible receive erroneous
data.
If the San Francisco site receives an ACK in event 2,
it assumes the data have been received correctly in
Dallas, and the communications system in San Francisco
can purge this message from its queue. (The application
process often saves a copy on disk or tape for accounting,
audit, or security reasons.)
Continuing the process in events 3 and 4, assume that
an ACK is returned from Atlanta to Dallas. The end user
in San Francisco may assume through event-2 that the
data arrived in Atlanta. A false sense of security could
result, because event-2 indicates only that the data
arrived safely in Dallas. If the data are lost between
the Dallas and Atlanta sites (it can happen), the San
Francisco terminal assumes no problem exists. This scenario
provides no provision for an end-to-end acknowledgment.
If an end user wishes to have absolute assurance that
the data arrived at the remote site, event 5 is required.
Upon receiving event 4 at the Dallas site, Dallas sends
another acceptance (ACK) to San Francisco. In other
words, event 5 says that Atlanta also accepts the data.
End-to-end protocols add overhead and costs. Consequently,
end users may not choose to have end-to-end acknowledgment
with low-priority, unimportant traffic. However, if
the data are important –– for instance,
a transfer of $20 million to an Atlanta bank over a
funds-transfer network –– a prudent user
would want to have absolute assurance that the funds
arrived and were posted to an account. In this case,
the user would want event 5 to occur.
The preceding statements point out another aspect of
a data communications system. Even through it usually
provides for all five of the transactions, the actual
posting of the funds transfer to a bank account ordinarily
is not performed by the communication software. The
applications process is responsible for the positing
and data base update. Therefore, be aware that event
5 means the communications applications process for
the data base update. If a data base problem or an applications
software failure prevents the funds transfer from being
posted, it is the responsibility of the applications
process to send an indication back to the terminal user
in San Francisco. It is rarely the responsibility of
the communications system to perform the application-to-application
accountability of traffic. |
The most common method used today for
error checking is cyclic redundancy checking (CRC).
The technique uses a constant derived form a CRC polynomial
[an algebraic expression consisting of two or more terms:
(x – 1) (x15 – x – 1)] to divide the
constant into a binary representation of a data field
(such as the contents of a frame). The quotient of the
division is discarded, but the remainder is retained
and used at the receiver to check for transmission errors.
At the receiving end, the transmitted CRC field (usually
16 bits) is compared to the answer of an identical CRC
calculation. If they are consistent, the frame is considered
to be error-free. |