Page 106 - DCAP406_DCAP_207_Computer Networks
P. 106
Unit 7: Data Link Layer
7.1.2 Framing Notes
The data link layer receives a raw bit stream from the physical layer that may not be error free.
To provide a reliable transfer of bit streams to the network layer the data link layer breaks the
bit stream into frames. It then computes the checksum for each frame, which is transmitted with
the frame. The destination host receives a frame and computes another checksum from its data
to compare with the transmitted frame. This ensures the data link layer of the receiver to detect
and correct frames. However, some of the checksum method does not provide correction.
7.1.3 Error Control
It also involves sequencing frames and sending control frames for acknowledgement. A noisy
channel may cause flipping of bits, losing bits from a frame, introducing new bits in the frame,
frames completely disappearing, etc during communication. For reliable communication, the
destination host sends positive or negative acknowledgements accordingly to the source host
within a specified time limit. The source host has a timeout to resend the frame again if it does
not receive an acknowledgement in a given time period from destination host. Also, each
outgoing frame is assigned a sequence number to prevent the destination host data link layer
from passing the same frame more than once to the network layer. This entire affair is an
integral part of data link layer design.
7.1.4 Flow Control
Another important issue in the design of the data link is to control the rate of data transmission
between two source and destination hosts. If there is mismatch between the source and destination
hosts data sending and receiving speed, it will cause dropping of packets at the receiver end.
It further causes the sender to timeout on the acknowledgement packets, causing retransmission.
Thus making the network less efficient.
Task What are the services provided by data link layer to the network layer?
7.2 Error Detection and Correction
It is a collection of methods involving coding to detect errors in transmitted or stored data and
to correct them. We must have studied earlier some of the simplest form of error detection
where we add a parity bit or we perform a cyclic redundancy check. In case of using multiple
parity bits, we can not only detect the error, but also which bits have been inverted, and should
therefore be re-inverted to restore the original data. The more extra bits are added, the greater
the chance that multiple errors will be detectable and correctable. There are different methods
depending upon single error correction, double error detection (SECDEC).
7.2.1 Error Detection Codes
Redundancy
One error detection mechanism that would satisfy these requirements would be to send every
data unit twice. The receiving device would then be able to do a bit-for-bit comparison between
the two versions of the data. Any discrepancy would indicate an error, and an appropriate
LOVELY PROFESSIONAL UNIVERSITY 99