所以基本上对于GBN、SR和TCP的重传方法,我有2个问题:
1.每个数据包都有一个超时定时器还是所有数据包都有一个超时定时器?
2.接收方是否有累积确认定时器或接收方为每个数据包发送一个确认?
我试过谷歌搜索,但有很多不同的答案,所以如果你们能回答这个问题,那将非常有帮助,谢谢。
所以基本上对于GBN、SR和TCP的重传方法,我有2个问题:
1.每个数据包都有一个超时定时器还是所有数据包都有一个超时定时器?
2.接收方是否有累积确认定时器或接收方为每个数据包发送一个确认?
我试过谷歌搜索,但有很多不同的答案,所以如果你们能回答这个问题,那将非常有帮助,谢谢。
- 每个数据包都有一个超时计时器还是所有数据包都有一个超时计时器?
回答:
对于 GBN 和 TCP,所有数据包只有一个超时计时器,可以认为是最旧的传输但尚未确认的数据包的计时器。如果收到 ACK 但仍有其他已传输但尚未确认的数据包,则重新启动计时器。如果没有未完成的、未确认的数据包,则停止计时器。
对于 SR,理论上,每个数据包都有一个超时计时器,因为只有一个数据包会在超时时重传。但是,可以使用单个硬件定时器来模拟多个超时定时器的操作。
- 接收器中是否有累积确认计时器或接收器为每个数据包发送一个确认?
回答:
我不确定什么是累积确认计时器。
对于 GBN 和 TCP,接收方在接收到未损坏的数据包时发送一个 ack。此外,它是一个累积确认,它总是将 ACK 发送到最后一个正确接收的有序段。
对于 SR,SR 向接收器窗口 [rcv_base-N, rcv_base+N-1] 中每个正确接收的数据包发送 ACK。