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.
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).
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.
- Reliable Data Transfer (RDT) 2.0
- Principle Of Reliable Data Transfer Protocol
- Asynchronous serial data transfer
- Difference between File Transfer Protocol (FTP) and Secure File Transfer Protocol (SFTP)
- C program for file Transfer using UDP
- Network News Transfer Protocol (NNTP)
- Asynchronous Transfer Mode (ATM) in Computer Network
- File Transfer Protocol (FTP) in Application Layer
- Simple Mail Transfer Protocol (SMTP)
- Data encryption standard (DES) | Set 1
- Electronic Data Interchange
- Host Data Safeguarding
- Framing in Data Link Layer
- Data Compression With Arithmetic Coding
- Shannon-Fano Algorithm for Data Compression
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. 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.