TCP IP保证交付问题

Gee*_*eek 2 networking

HI,

假设有10个数据包1-10,第6个数据包由于网络故障而被丢弃.TCP重新发送所有数据包是从6-10还是仅仅6?

Gre*_*ill 5

它将重新发送所有数据包6到10.事实上,由于接收方只告诉发送方哪个序列号是最后一个好的,所以发送方可以选择以不同方式分割数据包(即通过将数据包6到10合并为一个更大的数据包)数据包)重新发送时.

但是,我应该注意到,在我多年的套接字编程中,我从未真正需要知道这些细节.我从来没有写过一个真正的TCP驱动程序,这是你需要知道这些信息的唯一地方.

TCP/IP详解系列丛书是这一个很好的资源.

  • 这不完全正确.首先,"选择性确认"TCP选项(RFC2018)允许接收器指示它已经接收了示例中的分组7到10中的数据.其次,即使没有该选项,发送方*也可以*选择仅重新发送数据包6,然后等待查看从接收方引出的ACK. (4认同)