Unit II
Unit II
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.
Types of Errors
There may be three types of errors:
Error detection
Error correction
Error Detection
Errors in the received frames are detected by means of Parity Check and Cyclic Redundancy Check (CRC). In both cases,
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
counter-check at receiver’ end fails, the bits are considered 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 remains even.If the number of 1s is odd, to make it even a
bit with value 1 is added.
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 erro
neous, then it is very hard for the receiver to detect the error.
CRC is a different approach to detect if the received frame 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.
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 it is considered as there some data corruption occurred in transit.
Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified expert to boost
your career.
Error Correction
In the 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 executes error-correcting code,
which helps it to auto-recover and to 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 exactly which bit in the frame is corrupted. To locate the bit in
error, redundant bits are used as parity bits for error detection.For example, we take ASCII words (7 bits data), then there
could be 8 kind of information we need: first seven bits to tell us which bit is error and one more bit 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.
Pure Aloha
Whenever data is available for sending over a channel at
stations, we use Pure Aloha. In pure Aloha, when each
station transmits data to a channel without checking
whether the channel is idle or not, the chances of collision
may occur, and the data frame can be lost. When any
station transmits the data frame to a channel, the pure
Aloha waits for the receiver's acknowledgment. If it does
not acknowledge the receiver end within the specified
time, the station waits for a random amount of time,
called the backoff time (Tb). And the station may assume
the frame has been lost or destroyed. Therefore, it
retransmits the frame until all the data are successfully
transmitted to the receiver.
1. The total vulnerable time of pure Aloha is 2 * Tfr.
2. Maximum throughput occurs when G = 1/ 2 that is
18.4%.
3. Successful transmission of data frame is S = G * e ^ -
2 G.
As we can see in the figure above, there are four stations
for accessing a shared channel and transmitting data
frames. Some frames collide because most stations send
their frames at the same time. Only two frames, frame 1.1
and frame 2.2, are successfully transmitted to the receiver
end. At the same time, other frames are lost or destroyed.
Whenever two frames fall on a shared channel
simultaneously, collisions can occur, and both will suffer
damage. If the new frame's first bit enters the channel
before finishing the last bit of the second frame. Both
frames are completely finished, and both stations must
retransmit the data frame.
Slotted Aloha
The slotted Aloha is designed to overcome the pure
Aloha's efficiency because pure Aloha has a very high
possibility of frame hitting. In slotted Aloha, the shared
channel is divided into a fixed time interval called slots.
So that, if a station wants to send a frame to a shared
channel, the frame can only be sent at the beginning of the
slot, and only one frame is allowed to be sent to each slot.
And if the stations are unable to send data to the
beginning of the slot, the station will have to wait until the
beginning of the slot for the next time. However, the
possibility of a collision remains when trying to send a
frame at the beginning of two or more station time slot.
1. Maximum throughput occurs in the slotted Aloha
when G = 1 that is 37%.
2. The probability of successfully transmitting the data
frame in the slotted Aloha is S = G * e ^ - G.
3. The total vulnerable time required in slotted Aloha is
Tfr.
CSMA (Carrier Sense Multiple Access)
It is a carrier sense multiple access based on media
access protocol to sense the traffic on a channel (idle or
busy) before transmitting the data. It means that if the
channel is idle, the station can send data to the channel.
Otherwise, it must wait until the channel becomes idle.
Hence, it reduces the chances of a collision on a
transmission medium.
CSMA Access Modes
1-Persistent: In the 1-Persistent mode of CSMA that
defines each node, first sense the shared channel and if
the channel is idle, it immediately sends the data. Else it
must wait and keep track of the status of the channel to be
idle and broadcast the frame unconditionally as soon as
the channel is idle.
Non-Persistent: It is the access mode of CSMA that
defines before transmitting the data, each node must sense
the channel, and if the channel is inactive, it immediately
sends the data. Otherwise, the station must wait for a
random time (not continuously), and when the channel is
found to be idle, it transmits the frames.
P-Persistent: It is the combination of 1-Persistent and
Non-persistent modes. The P-Persistent mode defines that
each node senses the channel, and if the channel is
inactive, it sends a frame with a P probability. If the data
is not transmitted, it waits for a (q = 1-p probability)
random time and resumes the frame with the next time
slot.
O- Persistent: It is an O-persistent method that defines
the superiority of the station before the transmission of
the frame on the shared channel. If it is found that the
channel is inactive, each station waits for its turn to
retransmit the data.
CSMA/ CD
It is a carrier sense multiple access/ collision
detection network protocol to transmit data frames. The
CSMA/CD protocol works with a medium access control
layer. Therefore, it first senses the shared channel before
broadcasting the frames, and if the channel is idle, it
transmits a frame to check whether the transmission was
successful. If the frame is successfully received, the
station sends another frame. If any collision is detected in
the CSMA/CD, the station sends a jam/ stop signal to the
shared channel to terminate data transmission. After that,
it waits for a random time before sending a frame to a
channel.
CSMA/ CA
It is a carrier sense multiple access/collision
avoidance network protocol for carrier transmission of
data frames. It is a protocol that works with a medium
access control layer. When a data frame is sent to a
channel, it receives an acknowledgment to check whether
the channel is clear. If the station receives only a single
(own) acknowledgments, that means the data frame has
been successfully transmitted to the receiver. But if it gets
two signals (its own and one more in which the collision
of frames), a collision of the frame occurs in the shared
channel. Detects the collision of the frame when a sender
receives an acknowledgment signal.
Following are the methods used in the CSMA/ CA to
avoid the collision:
Interframe space: In this method, the station waits for
the channel to become idle, and if it gets the channel is
idle, it does not immediately send the data. Instead of this,
it waits for some time, and this time period is called
the Interframe space or IFS. However, the IFS time is
often used to define the priority of the station.
Contention window: In the Contention window, the total
time is divided into different slots. When the station/
sender is ready to transmit the data frame, it chooses a
random slot number of slots as wait time. If the channel
is still busy, it does not restart the entire process, except
that it restarts the timer only to send data packets when
the channel is inactive.
Acknowledgment: In the acknowledgment method, the
sender station sends the data frame to the shared channel
if the acknowledgment is not received ahead of time.
B. Controlled Access Protocol
It is a method of reducing data frame collision on a shared
channel. In the controlled access method, each station
interacts and decides to send a data frame by a particular
station approved by all other stations. It means that a
single station cannot send the data frames unless all other
stations are not approved. It has three types of controlled
access: Reservation, Polling, and Token Passing.
C. Channelization Protocols
It is a channelization protocol that allows the total usable
bandwidth in a shared channel to be shared across
multiple stations based on their time, distance and codes.
It can access all the stations at the same time to send the
data frames to the channel.
Following are the various methods to access the channel
based on their time, distance and codes:
1. FDMA (Frequency Division Multiple Access)
2. TDMA (Time Division Multiple Access)
3. CDMA (Code Division Multiple Access)
FDMA
It is a frequency division multiple access (FDMA)
method used to divide the available bandwidth into equal
bands so that multiple users can send data through a
different frequency to the subchannel. Each station is
reserved with a particular band to prevent the crosstalk
between the channels and interferences of stations.
TDMA
Time Division Multiple Access (TDMA) is a channel
access method. It allows the same frequency bandwidth to
be shared across multiple stations. And to avoid collisions
in the shared channel, it divides the channel into different
frequency slots that allocate stations to transmit the data
frames. The same frequency bandwidth into the shared
channel by dividing the signal into various time slots to
transmit it. However, TDMA has an overhead of
synchronization that specifies each station's time slot by
adding synchronization bits to each slot.
CDMA
The code division multiple access (CDMA) is a channel
access method. In CDMA, all stations can simultaneously
send the data over the same channel. It means that it
allows each station to transmit the data frames with full
frequency on the shared channel at all times. It does not
require the division of bandwidth on a shared channel
based on time slots. If multiple stations send data to a
channel simultaneously, their data frames are separated by
a unique code sequence. Each station has a different
unique code for transmitting the data over a shared
channel. For example, there are multiple users in a room
that are continuously speaking. Data is received by the
users if only two-person interact with each other using the
same language. Similarly, in the network, if different
stations communicate with each other simultaneously
with different code language.
ADVERTISEMENT