Connection Less Transport: UDP

With the reliable data transfer, we have no loss of data, corrupted data. This is a service offered by TCP. The RDT or Reliable Data Transfer Protocol takes the responsibility to implement this kind of abstraction. RDT is implemented above an unreliable protocol, which makes the task difficult. For instance, TCP is implemented over an unreliable protocol like IP.

Building of RDT Protocol based on the sender and the receiver process.

Assumptions made:

  1. Packets are delivered in the order in which they are sent.
  2. Some packets will be lost
  3. Sending side of the data packet is invoked from rdt_send()
  4. On receiving side rdt_rcv() will be called.
  5. We use deliver_data() to used to deliver data to the upper layer.
  6. Considering only a unidirectional data transfer i,e transfer of data from sender to the reciever
  7. In between the send and receive path we have udt_send()
  1. Reliable Data Transfer over a perfectly reliable Channel 1.0
    1. Sending the revi
      1. Here we send the data via rdt_send(data) function call to the higher level
      2. then on the action part we make the packet using make_packet(data) and later send it to higher level using the udt_send(packet)
        rdt1.0 sender-receiver process transition states
  2. Reliable Data Transfer over a channel with Bit Errors: rdt2.0