Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Reliable Data Transfer (RDT), Go-Back-N (GBN) and Selective Repeat (SR)

Tags:

tcp

I'm taking a course on networking right now and trying to understand where the three protocols are used. I understand that they are efforts to make the unreliable link layer (IP) reliable.

Are they actually implemented anywhere? Does TCP implement any of them? And for that matter, are there any other protocols that operate on the transport layer other than TCP and UDP?

I'm using the book Computer Networking by Kurose & Ross.

Any help is greatly appreciated!

like image 735
connorbode Avatar asked Nov 22 '25 18:11

connorbode


1 Answers

"where the three protocols are used. I understand that they are efforts to make the unreliable link layer (IP) reliable."

First, do not get RDT confused with GBN and SR because GBN and SR are RDT protocols. When we talk about RDT, it's like we are talking in general.. RDT specifies the requirements of a reliable data transfer protocol, the requirements are retransmission, error detection, and acknowledgments. As long as any protocol (maybe one that you make and get approved IETF :) ) satisfies those requirements can be considered a rdt protocol. Good examples of rdt are SW (stop and wait), GBN, and SR.

That answers first question, except I cant help myself to mention the error you at the end of the question, not the "link layer" I'm sure you meant the network layer.

"Are they actually implemented anywhere? Does TCP implement any of them? "

Again, for a protocol to be reliable, it doesn't have to be considered GBN or SR as long as it satisfies rdt principles. For instance, we wouldn't call TCP a GBN protocol or SR protocol but rather its own.. however it does share some with both, such as cumulative acks (though in a slightly different way, as it doesn't have an ack timer as GBN) and it keeps out of order packets in its buffer to eventually reorder them (same as SR while SR uses independent acks).

"And for that matter, are there any other protocols that operate on the transport layer other than TCP and UDP?"

Sure, you can even make your own as I mentioned before and consult with IETF ;) but TCP and UDP are the most prevalent and widely used protocols.

Hope that clarifies it.

like image 82
Salchem Avatar answered Nov 24 '25 22:11

Salchem



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!