Reliable Data Transfer (RDT) 1.0

RDT 1.0 works on completely (perfectly) reliable channel. For building a Reliable Data Transfer of protocol over a layer we firstly take the simple case of transferring data over a completely reliable channel, the RDT 1.0 is a trivial protocol. This transfer of data is shown by using FSM (finite state machine) which consist of FSM of sender and receiver separately. In RDT 1.0 there is only one state each for sender and receiver, here arrow indicates the transition of protocol from one state to another.





Sending Side:
RDT is simple it takes the data from the above layer in the for of segments it remove the segment header and make the data in the form of packet using make_pkt and sends the packet into the channel using udt_send (unreliable data transfer).







Receiving Side
RDT receives a packet from the underlying channel via the rdt_rcv (packet) removes the data from the packet using extract (packet, data) and passes the data up to the upper-layer. The rdt_rcv (packet)event result from a procedure call i.e. from rdt_rcv() packet from the lower layer of the protocol.

In this protocol there is no difference between a unit of data and a packet, in this all the packets flow from sender to receiver in a uniform manner hence no feedback is required from the receiver side to tell the sender whether the packet is received or not.



My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.