Open In App

Reliable Data Transfer (RDT) 1.0

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Share
Report issue
Report

Reliable Data Transfer (RDT) 1.0 works on a perfectly reliable channel, that is, it assumes that the underlying channel has:

  1. No bit errors and
  2. No loss of packets

This transfer of data is shown by using FSM (finite state machine). In RDT 1.0, there is only one state each for sender and receiver.

Sender Side: When the sender sends data from the application layer, RDT simply accepts data from the upper layer via the rdt_send(data) event. Then it puts the data into a packet (via the make_pkt(packet,data) event) and sends the packet into the channel using the udp_send(packet) event.

RDT1.0: Sender side FSM

Receiving Side: On receiving data from the channel, RDT simply accepts data via the rdt_rcv(data) event. Then it extracts the data from the packet (via the extract(packet, data)) and sends the data to the application layer using the deliver_data(data) event.

RDT1.0: Receiving Side FSM

No feedback is required by the receiving side as the channel is perfectly reliable, that is, no errors are possible during the data transmission through the underlying channel.


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