The document discusses the Data Link Layer of the OSI model. It describes the Data Link Layer as the second layer that works to transfer data between two directly connected hosts or systems. The Data Link Layer frames data received from the Network Layer, provides hardware addressing, error detection/correction, and flow control. It consists of the Logical Link Control and Media Access Control sublayers. The document then focuses on specific Data Link Layer functions including framing, addressing, error detection using parity checks and cyclic redundancy checks, error correction using backward and forward error correction, and flow control protocols like stop-and-wait and sliding windows.
The document discusses the Data Link Layer of the OSI model. It describes the Data Link Layer as the second layer that works to transfer data between two directly connected hosts or systems. The Data Link Layer frames data received from the Network Layer, provides hardware addressing, error detection/correction, and flow control. It consists of the Logical Link Control and Media Access Control sublayers. The document then focuses on specific Data Link Layer functions including framing, addressing, error detection using parity checks and cyclic redundancy checks, error correction using backward and forward error correction, and flow control protocols like stop-and-wait and sliding windows.
The document discusses the Data Link Layer of the OSI model. It describes the Data Link Layer as the second layer that works to transfer data between two directly connected hosts or systems. The Data Link Layer frames data received from the Network Layer, provides hardware addressing, error detection/correction, and flow control. It consists of the Logical Link Control and Media Access Control sublayers. The document then focuses on specific Data Link Layer functions including framing, addressing, error detection using parity checks and cyclic redundancy checks, error correction using backward and forward error correction, and flow control protocols like stop-and-wait and sliding windows.
The document discusses the Data Link Layer of the OSI model. It describes the Data Link Layer as the second layer that works to transfer data between two directly connected hosts or systems. The Data Link Layer frames data received from the Network Layer, provides hardware addressing, error detection/correction, and flow control. It consists of the Logical Link Control and Media Access Control sublayers. The document then focuses on specific Data Link Layer functions including framing, addressing, error detection using parity checks and cyclic redundancy checks, error correction using backward and forward error correction, and flow control protocols like stop-and-wait and sliding windows.
Download as PPTX, PDF, TXT or read online from Scribd
Download as pptx, pdf, or txt
You are on page 1of 39
DATA LINK LAYER
DATA COMMUNICATIONS ENGR. JOVETTE A. PECAYO INSTRUCTOR 6
Data-link Layer Introduction
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 Introduction
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 Introduction
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 Introduction
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
Data-link Layer Introduction
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 receivers end Data link layer picks up signals from hardware and assembles them into frames.
Data-link Layer Introduction
Functionality of Data-link Layer 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.
Data-link Layer Introduction
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.
Data-link Layer Introduction
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
Error Detection and Correction
Introduction 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 errorfree 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
Error Detection and Correction
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.
Error Detection and Correction
There may be three types of errors: Single bit error:
In a frame, there is only one bit, anywhere though, which is corrupt.
Error Detection and Correction
Multiple bits error:
Frame is received with more than one bits in corrupted state.
Error Detection and Correction
Burst error:
Frame contains more than1 consecutive bits corrupted.
Error Detection and Correction
Error control mechanism may involve two possible ways: Error detection Error correction
Error Detection and 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 receivers end fails, the bits are corrupted.
Error Detection and Correction
Error Detection 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.
Error Detection and Correction
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 notcorrupted 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
Error Detection and Correction
Error Detection 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
Error Detection and Correction
Error Detection Cyclic Redundancy Check
Error Detection and Correction
Error Detection Cyclic Redundancy Check 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 Detection and Correction
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 errorcorrecting code, which helps it to auto-recover and correct some kinds of errors.
Error Detection and Correction
Error Correction 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.
Error Detection and Correction
Error Correction 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
Error Detection and Correction
Error Correction 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 Control and Protocols
Introductioin Data-link layer is responsible for implementation of point-to-point flow and error control mechanism.
Data-link Control and Protocols
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.
Data-link Control and Protocols
Flow Control 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 dataframe sent is received.
Data-link Control and Protocols
Flow Control Stop and Wait
Data-link Control and Protocols
Flow Control 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.
Data-link Control and Protocols
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.
Data-link Control and Protocols
Requirements for error control mechanism: Error detection: The sender and receiver, either both or any, must ascertain that theres 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
Data-link Control and Protocols
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
Data-link Control and Protocols
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.
Data-link Control and Protocols
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.
Data-link Control and Protocols
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 frames sequence number.
Data-link Control and Protocols
Go-Back-N ARQ 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.
Data-link Control and Protocols
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.
Data-link Control and Protocols
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.