TCP IP 保证传送问题
您好,
假设有 10 个数据包 1-10,第 6 个数据包由于网络故障而被丢弃。 TCP 是否重新发送 6-10 中的所有数据包或仅重新发送第 6 个数据包?
HI,
Let us say that there are 10 packets 1-10 and the 6th Packet gets dropped because of a network fault. Does TCP resend's all packets from 6-10 or just 6th ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
它将重新发送所有数据包 6 到 10。事实上,由于接收方仅告诉发送方最后一个好的序列号是什么,因此发送方可以选择以不同的方式拆分数据包(即将数据包 6 到 10 合并为一个更大的数据包)。数据包)重新发送时。
然而,我应该注意到,在我多年的套接字编程中,我实际上从来不需要知道这个细节。我从未编写过实际的 TCP 驱动程序,这是您需要了解该信息的唯一地方。
TCP/IP 图解系列书籍是这方面的绝佳资源。
It will resend all packets 6 through 10. In fact, since the receiver only tells the sender what sequence number was the last good one, the sender may choose to split up the packets differently (ie. by consolidating packets 6 through 10 into one bigger packet) when resending.
However, I should note that in all my years of socket programming, I've never actually needed to know that detail. I've never written an actual TCP driver, which is the only place you'd need to know that information.
The TCP/IP Illustrated series of books is an excellent resource for this.