Data-link layer is responsible for implementation of point-to-point flow and error control mechanism.
Flow Control
When data frames (Layer-2 data) is sent from one host to another over
a single medium, it is required that the sender and receiver should
work on same speed. That is, sender sends at a speed on which the
receiver can process and accept the data. What if the speed
(hardware/software) of the sender or receiver differs? If sender is
sending too fast the receiver may be overloaded (swamped) and data may
loss.
Two types of mechanism can be deployed in the scenario to control the flow:
Stop and Wait
This flow control mechanism forces the sender after transmitting a
data frame to stop and wait until the acknowledgement of the data-frame
sent is received.
[Image: Stop and Wait Protocol]
Sliding Window
In this flow control mechanism both sender and receiver agrees on the
number of data-frames after which the acknowledgement should be sent.
As we have seen, stop and wait flow control mechanism wastes resources,
this protocol tries to make use of underlying resources as much as
possible.
Error Control
When data-frame is transmitted there are probabilities that
data-frame may be lost in the transit or it is received corrupted. In
both scenarios, the receiver does not receive the correct data-frame and
sender does not know anything about any loss. In these types of cases,
both sender and receiver are equipped with some protocols which helps
them to detect transit errors like data-frame lost. So, either the
sender retransmits the data-frame or the receiver may request to repeat
the previous data-frame.
Requirements for error control mechanism:
Error detection: The sender and receiver, either both or any, must ascertain that there’s been some error on transit.
Positive ACK: When the receiver receives a correct frame, it should acknowledge it.
Negative ACK: When the receiver receives a damaged frame
or a duplicate frame, it sends a NACK back to the sender and the sender
must retransmit the correct frame.
Retransmission: The sender maintains a clock and sets a
timeout period. If an acknowledgement of a data-frame previously
transmitted does not arrive in the timeout period, the sender retransmit
the frame, thinking that the frame or it’s acknowledge is lost in
transit.
There are three types of techniques available which Data-link layer
may deploy to control the errors by Automatic Repeat Requests (ARQ):
Stop-and-wait ARQ
[Image: Stop and Wait ARQ]
The following transition may occur in Stop-and-Wait ARQ:
The sender maintains a timeout counter.
When a frame is sent the sender starts the timeout counter.
If acknowledgement of frame comes in time, the sender transmits the next frame in queue.
If acknowledgement does not come in time, the sender assumes that
either the frame or its acknowledgement is lost in transit. Sender
retransmits the frame and starts the timeout counter.
If a negative acknowledgement is received, the sender retransmits the frame.
Go-Back-N ARQ
Stop and wait ARQ mechanism does not utilize the resources at their
best. For the acknowledgement is received, the sender sits idle and
does nothing. In Go-Back-N ARQ method, both sender and receiver
maintains a window. [Image: Go-Back-N ARQ]
The sending-window size enables the sender to send multiple frames
without receiving the acknowledgement of the previous ones. The
receiving-window enables the receiver to receive multiple frames and
acknowledge them. The receiver keeps track of incoming frame’s sequence
number.
When the sender sends all the frames in window, it checks up to what
sequence number it has received positive ACK. If all frames are
positively acknowledged, the sender sends next set of frames. If sender
finds that it has received NACK or has not receive any ACK for a
particular frame, it retransmits all the frames after which it does not
receive any positive ACK.
Selective Repeat ARQ
In Go-back-N ARQ, it is assumed that the receiver does not have any
buffer space for its window size and has to process each frame as it
comes. This enforces the sender to retransmit all the frames which are
not acknowledged. [Image: Selective Repeat ARQ]
In Selective-Repeat ARQ, the receiver while keeping track of sequence
numbers, buffers the frames in memory and sends NACK for only frame
which is missing or damaged.
The sender in this case, sends only packet for which NACK is received.
There are many reasons such as noise, cross-talk etc., which may help
data to get corrupted during transmission. The upper layers works on
some generalized view of network architecture and are not aware of
actual hardware data processing. So, upper layers expect error-free
transmission between systems. Most of the applications would not
function expectedly if they receives erroneous data. Applications such
as voice and video may not be that affected and with some errors they
may still function well.
Data-link layer uses some error control mechanism to ensure that
frames (data bit streams) are transmitted with certain level of
accuracy. But to understand how errors is controlled, it is essential
to know what types of errors may occur.
There may be three types of errors:
Single bit error: [Image: Single bit error]
In a frame, there is only one bit, anywhere though, which is corrupt.
Multiple bits error: [Image: Multiple bits error]
Frame is received with more than one bits in corrupted state.
Error control mechanism may involve two possible ways:
Error detection
Error correction
Error Detection
Errors in the received frames are detected by means of Parity Check
and CRC (Cyclic Redundancy Check). In both scenario, few extra bits are
sent along with actual data to confirm that bits received at other end
are same as they were sent. If the checks at receiver’s end fails, the
bits are corrupted.
Parity Check
One extra bit is sent along with the original bits to make number of
1s either even, in case of even parity or odd, in case of odd parity.
The sender while creating a frame counts the number of 1s in it, for
example, if even parity is used and number of 1s is even then one bit
with value 0 is added. This way number of 1s remain even. Or if the
number of 1s is odd, to make it even a bit with value 1 is added. [Image: Even Parity]
The receiver simply counts the number of 1s in a frame. If the count
of 1s is even and even parity is used, the frame is considered to be
not-corrupted and is accepted. If the count of 1s is odd and odd parity
is used, the frame is still not corrupted.
If a single bit flips in transit, the receiver can detect it by
counting the number of 1s. But when more than one bits are in error it
is very hard for the receiver to detect the error
Cyclic Redundancy Check
CRC is a different approach to detect if the frame received contains
valid data. This technique involves binary division of the data bits
being sent. The divisor is generated using polynomials. The sender
performs a division operation on the bits being sent and calculates the
remainder. Before sending the actual bits, the sender adds the
remainder at the end of the actual bits. Actual data bits plus the
remainder is called a codeword. The sender transmits data bits as
codewords. [Image: CRC in action]
At the other end, the receiver performs division operation on
codewords using the same CRC divisor. If the remainder contains all
zeros the data bits are accepted, otherwise there has been some data
corruption occurred in transit.
Error Correction
In digital world, error correction can be done in two ways:
Backward Error Correction: When the receiver detects an error in the data received, it requests back the sender to retransmit the data unit.
Forward Error Correction: When the receiver detects some
error in the data received, it uses an error-correcting code, which
helps it to auto-recover and correct some kinds of errors.
The first one, Backward Error Correction, is simple and can only be
efficiently used where retransmitting is not expensive, for example
fiber optics. But in case of wireless transmission retransmitting may
cost too much. In the latter case, Forward Error Correction is used.
To correct the error in data frame, the receiver must know which bit
(location of the bit in the frame) is corrupted. To locate the bit in
error, redundant bits are used as parity bits for error detection. If
for example, we take ASCII words (7 bits data), then there could be 8
kind of information we need. Up to seven information to tell us which
bit is in error and one more to tell that there is no error.
For m data bits, r redundant bits are used. r bits can provide 2r
combinations of information. In m+r bit codeword, there is possibility
that the r bits themselves may get corrupted. So the number of r bits
used must inform about m+r bit locations plus no-error information, i.e.
m+r+1.
Data Link Layer is second layer of OSI Layered Model. This layer is
one of the most complicated layers and has complex functionalities and
liabilities. Data link layers hides the details of underlying hardware
and represents itself to upper layer as the medium to communicate.
Data link layer works between two hosts which are directly connected
in some sense. This direct connection could be point to point or
broadcast. Systems on broadcast network are said to be on same link.
The work of data link layer tends to get more complex when it is dealing
with multiple hosts on single collision domain.
Data link layer is responsible for converting data stream to signals
bit by bit and to send that over the underlying hardware. At the
receiving end, Data link layer picks up data from hardware which are in
the form of electrical signals, assembles them in a recognizable frame
format, and hands over to upper layer.
Data link layer has two sub-layers:
Logical Link Control: Deals with protocols, flow-control and error control
Media Access Control: Deals with actual control of media
Functionality of Data-link Layer
Data link layer does many tasks on behalf of upper layer. These are:
Framing:
Data-link layer takes packets from Network Layer and encapsulates
them into Frames. Then, sends each Frame bit-by-bit on the hardware.
At receiver’s end Data link layer picks up signals from hardware and
assembles them into frames.
Addressing:
Data-link layer provides layer-2 hardware addressing mechanism.
Hardware address is assumed to be unique on the link. It is encoded
into hardware at the time of manufacturing.
Synchronization:
When data frames are sent on the link, both machines must be synchronized in order to transfer to take place.
Error Control:
Sometimes signals may have encountered problem in transition and bits
are flipped. These error are detected and attempted to recover actual
data bits. It also provides error reporting mechanism to the sender.
Flow Control:
Stations on same link may have different speed or capacity.
Data-link layer ensures flow control that enables both machine to
exchange data on same speed.
Multi-Access:
Hosts on shared link when tries to transfer data, has great
probability of collision. Data-link layer provides mechanism like
CSMA/CD to equip capability of accessing a shared media among multiple
Systems
Switching is process to forward packets coming in from one port to a
port leading towards the destination. When data comes on a port it is
called ingress, and when data leaves a port or goes out it is called
egress. A communication system may include number of switches and
nodes. At broad level, switching can be divided into two major
categories:
Connectionless: Data is forwarded on behalf of forwarding tables. No previous handshaking is required and acknowledgements are optional.
Connection Oriented: Before switching data to be
forwarded to destination, there is a need to pre-establish circuit along
the path between both endpoints. Data is then forwarded on that
circuit. After the transfer is completed, circuits can be kept for
future use or can be turned down immediately.
Circuit Switching
When two nodes communicates with each other over a dedicated
communication path, it is called circuit switching. There’s a need of
pre-specified route from which data will travel and no other data will
permitted. In simple words, in circuit switching, to transfer data
circuit must established so that the data transfer can take place.
Circuits can be permanent or temporary. Applications which use circuit switching may have to go through three phases:
Establish a circuit
Transfer of data
Disconnect the circuit
[Image: Circuit Switching]
Circuit switching was designed for voice applications. Telephone is
the best suitable example of circuit switching. Before a user can make a
call, a virtual path between caller and callee is established over the
network.
Message Switching
This technique was somewhere in middle of circuit switching and
packet switching. In message switching, the whole message is treated as
a data unit and is switching / transferred in its entirety.
A switch working on message switching, first receives the whole
message and buffers it until there are resources available to transfer
it to the next hop. If the next hop is not having enough resource to
accommodate large size message, the message is stored and switch waits. [Image: Message Switching]
This technique was considered substitute to circuit switching. As in
circuit switching the whole path is blocked for two entities only.
Message switching is replaced by packet switching. Message switching
has some drawbacks:
Every switch in transit path needs enough storage to accommodate entire message.
Because of store-and-forward technique and waits included until resources available, message switching is very slow.
Message switching was not a solution for streaming media and real-time applications.
Packet Switching
Shortcomings of message switching gave birth to an idea of packet
switching. The entire message is broken down into smaller chunks called
packets. The switching information is added in the header of each
packet and transmitted independently.
It is easier for intermediate networking devices to store smaller
size packets and they do not take much resources either on carrier path
or in the switches’ internal memory. [Image: Packet Switching]
Packet switching enhances line efficiency as packets from multiple
applications can be multiplexed over the carrier. The internet uses
packet switching technique. Packet switching enables the user to
differentiate data streams based on priorities. Packets are stored and
forward according to their priority to provide Quality of Service.
Multiplexing is a technique by which different analog and digital
streams of transmission can be simultaneously processed over a shared
link. Multiplexing divides the high capacity medium into low capacity
logical medium which is then shared by different streams.
Communication is possible over the air (radio frequency), using a
physical media (cable) and light (optical fiber). All mediums are
capable of multiplexing.
When more than one senders tries to send over single medium, a device
called Multiplexer divides the physical channel and allocates one to
each. On the other end of communication, a De-multiplexer receives data
from a single medium and identifies each and send to different
receivers.
Frequency Division Multiplexing
When the carrier is frequency, FDM is used. FDM is an analog
technology. FDM divides the spectrum or carrier bandwidth in logical
channels and allocates one user to each channel. Each user can use the
channel frequency independently and has exclusive access of it. All
channels are divided such a way that they do not overlap with each
other. Channels are separated by guard bands. Guard band is a
frequency which is not used by either channel. [Image: Frequency Division Multiplexing]
Time Division Multiplexing
TDM is applied primarily on digital signals but can be applied on
analog signals as well. In TDM the shared channel is divided among its
user by means of time slot. Each user can transmit data within the
provided time slot only. Digital signals are divided in frames,
equivalent to time slot i.e. frame of an optimal size which can be
transmitted in given time slot.
TDM works in synchronized mode. Both ends, i.e. Multiplexer and
De-multiplexer are timely synchronized and both switch to next channel
simultaneously. [Image: Time Division Multiplexing]
When at one side channel A is transmitting its frame, on the other
end De-multiplexer providing media to channel A. As soon as its channel
A’s time slot expires this side switches to channel B. On the other
end De-multiplexer behaves in a synchronized manner and provides media
to channel B. Signals from different channels travels the path in
interleaved manner.
Wavelength Division Multiplexing
Light has different wavelength (colors). In fiber optic mode,
multiple optical carrier signals are multiplexed into on optical fiber
by using different wavelengths. This is an analog multiplexing
technique and is done conceptually in the same manner as FDM but uses
light as signals. [Image: Wavelength Division Multiplexing]
Further, on each wavelength Time division multiplexing can be incorporated to accommodate more data signals.
Code Division Multiplexing
Multiple data signals can be transmitted over a single frequency by
using Code Division Multiplexing. FDM divides the frequency in smaller
channels but CDM allows its users to full bandwidth and transmit signals
all the time using a unique Code. CDM uses orthogonal codes to spread
signals.
Each station is assigned with a unique code, called chip. Signals
travels with these codes independently travelling inside the whole
bandwidth. The receiver in this case, knows in advance chip code signal
it has to receive signals.
Wireless transmission is a form of unguided
media. Wireless communication involves no physical link established
between two or more devices, communicating wirelessly. Wireless signals
are spread over in the air and are received and interpret by
appropriate antennas.
When an antenna is attached to electrical circuit of a computer or
wireless device, it converts the digital data into wireless signals and
spread all over within its frequency range. The receptor on the other
end receives these signals and converts them back to digital data.
A little part of electromagnetic spectrum can be used for wireless transmission.
[Image: Electromagnetic Spectrum]
Radio Transmission
Radio frequency is easier to generate and because of its large
wavelength it can penetrate through walls and alike structures. Radio
waves can have wavelength from 1 mm – 100,000 km and have frequency
ranging from 3 Hz (Extremely Low Frequency) to 300 GHz (Extremely High
Frequency). Radio frequencies are sub-divided into six bands.
Radio waves at lower frequencies can travel through walls whereas
higher RF travel in straight line and bounces back. The power of low
frequency waves decreases sharply as it covers longer distance. High
frequency radio waves have more power.
Lower frequencies like (VLF, LF, MF bands) can travel on the ground up to 1000 kilometers, over the earth’s surface.
[Image: Radio wave - grounded]
Radio waves on high frequencies are prone to be absorbed by rain and
other obstacles. They use Ionosphere of earth atmosphere. High
frequency radio waves such as HF and VHF bands are spread upwards. When
it reaches Ionosphere it is refracted back to the earth.
[Image: Radio wave - Ionosphere]
Microwave Transmission
Electromagnetic waves above 100 MHz tend to travel in a straight line
and signals over them can be sent by beaming those waves towards one
particular station. Because Microwaves travels in straight lines, both
sender and receiver must be aligned to be strictly in line-of-sight.
Microwaves can have wavelength ranging from 1 mm – 1 meter and frequency ranging from 300 MHz to 300 GHz.
[Image: Microwave Transmission]Microwave antennas concentrate the waves making a beam of
it. As shown in picture above multiple antennas can be aligned to reach
farther. Microwaves are higher frequencies and do not penetrate wall
like obstacles.
Microwaves transmission depends highly upon the weather conditions and the frequency it is using.
Infrared Transmission
Infrared waves lies in between visible
light spectrum and microwaves. It has wavelength of 700 nm to 1 mm and
frequency ranges from 300 GHz to 430 THz.
Infrared waves are used for very short range communication purposes
such as television and it’s remote. Infrared travels in a straight line
so they are directional by nature. Because of high frequency range,
Infrared do not cross wall like obstacles.
Light Transmission
Highest most electromagnetic spectrum which can be used for data
transmission is light or optical signaling. This is achieved by means
of LASER.
Because of frequency light uses, it tends to travel strictly in
straight line. So the sender and receiver must be in the line-of-sight.
Because laser transmission is unidirectional, at both ends of
communication laser and photo-detectors needs to be installed. Laser
beam is generally 1mm wide so it is a work of precision to align two far
receptors each pointing to lasers source.
[Image: Light Transmission]
Laser works as Tx (transmitter) and photo-detectors works as Rx (receiver).
Lasers cannot penetrate obstacles like walls, rain and thick fog.
Additionally, laser beam is distorted by wind and atmosphere temperature
or variation in temperature in the path.
Laser are safe for data transmission as it is very difficult to tap
1mm wide laser without interrupting the communication channel.
One of the most convenient way to transfer data from one computer to
another, even before the birth of networking, was to save it on some
storage media and transfer physical from one station to another. Though
it may seem odd in today’s world of high speed Internet, but when the
size of data to transfer is huge, Magnetic media comes into play.
For an example, say a Bank has Gigs of bytes of their customers’ data
which stores a backup copy of it at some geographically far place for
security and uncertain reasons like war or tsunami. If the Bank needs
to store its copy of data which is Hundreds of GBs, transfer through
Internet is not feasible way. Even WAN links may not support such high
speed or if they do cost will be too high to afford.
In these kinds of cases, data backup is stored onto magnetic tapes or
magnetic discs and then shifted physically at remote places.
Twisted Pair Cable
A twisted pair cable is made of two plastic insulated copper wires
twisted together to form a single media. Out of these two wires only
one carries actual signal and another is used for ground reference. The
twists between wires is helpful in reducing noise (electro-magnetic
interference) and crosstalk.
[Image: Twisted Pairs]
There are two types of twisted pair cables available:
Shielded Twisted Pair (STP) Cable
Unshielded Twisted Pair (UTP) Cable
STP cables comes with twisted wire pair covered in metal foil. This makes it more indifferent to noise and crosstalk.
UTP has seven categories, each suitable for specific use. In
computer networks, Cat-5, Cat-5e and Cat-6 cables are mostly used. UTP
cables are connected by RJ45 connectors.
Coaxial Cable
Coaxial cables has two wires of copper. The core wire lies in center
and is made of solid conductor. Core is enclosed in an insulating
sheath. Over the sheath the second wire is wrapped around and that too
in turn encased by insulator sheath. This all is covered by plastic
cover.
[Image: Coaxial Cable]
Because of its structure coax cables are capable of carrying high
frequency signals than that of twisted pair cables. The wrapped
structure provides it a good shield against noise and cross talk.
Coaxial cables provide high bandwidth rates of up to 450 mbps.
There are three categories of Coax cables namely, RG-59 (Cable TV),
RG-58 (Thin Ethernet) and RG-11 (Thick Ethernet. RG stands for Radio
Government.
Cables are connected using BNC connector and BNC-T. BNC terminator is used to terminate the wire at the far ends.
Power Lines
Power Line communication is Layer-1 (Physical Layer) technology which
uses power cables to transmit data signals. Send in PLC modulates data
and sent over the cables. The receiver on the other end de-modulates
the data and interprets.
Because power lines are widely deployed, PLC can make all powered devices controlled and monitored. PLC works in half-duplex.
Two types of PLC exists:
Narrow band PLC
Broad band PLC
Narrow band PLC provides lower data rates up to 100s of kbps, as they
work at lower frequencies (3-5000 kHz). But can be spread over several
kilometers.
Broadband PLC provides higher data rates up to 100s of Mbps and works
at higher frequencies (1.8 – 250 MHz). But cannot be much extended as
Narrowband PLC.
Fiber Optics
Fiber Optic works on the properties of light. When light ray hits at
critical angle it tends to refracts at 90 degree. This property has
been used in fiber optic. The core of fiber optic cable is made of high
quality glass or plastic. From one end of it light is emitted, it
travels through it and at the other end light detector detects light
stream and converts it to electric data form.
Fiber Optic provides the highest mode of speed. It comes in two
modes, one is single mode fiber and second is multimode fiber. Single
mode fiber can carries single ray of light whereas multimode is capable
of carrying multiple beams of light.
[Image: Fiber Optics]
Fiber Optic also comes in unidirectional and bidirectional
capabilities. To connect and access Fiber Optic special type of
connectors are used. These can be SC (Subscriber Channel), ST (Straight
Tip) or MT-RJ.
When data in either digital or analog forms needs to be sent over an
analog media it must first be converted into analog signals. There can
be two cases according to data formatting. Bandpass: In real world scenarios, filters are used to filter
and pass frequencies of interest. A bandpass is a band of frequencies
which can pass the filter. Low-pass: Low-pass is a filter that passes low frequencies signals.
When digital data is converted into a bandpass analog signal, it is
called digital-to-analog conversion. When low-pass analog signal is
converted into bandpass analog signal it is called analog-to-analog
conversion.
Digital-to-Analog Conversion
When data from one computer is sent to another via some analog
carrier, it is first converted into analog signals. Analog signals are
modified to reflect digital data, i.e. binary data.
An analog is characterized by its amplitude, frequency and phase.
There are three kinds of digital-to-analog conversions possible:
Amplitude shift keying
In this conversion technique, the amplitude of analog carrier signal is modified to reflect binary data. [Image: Amplitude Shift Keying]
When binary data represents digit 1, the amplitude is held otherwise
it is set to 0. Both frequency and phase remain same as in the original
carrier signal.
Frequency shift keying
In this conversion technique, the frequency of the analog carrier signal is modified to reflect binary data. [Image: Frequency shift keying]
This technique uses two frequencies, f1 and f2. One of them, for
example f1, is chosen to represent binary digit 1 and the other one is
used to represent binary digit 0. Both amplitude and phase of the
carrier wave are kept intact.
Phase shift keying
In this conversion scheme, the phase of the original carrier signal is altered to reflect the binary data. [Image: Phase shift keying]
When a new binary symbol is encountered, the phase of the signal is
altered. Amplitude and frequency of the original carrier signal is kept
intact.
Quadrature Phase Shift Keying
QPSK alters the phase to reflect 2 binary digits at once. This is
done in two different phases. The main stream of binary data is divided
equally into two sub-streams. The serial data is converted in to
parallel in both sub-streams and then each stream is converted to
digital signal using NRZ technique. Later, both the digital signals are
merged together.
Analog-to-analog conversion
Analog signals are modified to represent analog data. This
conversion is also known as Analog Modulation. Analog modulation is
required when bandpass is used. Analog to analog conversion can be done
in three ways:
[Image: Types of Modulation]
Amplitude Modulation
In this modulation, the amplitude of the carrier signal is modified to reflect the analog data. [Image: Amplitude Modulation]
Amplitude modulation is implemented by means of a multiplier. The
amplitude of modulating signal (analog data) is multiplied by the
amplitude of carrier frequency, which then reflects analog data.
The frequency and phase of carrier signal remain unchanged.
Frequency Modulation
In this modulation technique, the frequency of the carrier signal is
modified to reflect the change in the voltage levels of the modulating
signal (analog data). [Image: Frequency Modulation]
The amplitude and phase of the carrier signal are not altered.
Phase Modulation
In the modulation technique, the phase of carrier signal is modulated
in order to reflect the change in voltage (amplitude) of analog data
signal. [Image: Phase Modulation]
Phase modulation practically is similar to Frequency Modulation, but
in Phase modulation frequency of the carrier signal is not increased.
Frequency is carrier is signal is changed (made dense and sparse) to
reflect voltage change in the amplitude of modulating signal.
Data or information can be stored in two ways, analog and digital.
For a computer to use that data is must be in discrete digital form.
Like data, signals can also be in analog and digital form. To transmit
data digitally it needs to be first converted to digital form.
Digital-to-digital conversion
This section explains how to convert digital data into digital
signals. It can be done in two ways, line coding and block coding. For
all communications, line coding is necessary whereas block coding is
optional.
Line Coding
The process for converting digital data into digital signal is said
to be Line Coding. Digital data is found in digital format, which is
binary bits. It is represented (stored) internally as series of 1s and
0s. [Image: Line Coding]
Digital signals which represents digital data, represented as
discrete signals. There are three types of line coding schemes
available: [Image: Line Coding Schemes]
Uni-Polar Encoding
Unipolar encoding schemes uses single voltage level to represent
data. In this case, to represent binary 1 high voltage is transmitted
and to represent 0 no voltage is transmitted. It is also called
Unipolar-Non-return-to-zero, because there’s no rest condition i.e. it
either represents 1 or 0. [Image: UniPolar NRZ Encoding]
Polar Encoding
Polar encoding schemes multiple voltage levels are used to represent
binary values. Polar encodings are available in four types:
Polar-NRZ (Non-return to zero)
It uses two different voltage levels to represent binary values,
generally positive voltage represents 1 and negative value represents 0.
It is also NRZ because there’s no rest condition.
NRZ scheme has two variants: NRZ-L and NRZ-I. [Image: NRZ-L and NRZ-I]
NRZ-L changes voltage level at when a different bit is encountered whereas NRZ-I changes voltage when a 1 is encountered.
RZ (Return to zero)
Problem with NRZ was the receiver cannot conclude when a bit ended
and when the next bit is started, in case when sender and receiver’s
clock are not synchronized. [Image: Return-to-Zero Encoding]
RZ uses three voltage levels, positive voltage to represent 1,
negative voltage to represent 0 and zero voltage for none. Signals
change during bits not between bits.
Manchester
This encoding scheme is a combination of RZ and NRZ-L. Bit time is
divided into two halves. It transitions at the middle of the bit and
changes phase when a different bit is encountered.
Differential Manchester
This encoding scheme is a combination of RZ and NRZ-I. It also
transitions at the middle of the bit but changes phase only when 1 is
encountered.
Bipolar Encoding
Bipolar encoding uses three voltage levels, positive, negative and
zero. Zero voltage represents binary 0 and bit 1 is represented by
altering positive and negative voltages. [Image: Bipolar Encoding]
Block Coding
To ensure accuracy of data frame received, redundant bits are used.
For example, in even parity one parity bit is added to make the count of
1s in the frame even. This way the original number of bits are
increased. It is called Block Coding.
Block coding is represented by slash notation, mB/nB, that is m-bit
block is substituted with n-bit block where n > m. Block coding
involves three steps: division, substitution and combination.
After block coding is done it is line coded for transmission.
Analog-to-digital conversion
Microphones creates analog voice and camera creates analog videos,
which here in our case is treated is analog data. To transmit this
analog data over digital signals we need an analog to digital
conversion.
Analog data is wave form continuous stream of data whereas digital
data is discrete. To convert analog wave into digital data we use Pulse
Code Modulation.
Pulse Code Modulation is one of the most commonly used method to
convert analog data into digital form. It involves three steps:
Sampling, Quantization and Encoding.
Sampling
[Image: Sampling of Analog Signal]
The analog signal is sampled every T interval. Most important factor
in sampling is the rate on which analog signal is sampled. According
to Nyquist Theorem, the sampling rate must be at least two times of the
highest frequency of the signal.
Quantization
[Image: Quantization of sampled analog signal]
Sampling yields discrete form of continuous analog signal. Every
discrete pattern shows the amplitude of the analog signal at that
instance. The quantization is done between the maximum amplitude value
and the minimum amplitude value. Quantization is approximation of the
instantaneous analog value.
Encoding
[Image: Encoding from quantization]
In encoding, each approximated value is then converted into binary format.
Transmission Modes
How data is to be transferred between to computer is decided by the
transmission mode they are using. Binary data i.e. 1s and 0s can be
sent in two different modes: Parallel and Serial.
Parallel Transmission
[Image: Parallel Transmission]
The binary bits are organized in to groups of fixed length. Both
sender and receiver are connected in parallel with the equal number of
data lines. Both computer distinguish between high order and low order
data lines. The sender sends all the bits at once on all lines.
Because data lines are equal to the number of bits in a group or data
frame, a complete group of bits (data frame) is sent in one go.
Advantage of Parallel transmission is speed and disadvantage is the cost
of wires, as it is equal to the number of bits needs to send
parallelly.
Serial Transmission
In serial transmission, bits are sent one after another in a queue
manner. Serial transmission requires only one communication channel as
oppose parallel transmission where communication lines depends upon bit
word length. [Image: Serial Transmission]
Serial transmission can be either asynchronous or synchronous.
Asynchronous Serial Transmission
It is named so because there’s no importance of timing. Data-bits
have specific pattern and helps receiver recognize when the actual data
bits start and where it ends. For example, a 0 is prefixed on every
data byte and one or more 1s added at the end.
Two continuous data-frames (bytes) may have gap between them.
Synchronous Serial Transmission
It is up to the receiver to recognize and separate bits
into bytes. The advantage of synchronous transmission is speed and it
has no overhead of extra header and footer bits as in asynchronous
transmission.
Physical layer in the OSI model plays the role of interacting with
actual hardware and signaling mechanism. Physical layer is the only
layer of OSI which actually deals with the physical connectivity two
different stations. This layer defines the hardware equipments,
cabling, wiring, frequencies, pulses used to represent binary signals
etc.
Physical layer provides its services to Data-link layer. Data-link
layer hands over frames to physical layer and physical layer converts it
to electrical pulses which represents binary data and sends over to the
wired or wireless media.
Signals
When data is sent over physical medium it needs to be first converted
into electromagnetic signals. Data itself can be analog such as human
voice, or digital such as file on the disk. Data (both analog and
digital) can be represented in digital or analog signals.
Digital Signals
Digital signals are discrete in nature and represents sequence of
voltage pulses. Digital signals are used within the circuitry of a
computer system.
Analog Signals
Analog signals are in continuous wave form in nature and represented by continuous electromagnetic waves.
Transmission impairment
When signals travel through the medium they tend to deteriorate. This may have many reasons:
Attenuation:
When signal passes through the medium it tends to get weaker as it
covers distance. It loses is strength. For the receiver to interpret
the data signal must be sufficiently strong.
Dispersion:
As signal travels through the media it tends to spread and overlaps. The amount of dispersion depends upon the frequency used.
Delay distortion:
Signals are sent over media with pre-defined speed and frequency. If
the signal speed (velocity) and frequency does not match, there are
possibilities that signal reach destination in arbitrary fashion. In
digital media, this is very critical that some bits reach earlier than
the previously sent.
Noise:
Random disturbance or fluctuation in analog or digital signals is
said to be Noise in signal, which may distort the actual information
being carried. Noise can be characterized in one of the following
class:
Thermal Noise:
Heat agitates the electronic conductors of a medium which may
introduce noise in the media. Up to a certain level thermal noise is
unavoidable.
Intermodulation:
When more than frequency shares a medium their interference can
cause noise in the media. Intermodulation noise occurs say, if two
different frequencies sharing a media and one of them has excessive
strength or the component itself is not functioning properly, then the
resultant frequency may not be delivered as expected.
Crosstalk:
This sort of noise happens when a foreign signal enters into the
media. This is because signal in one media is affecting the signal of
second media.
Impulse:
This noise is introduced because of irregular disturbances like
lightening, electricity short-circuit or faulty components. Digital
data is mostly affected by this sort of noise.
Transmission Media
The medium over which the information between two computer systems is
sent, called Transmission Media. Transmission media comes in two
forms.
Guided Media
All communication wires/cables comes into this type of media, such as
UTP, Coaxial and Fiber Optics. In this media the sender and receiver
are directly connected and the information is send (guided) through it.
Unguided Media
Wireless or open air space is said to be unguided media, because
there is no connectivity between the sender and receiver. Information
is spread over the air, and anyone including the actual recipient may
collect the information.
Channel Capacity
The speed of transmission of information is said to be the channel
capacity. We count it as data rate in digital world. It depends on
numerous factors:
Bandwidth: The physical limitation of underlying media.
Error-rate: Incorrect reception of information because of noise.
Encoding: number of levels used for signaling.
Multiplexing
Multiplexing is a technique to mix and send multiple data stream over
a single media. This technique requires system hardware called
Multiplexer for multiplexing streams and sending them on a media and
De-Multiplexer which takes information from the media and distributes to
different destinations.
Switching
Switching is a mechanism by which data/information sent from source
towards destination which are not directly connected. Networks have
interconnecting devices, which receives data from directly connected
sources, stores data, analyze it and then forwards to the next
interconnecting device closest to the destination.
Switching can be categorized as: [Image: Switching]
When first networking was used, it was limited to Military and
Universities for Research and development purposes. Later when all
networks merge together and formed Internet, user’s data use to travel
through public transit network, where users are not scientists or
computer science scholars. Their data can be highly sensitive as bank’s
credentials, username and passwords, personal documents, online
shopping or secret official documents.
All security threats are intentional i.e. they occur only if
intentionally triggered. Security threats can be divided into the below
mentioned categories:
Interruption:
Interruption is a security threat in which availability of
resources is attacked. For example, a user is unable to access its
web-server or the web-server is hijacked.
Privacy-breach:
In this threat, the privacy of a user is compromised. Someone,
who is not the authorized person is accessing or intercepting data sent
or received by the original authenticated user.
Integrity:
This type of threat includes any alteration or modification in
the original context of communication. The attacker intercepts and
receives the data sent by the Sender and the attacker then either
modifies or generate false data and sends to the receiver. The receiver
receive data assuming that it is being sent by the original Sender.
Authenticity:
When an attacker or security breacher, represents himself as if
he is the authentic person and access resources or communicate with
other authentic users.
No technique in the present world can provide 100% security. But
steps can be taken to secure data while it travels in unsecured network
or internet. The most widely used technique is Cryptography. [Image: Cryptography]
Cryptography is a technique to encrypt the plain-text data which
makes it difficult to understand and interpret. There are several
cryptographic algorithm available present day as described below:
Secret Key
Public Key
Message Digest
Secret Key Encryption
Both sender and receiver have one secret key. This secret key is
used to encrypt the data at sender’s end. After encrypting the data, it
is then sent on the public domain to the receiver. Because the
receiver knows and has the Secret Key, the encrypted data packets can
easily be decrypted.
Example of secret key encryption is DES. In Secret Key encryption it
is required to have a separate key for each host on the network making
it difficult to manage.
Public Key Encryption
In this encryption system, every user has its own Secret Key and it
is not in the shared domain. The secret key is never revealed on public
domain. Along with secret key, every user has its own but public key.
Public key is always made public and is used by Senders to encrypt the
data. When the user receives the encrypted data, he can easily decrypt
it by using its own Secret Key.
Example of public key encryption is RSA.
Message Digest
In this method, the actual data is not sent instead a hash value is
calculated and sent. The other end user, computes its own hash value
and compares with the one just received. The both hash values matches,
it is accepted otherwise rejected.
Example of Message Digest is MD5 hashing. It is mostly used in
authentication where user’s password is cross checked with the one saved
at Server.
Networking at engineering level is a complicated task. It involves
software, firmware, chip level engineering, hardware and even electric
pulses. To ease network engineering, the whole networking concept is
divided into multiple layers. Each layer is involved in some particular
task and is independent of all other layers. But as a whole the almost
all networking task depends on all of these layers. Layers share data
between them and they depend on each other only to take input and give
output.
Layered tasks
In layered architecture of Network Models, one whole network process
is divided into small tasks. Each small task is then assigned to a
particular layer which works dedicatedly to process the task only.
Every layer does only specific work.
In layered communication system, one layer of a host deals with the
task done by or to be done by its peer layer at the same level on the
remote host. The task is either initiated by layer at the lowest level
or at the top most level. If the task is initiated by top most layer it
is then passed on to the layer below it for further processing. The
lower layer does the same thing, it processes the task and pass on to
lower layer. If the task is initiated by lowest most layer the reverse
path is taken. [Image: Layered Tasks]
Every layer clubs together all procedures, protocols, methods which
it requires to execute its piece of task. All layers identify their
counterparts by means of encapsulation header and tail.
OSI Model
Open System Interconnect is an open standard for all communication
systems. OSI model is established by International Standard
Organization. This model has seven layers: [Image: OSI Model]
Application Layer: This layer is responsible for providing
interface to the application user. This layer encompasses protocols
which directly interacts with the user.
Presentation Layer: This layer defines how data in the native format of remote host should be presented in the native format of host.
Session Layer: This layer maintains sessions between
remote hosts. For example, once user/password authentication is done,
the remote host maintains this session for a while and does not ask for
authentication again in that time span.
Transport Layer: This layer is responsible for end-to-end delivery between hosts.
Network Layer: This layer is responsible for address assignment and uniquely addressing hosts in a network.
Data Link Layer: This layer is responsible for reading and writing data from and onto the line. Link errors are detected at this layer.
Physical Layer: This layer defines the hardware, cabling and wiring, power output, pulse rate etc.
Internet Model
Internet uses TCP/IP protocol suite, also known as Internet suite.
This defines Internet Model which contains four layered architecture.
OSI Model is general communication model but Internet Model is what
Internet uses for all its communication. Internet is independent of its
underlying network architecture so is its Model. This model has the
following layers: [Image: Internet Model]
Application Layer: This layer defines the protocol which enables user to internet with the network such as FTP, HTTP etc.
Transport Layer: This layer defines how data should flow
between hosts. Major protocol at this layer is Transmission Control
Protocol. This layer ensures data delivered between hosts is in-order
and is responsible for end to end delivery.
Internet Layer: IP works on this layer. This layer facilitates host addressing and recognition. This layer defines routing.
Link Layer: This layer provides mechanism of sending and
receiving actual data. But unlike its OSI Model’s counterpart, this
layer is independent of underlying network architecture and hardware.
A Network Topology is the way computer systems or network equipment
connected to each other. Topologies may define both physical and
logical aspect of the network. Both logical and physical topologies
could be same or different in a same network.
Point-to-point
Point-to-point networks contains exactly two hosts (computer or
switches or routers or servers) connected back to back using a single
piece of cable. Often, the receiving end of one host is connected to
sending end of the other end and vice-versa. [Image: Point-to-point Topology]
If the hosts are connected point-to-point logically, then may have
multiple intermediate devices. But the end hosts are unaware of
underlying network and see each other as if they are connected directly.
Bus Topology
In contrast to point-to-point, in bus topology all device share
single communication line or cable. All devices are connected to this
shared line. Bus topology may have problem while more than one hosts
sending data at the same time. Therefore, the bus topology either uses
CSMA/CD technology or recognizes one host has Bus Master to solve the
issue. It is one of the simple forms of networking where a failure of a
device does not affect the others. But failure of the shared
communication line make all other devices fail. [Image: Bus Topology]
Both ends of the shared channel have line terminator. The data is
sent in only one direction and as soon as it reaches the extreme end,
the terminator removes the data from the line.
Star Topology
All hosts in star topology are connected to a central device, known
as Hub device, using a point-to-point connection. That is, there exists
a point to point connection between hosts and Hub. The hub device can
be Layer-1 device (Hub / repeater) or Layer-2 device (Switch / Bridge)
or Layer-3 device (Router / Gateway). [Image: Star Topology]
As in bus topology, hub acts as single point of failure. If hub
fails, connectivity of all hosts to all other hosts fails. Every
communication happens between hosts, goes through Hub only. Star
topology is not expensive as to connect one more host, only one cable is
required and configuration is simple.
Ring Topology
In ring topology, each host machine connects to exactly two other
machines, creating a circular network structure. When one host tries to
communicate or send message to a host which is not adjacent to it, the
data travels through all intermediate hosts. To connect one more host
in the existing structure administrator may need only one more extra
cable. [Image: Ring Topology]
Failure of any host results in failure of the whole ring. Thus every
connection in the ring is point of failure. There exists methods which
employs one more backup ring.
Mesh Topology
In this type of topology, a host is connected to one or two or more
than two hosts. This topology may have hosts having point-to-point
connection to every other hosts or may also have hosts which are having
point to point connection to few hosts only. [Image: Full Mesh Topology]
Hosts in Mesh topology also work as relay for other hosts which do
not have direct point-to-point links. Mesh technology comes into two
flavors:
Full Mesh: All hosts have a point-to-point connection to
every other host in the network. Thus for every new host n(n-1)/2
cables (connection) are required. It provides the most reliable network
structure among all network topologies.
Partially Mesh: Not all hosts have point-to-point connection
to every other host. Hosts connect to each other in some arbitrarily
fashion. This topology exists where we need to provide reliability to
some host whereas others are not as such necessary.
Tree Topology
Also known as Hierarchical Topology is the most common form of
network topology in use present day. This topology imitates as extended
Star Topology and inherits properties of Bus topology.
This topology divides the network in to multiple levels/layers of
network. Mainly in LANs, a network is bifurcated into three types of
network devices. The lowest most is access-layer where user’s computer
are attached. The middle layer is known as distribution layer, which
works as mediator between upper layer and lower layer. The highest most
layer is known as Core layer, and is central point of the network, i.e.
root of the tree from which all nodes fork. [Image: Tree Topology]
All neighboring hosts have point-to-point connection between them.
Like bus topology, if the root goes down, the entire network suffers.
Though it is not the single point of failure. Every connection serves
as point of failure, failing of which divides the network into
unreachable segment and so on.
Daisy Chain
This topology connects all its hosts in a linear fashion. Similar to
Ring topology, all hosts in this topology are connected to two hosts
only, except the end hosts. That is if the end hosts in Daisy Chain are
connected then it represents Ring topology. [Image: Daisy Chain Topology]
Each link in Daisy chain topology represents single point of failure.
Every link failure splits the network into two segment. Every
intermediate host works as relay for its immediate hosts.
Hybrid Topology
A network structure whose design contains more than one topology is
said to be Hybrid Topology. Hybrid topology inherits merits and
demerits of all the incorporating topologies. [Image: Hybrid Topology]
The above picture represents an arbitrarily Hybrid topology. The
combining topologies may contain attributes of Star, Ring, Bus and
Daisy-chain topologies. Most WANs are connected by means of dual Ring
topology and networks connected to them are mostly Star topology
networks. Internet is the best example of largest Hybrid topology