TCP可靠传输的实现
TCP基于以字节为单位的滑动窗口来实现可靠传输。
假设发送方收到了确认报文段,rwnd=20表示发送方的接收窗口限制为20,ack=31表示31号之前的数据都已经接收,接收方希望接收从31号开始的数据。
发送方可以将发送窗口中的数据全都发送出去,但是在接收到确认前,都必须保留,保存在缓存中,以避免超时重传。
用三个指针来表示上面的各种情况。
如果接收方接收了未按序到达的37,38,40,因为它们是未按序到达的,所以只能将它们存于缓存中,等待其它按序到达的分组到达。
如果迟迟收不到确认,则会产生
第三个段的序号为900,表示的是它的开头是900
而第二段有400个字节,所以第二段开头的序号是500。