Open In App

Reliable Data Transfer (RDT) 2.2

Improve
Improve
Like Article
Like
Save
Share
Report

The reliable data transfer protocol 2.2 is the successor of RDT 2.1. The prominent change in the RDT 2.2 is the exclusion of Negative acknowledgment. In RDT 2.2 a new field is added to the packet at receiver side acknowledgment with the sequence of the packet sent, This enables the sender to compare the sequence number. If the sequence number doesn’t match the sender acknowledgment the received acknowledgment packet is corrupted and it resends the packet. This packet gets rid of the use of negative acknowledgment. The communication between sender and receiver is enhanced as each keeps a record of the packets sent and received.

Representation in Finite State Machine:

Sender’s FSM:

Reliable Data Transfer (2.2): Sender FSM

Reliable Data Transfer (2.2): Sender FSM

How it works:

State-1(Top-Left): In the figure top-left state called ‘Wait for 0’ is the start, Start state waits until it receives a message from the upper application layer. After it is received as the transport layer it adds a transport layer header added with sequence number ‘0’ sent into the network.

 State-2(Top-Right): In this state, protocol checks whether the packet acknowledgment is corrupt or seq ‘1’ is received as acknowledge. In this case, the sender resends the packet as the transmitted sequence is not equal to the received. If the sender receives a non-corrupt and correct sequence number, It moves to the next state.

 State-3(Bottom-Right): In the figure top-left state called ‘Wait for 1’ waits until it receives a message from the upper application layer. After it is received as the transport layer it adds a transport layer header added with sequence number ‘1’ sent into the network.

 State-4(Bottom-Left): In this state, protocol checks whether the packet acknowledgment is corrupt or seq ‘0’ is received as acknowledge. In this case, the sender resends the packet as the transmitted sequence is not equal to the received. If the sender receives a non-corrupt and correct sequence number, It moves to the next state.

Receiver’s FSM:

Reliable Data Transfer (2.2): Receiver FSM

Reliable Data Transfer (2.2): Receiver FSM

How it works:

The receiver’s FSM is less complex than RDT 2.1 as it got rid of negative acknowledgment.

State-1(Left): If the received packet is corrupt or sequence with ‘1’ it sends acknowledgment with sequence number ‘1’ to it which tells the sender that the packet sent was not in order. If the packet is not corrupt and has sequence number ‘0’ the receiver extracts the data and sends acknowledgment with the sequence ‘0’. It moves to the next state.

State-2(Right): If the received packet is corrupt or sequence with ‘0’ it sends acknowledgment with sequence number ‘0’ to it which tells the sender that the packet sent was not in order. If the packet is not corrupt and has sequence number ‘1’ the receiver extracts the data and sends acknowledgment with the sequence ‘1’. It moves to the next state.

Cons in RDT 2.2:

Protocol RDT 2.2 doesn’t address packet loss.


Last Updated : 31 Aug, 2022
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads