TCP序列号小于初始序列号(在TCP SYN中接收的序列号)

时间:2017-03-28 15:53:20

标签: networking tcp network-protocols rfc

如果服务器收到的TCP序列号小于TCP SYN从客户端发送的序列号。在这种情况下TCP服务器做了什么?

可能这是不可能的,但由于某些错误,如果发生这种情况,服务器将如何表现?

这里假设TCP序列号没有溢出。

1 个答案:

答案 0 :(得分:2)

具有这样序列号的段将远离接收窗口(下表中的案例4):

来自RFC 793

  

传入的可接受性测试有四种情况   段:

Segment Receive  Test
Length  Window
------- -------  -------------------------------------------

   0       0     SEG.SEQ = RCV.NXT

   0      >0     RCV.NXT =< SEG.SEQ < RCV.NXT+RCV.WND

  >0       0     not acceptable

  >0      >0     RCV.NXT =< SEG.SEQ < RCV.NXT+RCV.WND
              or RCV.NXT =< SEG.SEQ+SEG.LEN-1 < RCV.NXT+RCV.WND

TCP应该对这样的细分做什么?

  

如果传入的段不可接受,则确认   应该回复发送(除非设置了RST位,否则会丢失)   细分和返回):

<SEQ=SND.NXT><ACK=RCV.NXT><CTL=ACK>
     

发送确认后,删除不可接受的段   并返回。

因此TCP将发送Ack,并删除它收到的无效段。