Open In App

Noisy Channels Protocols

Last Updated : 19 Jul, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

Noisy channel protocols are commonly known as communication protocols. These protocols are designed to ensure a reliable data transmission over a channel in which there is a high probability of errors or data loss. In computer networks, these protocols are typically used to overcome the effects of channel noise during data transmission which can result from electromagnetic interference, attenuation etc. that cause signal degradation. So, noisy channel protocols perform an important role to ensure reliable communication in computer networks, especially in environments where channel noise is a significant concern.  

Example 1

A very known example of a noisy channel protocol is the Automatic Repeat Request (ARQ) protocol. ARQ protocol is basically used in many network protocols, such as TCP. It ensures reliable data transmission. The workflow ARQ is very simple as it sends data packets and requests acknowledgement of receipt from the receiver end. If the sender does not receive an acknowledgement from the receiver within a specified time period, it assumes that the packet was lost or corrupted and resends it.  

Let’s how many types of ARQs are there where noisy protocols are used:

 Stop-and-Wait Automatic Repeat Request

Stop-and-Wait Automatic Repeat Request(ARQ) is a common type of error control protocol widely used in computer networks to ensure reliable data transmission. This protocol works by transmitting a single data packet and waiting for an acknowledgement before sending the next packet. In this ARQ protocol, the sender sends a data packet to the receiver and waits for an acknowledgement from the receiver side. The receiver after receiving the packet, sends an acknowledgement back to the sender indicating that the packet has been successfully received. If the sender does not receive an acknowledgement from the receiver side within a specified time frame then the sender retransmits the packet. So, this protocol is called “stop-and-wait” because the sender must wait for the acknowledgement before sending the next packet. Roe that reason the protocol became relatively slow, as it does not allow for pipelining or sending multiple packets at once. This protocol is commonly used in such situations where data loss is not frequent or where the cost of retransmitting a lost packet is low.

 Stop-and-Wait Automatic Repeat Request

Go-Back-N Automatic Repeat Request

Go-Back-N Automatic Repeat Request(ARQ) is also an error control protocol used in computer networks to ensure reliable data transmission. It this protocol the sender is allowed to transmit multiple packets before waiting for an acknowledgement which improves the efficiency of data transmission. In this protocol the sender sends multiple numbers of packets to the receiver without waiting for an acknowledgement for each packet. The receiver receives the data packets and sends an acknowledgement for the last correctly received packet only. If the sender does not receive an acknowledgement from the receiver end within a specified time frame then sender retransmits all packets starting from the last unacknowledged packet. So, this protocol is called “go-back-n” because the sender must go back and retransmit all the packets that were not acknowledged. This means that if a single packet is lost then all the subsequent packets must be retransmitted and this can lead to inefficient use of network resources. This protocol is commonly used in situations where data loss is moderate and network resources are not limited. 

Go-Back-N Automatic Repeat Request

Selective Repeat Automatic Repair Request –

The selective repeat ARQ is like the Go-Back-N ARQ, which lets the user to transmit multiple data packets before they receive any acknowledgment from the server side. But, there is a small difference in this mechanism, unlike the Go-Back-N ARQ, which informs the user to retransmit the entire window of packets sent to it, if any one packet is found erroneous. The Selective Repeat ARQ doesn’t inform the user to retransmit the entire window, as it checks each of the packets one by one and if found any error, then it only retransmits only those faulty packages, not the entire window. In this protocol, the client (packet sender) maintains a timer for each window of packets, now after the successful transmission of packets, if the sender doesn’t receive the ACK package in between a certain time, then the sender retransmits those packets only. Now on the receiver side, if the receiver receives the expected packet properly then it sends back an ACK packet to the sender for the next packet. But if there is any error, then the receiver sends a NAK (Negative Acknowledgement) packet to the sender and asks to retransmit that packet only.

noisy.jpg

Example 2

Forward Error Correction (FEC) is also a example of noisy channel protocol. This is a method of error correction which involves adding redundant information to the data being transmitted. The receiver can use this redundant information to correct errors without requesting retransmission of the data from the sender. In real-time streaming applications this can be particularly useful because here retransmission is not feasible.  


Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads