computer science
Network protocols
Another important architectural area is the computer
communications network, in which computers are linked
together via computer cables, infrared light
signals, or low-power radiowave transmissions over short
distances to form local area networks (LANs) or via
telephone lines, television cables, or satellite links
to form wide-area networks (WANs). By the 1990s, the
Internet, a network of networks, made it feasible for
nearly all computers in the world to communicate.
Linking computers physically is easy; the challenge for computer
scientists has been the development of
protocols--standardized rules for the format and
exchange of messages--to allow processes running on host
computers to interpret the signals they receive and to
engage in meaningful "conversations" in order
to accomplish tasks on behalf of users. Network
protocols also include flow control, which keeps a data
sender from swamping a receiver with messages it has no
time to process or space to store, and error control,
which involves error detection and automatic resending
of messages to compensate for errors in transmission.
For some of the technical details of error detection and
error correction, see the article information theory.
The standardization of protocols has been an
international effort for many years. Since it would
otherwise be impossible for different kinds of machines
running diverse operating systems to communicate with
one another, the key concern has been that system
components (computers) be "open"--i.e., open
for communication with other open components. This
terminology comes from the open systems interconnection
(OSI) communication standards, established by the
International Organization for Standardization. The OSI
reference model specifies protocol standards in seven
"layers," as shown in the . The layering
provides a modularization of the protocols and hence of
their implementations. Each layer is defined by the
functions it relies upon from the next lower level and
by the services it provides to the layer above it. At
the lowest level, the physical layer, rules for the
transport of bits across a physical link are defined.
Next, the data-link layer handles standard-size
"packets" of data bits and adds reliability in
the form of error detection and flow control. Network
and transport layers (often combined in implementations)
break up messages into the standard-size packets and
route them to their destinations. The session layer
supports interactions between application processes on
two hosts (machines). For example, it provides a
mechanism with which to insert checkpoints (saving the
current status of a task) into a long file transfer so
that, in case of a failure, only the data after the last
checkpoint need to be retransmitted. The presentation
layer is concerned with such functions as transformation
of data encodings, so that heterogeneous systems may
engage in meaningful communication. At the highest, or
application, level are protocols that support specific
applications. An example of such an application is the
transfer of files from one host to another. Another
application allows a user working at any kind of
terminal or workstation to access any host as if the
user were local.
|