每个字节(通过 TCP 发送的数据)都有自己的序列号。此序列号在 TCP 标头(序列号字段)中具有特征。
我读到这与用于滑动窗口协议的序列号是分开的。这让我想知道:
问: 如果 TCP 头中的序号字段不包含用于滑动窗口协议的序号 - 在 TCP 头(或段)中哪里可以找到滑动窗口序号?
协议使用 TCP 序列号来表示数据确认的确认。
即,发送方在数据包的最后一个字节的头部发出带有序列号的数据。
接收方返回包含已知已接收数据的最后一个字节的序列号的确认。如果发送器“太久以前”看到接收器确认数据,它会重新发送假定已丢失的数据。
如果实际上接收器已经接收到重新传输的数据,它知道因为它自己的最高序列号是这样的,并且可以丢弃部分或全部接收到的数据,并以正确的序列发送回一个 ack,以便发送器可以继续。
我认为你的线人是不正确的顺便说一句。我所知道的关于 TCP 内部的最好的书是 Wright & Stevens 的“TCP/IP Illustrated”,非常值得一读。有关所有详细信息,请参见第 2 卷第 807..812 页...