Sources that describe an example RDT protocol often provide a "version history" to illustrate the development of modern Transport layer techniques, generally resembling the below:
With Reliable Data Transfer 1.0, the data can only be transferred via a reliable data channel. It is the most simple of the Reliable Data Transfer protocols in terms of algorithm processing.
Reliable Data Transfer 2.0 supports reliable data transfer in unreliable data channels. It uses a checksum to detect errors. The receiver sends acknowledgement message if the message is complete, and if the message is incomplete, it sends a negative acknowledgement message and requests the data again.
Reliable Data Transfer 2.1 also supports reliable data transfers in unreliable data channels and uses a checksum to detect errors. However, to prevent duplicate messages, it adds a sequence number to each packet. The receiver sends acknowledgement message with corresponding sequence ID if the data is complete, and sends a negative acknowledgement message with corresponding sequence ID and asks the sender to send again if the message is not complete.
Reliable Data Transfer 3.0, like earlier versions of the protocol, supports reliable data transfer in unreliable data channels, uses checksums to check for errors, and adds sequence numbers to data packets. Additionally, it includes a countdown timer to detect packet loss. If the sender cannot acknowledge specific data in a certain duration, it will consider as packet as lost and will send it again.
"Principle Of Reliable Data Transfer Protocol". geeksforgeeks.org. 28 January 2019. https://www.geeksforgeeks.org/principle-of-reliable-data-transfer-protocol/?ref=lbp ↩
"Reliable Data Transfer: rdt2.2 (sender and receiver actions)". University of Massachusetts Amherst. Retrieved 31 December 2021. https://gaia.cs.umass.edu/kurose_ross/interactive/rdt22.php ↩
"Session 6 – Main Theme Reliable Data Transfer" (PDF). New York University. Retrieved 31 December 2009. https://cs.nyu.edu/~jcf/classes/g22.2262-001_sp10/slides/session6/ReliableDataTransfer.pdf ↩
Anirban Mahanti, Instructor of the University of Calgary. "Slide Serve". Retrieved 31 December 2009. https://www.slideserve.com/nelia/reliable-data-transfer-powerpoint-ppt-presentation ↩