考虑一个使用窗口扩大选项的 T C P连接,其最大可能的窗口大小为 1千兆字节( 23 0)(最大的窗口是 6 5 5 3 5×21 4,而不是2 1 6×21 4,但只比这个数值小一点点,并不影响这里的讨论)。
还假定使用了时间戳选项,并且由发送方指定的时间戳对每个将要发送的窗口加 1(这是保守的方法。通常时间戳比这种方式增加得快)。图2 4 - 8显示了在传输6 千兆字节的数据时,在两个主机之间可能的数据流。为了避免使用许多 1 0位的数字,我们使用G来表示1 073 741 824的倍数。我们还使用了t c p d u m p的记号,即用J : K来表示通过了J字节的数据,且包括字节K- 1。
32 bit的序号在时间D和时间E之间发生了回绕。假定一个报文段在时间 B丢失并被重传。还假定这个丢失的报文段在时间 E重新出现。
这假定了在报文段丢失和重新出现之间的时间差小于 M S L,否则这个报文段在它的 T T L到期时会被某个路由器丢弃。正如我们前面提到的,这种情况只有在高速连接上才会发生,此时旧的报文段重新出现,并带有当前要传输的序号。
我们还可以从图 2 4 - 8中观察到使用时间戳可以避免这种情况。接收方将时间戳视为序列号的一个32 bit的扩展。由于在时间E重新出现的报文段的时间戳为 2,这比最近有效的时间戳小(5或6),因此PAW S算法将其丢弃。
PAW S算法不需要在发送方和接收方之间进行任何形式的时间同步。接收方所需要的就是时间戳的值应该单调递增,并且每个窗口至少增加 1。