Go-Back-N Protocol not efficient?
-
29-09-2020 - |
Pergunta
Let's say we have five packets
p1 p2 p3 p4 p5
to be sent sequentially:
and for some reasons, p3 got delayed so it the the last packet to arrive recevier.
so below is the receiving order on the receiver's end
p1 p2 p4 p5 p3
and according to the Go-Back-N Protocol, the receiver will only send acknowledge of p2
when it receive p5
.
then the receiver receives p3
right after p5
, and then it sends acknowledge of p3
to the sender.
But there will still be a timeout and the sender still has to re-send p4
and p5
,even though the receiver did receive all packets, isn't this Go-Back-N Protocol really inefficient?
Solução
The Go-Back-N protocol is often presented for didactic purposes as a first, maybe crude attempt at tackling loss of packets or of order in connection-oriented communications, without obeying the constrains of Stop-and-Wait protocols, also introduced for didactic purposes. It is no wonder it appears inefficient -- it probably was never meant to be so. Selective Repeat can be considered as a performance improvement in terms of retransmissions over Go-Back-N, and in practice TCP itself relies on a hybrid solution of the two.