在TCP规范中讲解关于当TCP连接处于各种状态该如何处理收到的TCP报文,当TCP连接处于ESTABLISHED状态时,在第五步检查ACK时谈到该如何更新发送窗口,其中有这麽一段:如果(SND.WL1<SEG.SEQ 或者(SND.WL1=SEG.SEQ且SND.WL2=<SEG.ACK)),设置SND.WND=SEG.WND,设置SND.WL1=SEG.SEQ,并设置SND.WL2=SEG.ACK。这段我看不明白,它说的更新条件有两个:1,SND.WL1<SEG.SEQ      2,SND.WL1=SEG.SEQ且SND.WL2=<SEG.ACK对于第二个条件,为何要有SND.WL2=<SEG.ACK这个条件?如果SND.WL2>SEG.ACK,说明到达的报文的ACK是老的,而规范前面说如果ACK是重复的可以忽略它,发送窗口不会更新,那麽这里为何要特地加上这个条件?而且这似乎还暗含这如果SND.WL1<SEG.SEQ,那麽即使SND.WL2>SEG.ACK,也可以将窗口改变?这不就将窗口的左边向回移动(即移动到了以前的地方)了吗?这也不符合逻辑啊?