
1.1
Basics of Communication:
Exchange
of data is done by interconnecting computers through computer networks.
The basic communication technologies are given below:
Communication
using electricity: Since the discovery of electricity scientists,
inventors and engineers have worked on ways to use electrical signals for
communication. The principles discovered have resulted in fast, reliable
communication systems. Our knowledge of digital communication can be
divided into three historical stages:
Signals on Wires
Electrical
signals pass across wires and they lose energy while passing through the
wire resulting in the use of electronic devices to amplify signals.
Electrical signals emit electromagnetic radiation that can interfere with
signals in nearby wires; so high speed networks and cable TV connections
use a special cable to shield the wire.
Information Coding
Researchers discovered a technique called modulation that transmits human
voice across telephone lines with minimum distortion. For this the sender
must have a device called modulator. The modulator begins with a basic
oscillating signal called carrier that oscillates back and forth
regularly. It then uses a second signal (one generated by human voice) to
change the carrier slightly. At the receiving end a demodulator device
performs the reverse function known as demodulation. The demodulator is
tuned to expect the carrier. By measuring how much the incoming signal
deviates from a perfect carrier, the receiver can recover the second
signal (the human voice). This principle of modulation is used in modern
communication system like Internet to enable communication among two
computers through a modulator at one end and a demodulator at the other.
Modems (Modulator/Demodulator) contain both a modulator through which it
sends information and a demodulator through which it receives information.
Modems are also available that allow communication overran ordinary
dial-up telephone connection. A dial-up modem contains additional
circuitry that can dial a phone number or answer an incoming call. The
user must instruct a modem on one end to dial a phone number and a modem
on the other end to answer the call (Fig.1.1). Once the call has been
accepted, both modems can begin transferring data. To sum up: a modem is a
device needed for communication across a dial-up telephone connection or
for long distance communication across a wire. A modem supports two-way
communication because it contains a modulator for the signal being sent
and a demodulator for the signal being received.
Two
terminals connected through modems
Just
like voice transmission, researchers also considered transmission of
digital information. They found ways to encode the basic values of a bit
in an electrical signal (e.g. using a positive voltage to encode 1 and
negative voltage to encode 0). In addition they devised a sequence of bits
to represent each letter and digit. Most modern character codes usually
assigns a sequence of seven 0’s and 1’s to each letter. The American
Standard Coder for Information Interchange (ASCII) is the most popular
character code used throughout the computer and network industry.
Detecting
and correcting errors
Early work on digital communication was focused on error detection and
correction. Researchers studied errors that occur while sending electrical
signals across a wire, and found ways to detect them. For example, natural
phenomenon like lightning can cause random electrical signals to appear on
wires and get confused with signals that carry information. Electrical
signals are also distorted by magnetic fields. These may result in damage
or loss of data during transmission. To guard against corruption of
information caused by random electrical noise, researchers devised
mechanisms to detect and correct the problem. Researchers found that
adding an extra bit called parity bit to a character code before
transmission can help detect errors that occur when transmitting the
character across the network. The extra bit is called parity bit.
Character E will be assigned parity bit 1 because its 7-bit code, 1000101,
contains an odd number of 1 bit. However character S will be assigned a
7-bit code, 1010011, contains an even number of 1 bit.
To make parity checking work, a receiver must test the parity of each
incoming character. The receiver examines all the bits that arrived,
including the parity bit. The receiver declares that an error has occurred
if it finds an odd number of bits turned on and declares that the
character arrived undamaged otherwise. If electrical interference changes
one of the bits during transmission, the receiver rejects the character as
damaged because it will find an odd number of bits turned on. However
parity alone is not enough to detect all possible errors. For this more
powerful techniques are required.
1.2 OSI Model
In 1983, the
International Standards Organization (ISO) developed a model, which would
allow the sending,and receiving of data between two computers. It works
on a layer approach, where each layer is responsible for performing
certain functions.
When we think of how to send data from one computer to another, there are
many different things involved. There are network adapters, voltages and
signals on the cable, how the data is packaged, and error control in case
something goes wrong, and many other concerns. By dividing these into
separate layers, it makes the task of writing software to perform this
much easier.
In
the Open Systems Interconnect model, which allows dissimilar computers to
transfer data between themselves, there are SEVEN distinct layers. The
principles that were applied to arrive at the seven layers are as follows:
1.
A layer should be created where a different level of abstraction is
needed.
2.
Each layer should perform a well-defined function.
3.
The function of each layer should be chosen with an eye toward defining
internationally standardised protocols.
4.
The layer boundaries should be chosen to minimise the information flow
across the interfaces.
5.
The number of layers should large enough that distinct functions need not
be thrown together in the same layer out of necessity and small enough
that the architecture does not become unwieldy.
Below
we will discuss each layer of the model in turn, starting at the bottom
layer (Fig. 1.2).
1.2.1
The Physical Layer:
The
physical layer is concerned with transmitting raw bits over a
communication channel. The design issues have to do with making sure that
when one side sends a 1 bit, it is received by the other side as a 1 bit,
not as a 0 bit. Typical questions here are how many volts
should be used to represent a 1 and how many for a 0, how many
microseconds a bit lasts, whether transmission may proceed simultaneously
in both directions, how the initial connection is established and how it
is torn down when both sides are finished and how many pins the network
connectors has and what each pin is used for. The design issues here
largely deal with mechanical, electrical and procedural interfaces and the
physical transmission medium, which lies below the physical layer.
1.2.2
The Data Link Layer
The
main task of the data link layer is to take a raw transmission facility
and transform it into a line that appears free of undetected transmission
errors to the network layer. It accomplishes this task by having the
sender break the input data up into data frames, transmit the frames
sequentially and process the acknowledgement frames sent back by the
receiver.
1.2.3 The
Network Layer
The network layer is concerned
with controlling the operation of the subnet. A key design issue is
determining how packets are routed from source to destination.
If
too many packets are present in the subnet at the same time, they will get
in each other’s way, forming bottlenecks.
When
a packet has to travel from one network to another to get to its
destination, many problems can arise. The addressing used by the second
network may be different from the first one. The second one may not accept
the packet at all because it is too large. The protocols may differ and so
on. It is up to the network layer to overcome all these problems to allow
heterogeneous networks to be interconnected.
1.2.4
The Transport Layer
The basic function of the
transport layer is to accept data from the session layer, split it up into
smaller units if need be, pass these to the network layer and ensure that
the pieces all arrive correctly at the other hand. Furthermore, all this
must be done efficiently and in a way that isolates the upper layers from
the inevitable changes in the hardware technology.
1.2.5 The Session
Layer
The session layer allows
users on different machines to establish sessions between items. A session
allows ordinary data transport, as does the transport layer, but it also
provides enhanced services useful in some applications. A session might be
used to allow a user to log into a remote time-sharing system or to
transfer a file between two machines.
1.2.6
The Presentation Layer
The presentation layer performs
certain functions that are requested sufficiently often to warrant finding
a general solution for them, rather than letting each user solve the
problems. In particular, unlike all the lower layers, which are just
interested in moving bits reliably from here to there, the presentation
layer is concerned with the syntax and semantics of the information
transmitted.
1.2.7
The Application Layer
The application layer contains a
variety of protocols that are commonly needed.
For
example, there are hundreds of incompatible terminal types in the world.
Consider the plight of a full screen editor that is supposed to work over
a network with many different terminal types, each with different screen
layouts, escape sequence for inserting and deleting text, moving cursor,
etc. One way to solve this problem is to define an abstract network
virtual terminal that editors and other programs can be written to deal
with. To handle each terminal type, a piece of software must be written to
deal with. To handle each terminal type, a piece of software must be
written to map the functions of the network virtual terminal into real
terminal. Another application layer function is file transfer. Different
file systems have different file naming conventions, different ways of
representing text lines and so on. Transferring a file between two
different systems requires handling these and other incompatibilities.
This work too belongs to the application layer, as do electronic mail,
remote job entry, dictionary lookup and various other general purpose and
special purpose facilities.
Data
Transmission in the OSI Model
The
presentation layer may transform this item in various ways and possibly
add a header to the front, giving the result to the session layer. It is
important to realise that the presentation layer is not aware of which
portion of the data given to it by the application layer is AH, if any and
which is true user data.
The
process is repeated until the data reach the physical layer, where they
are actually transmitted to the receiving machine. On that machine the
various headers are stripped off one be one as the message propagates up
the layers until it finally arrives at the receiving process.
The
TCP/IP Reference Model
The
ability to connect multiple networks together in a seamless way was one of
the major design goals from the very beginning. This architecture later
became known as the TCP/IP Reference Model, after its two primary
protocols. It was first defined in Cerf and Kahn, 1974.
The
Internet Layer
All
these requirements let to the choice of the packet-switching network based
on a connectionless internetwork layer. This layer, called the Internet
layer. Its job is to permit hosts to inject packets into any network and
have them travel independently to the destination (potentially on a
different network). They may even arrive in a different order than they
were sent, in which case it is the job of higher layers to rearrange them,
if in-order delivery is desired. Note that “internet” is used here in
the generic sense, even though this layer is present in the Internet.
The
Internet layer defines an official packet format and protocol called IP
(Internet Protocol). The job of the Internet layer is to deliver IP
packets where they are supposed to go. Packet routing is clearly the major
issue here, as is avoiding congestion. For these reason, it is reasonable
to say that the TCP/IP Internet layer is very similar in functionally to
the OSI network layer. Figure 1.4 shows this correspondence.
1.3
Local Area Network (LAN)
Local Area Networks, generally called LANs,
are privately owned networks within a single building or campus of up to a
few kilometers in size. They are widely used to connect personal computers
and workstations in corporate offices and factories to share resources (eg,
printers) and exchange information. LANs are distinguished from other
types of networks by three characteristics: (i) their size; (ii) their
transmission technology; and (iii) their topology.
LANs
often use a transmission technology consisting of a single cable to which,
all the machines are attached-like the telephone company once used in
rural areas. Traditional LANs run at speeds f 10 to 100 Mbps, have low
delay (tens of microseconds) and make very few errors. Modern LANs may
operate at higher speeds, up to hundreds of megabits per second. In this
book, we shall adhere to tradition and measure line speeds in megabits per
second (Mbps) not in megabits per second. A megabit is equivalent to
1,000,000 bits. Various topologies are available for LAN. Figure 1.5 shows
two of them.
Ethernet
is a bus-based broadcast network with decentralised controls, operating at
10 or 100 Mbps where computers can transmit whenever they want to; if two
or more packets collide, each computer just waits for a random time and
tries again later.
1.4 Wide Area Network
(WAN)
A Wide Area Network (WAN) spans
a large geographical area, often a country or continent. It consists of
large collection of machines intended for running user and is called
hosts.
Scientists
and engineers build networks that connected multiple computers across
large geographic distances. WANs used modems to send signals across long
distance systems. WANs can connect more than two computers across a single
transmission channel. WAN uses computers to unify a set of transmission
lines into a coordinated system.
WAN includes a small-dedicated computer at each site that attaches to the
transmission line and keeps the network operating independently from the
computers that use it. The dedicated computer receives an incoming message
that arrives from another site and delivers it to one of the local
computers. It accepts a message from any local computer and sends message
across a transmission line towards the destination.
1.5 Metropolitan
Area Networks (MANs)
A Metropolitan Area Network or MAN is
basically a bigger version of LAN. It might cover a group of nearby
corporate officers or a city and might be either private or public. A MAN
can support both data and voice and might even be related to the local
cable television networks.
|