【发布时间】:2018-10-07 05:33:10
【问题描述】:
在我的课堂笔记中,go back n 的例子表明,当接收方收到一个编号为 n 的数据包时,接收方会向发送方发送一个编号为 n 的 ACK。
但是当我在网上搜索时,一些网站说接收方会向发送方发送 n+1 ACK 以请求下一个数据包。
go back n哪个是正确的?
【问题讨论】:
标签: networking tcp go-back-n
在我的课堂笔记中,go back n 的例子表明,当接收方收到一个编号为 n 的数据包时,接收方会向发送方发送一个编号为 n 的 ACK。
但是当我在网上搜索时,一些网站说接收方会向发送方发送 n+1 ACK 以请求下一个数据包。
go back n哪个是正确的?
【问题讨论】:
标签: networking tcp go-back-n
对于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。
【讨论】: