在我的讲义中,返回n的示例显示,当接收方收到数据包编号n时,接收方将向发送方发送ACK编号n。
但是当我在网上搜索时,一些网站说接收者会向发送方发送n + 1 ACK,以请求下一个数据包。
回溯n的哪个是正确的?
答案 0 :(得分:0)
对于Go-Back-N,接收器使用累积确认,该确认发送顺序正确接收的最大顺序包中的序列号。有两个例子可以帮助您理解。 1.接收器已正确接收数据包n并发送ACK = n。稍后,接收器接收到数据包n + 1,然后它将发送ACK = n + 1。 2.接收器已正确接收数据包n并发送ACK = n。稍后,接收方接收到数据包n + 2,然后它将发送ACK = n。
现在,您在网络上搜索的内容是在谈论 TCP ,而不是 Go-Back-N 。对于TCP,ACK与Go-Back-N不同。尽管TCP仍然使用累积确认,但是确认号是接收者期望发送者发送的下一个字节的序列号,即 n + 1 。