In: Computer Science
Consider the pipelined reliable data transfer (rdt) protocols over the channel that can corrupt or lose packets.
(a) Why did we need to use sequence numbersfor these protocols?
(b) Why did we need to introduce timers in these protocols?
(c) Why did we need to introduce a sliding window in these protocols?
a. Sequence numbers are used to detemerine at the reciever end that if the arriving packet is a new data or re-transmitted data , as packets can be lost during transmission and may even have errors in them , and to counter-act any such loss , retransmission is packets happen , and hence a specific sequence can deteminie any such anomalities at the reciever end,
b. Timers were put in place to detect re-transmission of packets or loss of packets. If an Acknowledgement (ACK) for the packet is not recievered in the duration of the timer for the packet the packet is assumed to be lost , hence re-transmission happens to counter act channel loss
c.As we also use sequence numbers, there can be cases where there is a duplication of packets at the reciver's end, the Sliding window is the protocol used to tackle this problem. RDT can get slow sometimes due to its dependecny on ACK , hence sliding a frame/window after reciving acknowledgement for the oldest un-acknowledged packet is the basis of this protocol.
Hope the answer was of help to you!
Please consider a like!