这是不现实的,因为它没有要使用ACK标志确认的确认号。它会把多少钱投入战场?它将被组成,因此接收主机将响应一个RST。
RFC 793,传输控制协议解释道(我高亮显示了相关文本):
重置生成作为一般规则,当一个段到达时,必须发送重置(RST),这显然不是当前连接的意图。如果不清楚是否存在这种情况,则不能发送重置。有三组国家:
- 如果连接不存在(已关闭),则响应任何传入段发送重置,但另一次重置除外。特别是,通过这种方式拒绝发送给不存在连接的SYNs。如果传入段具有ACK字段,则重置从段的ACK字段获取其序列号,否则重置具有序列号为零,并且ACK字段设置为传入段的序列号和段长度之和。连接仍处于关闭状态。
- 如果连接处于任何非同步状态(侦听、SYN发送、SYN接收),而传入段确认尚未发送的内容(段携带不可接受的ACK),或者如果传入段具有与请求连接的级别和间隔不完全匹配的安全级别或间隔,则发送重置。如果我们的SYN尚未被确认,且传入段的优先级级别高于请求的优先级级别,则要么提高本地优先级级别(如果用户和系统允许),要么发送重置;或者如果传入段的优先级级别低于请求的优先级级别,则继续保持与优先级完全匹配的状态(如果远程TCP无法提高与我们的优先级级别匹配,将在它发送的下一个段中检测到这一点,然后将终止连接)。如果我们的SYN已被确认(可能在此传入段中),则传入段的优先级级别必须与本地优先级级别完全匹配,如果没有,则必须发送重置。如果传入段具有ACK字段,则重置从段的ACK字段获取其序列号,否则重置具有序列号为零,并且ACK字段设置为传入段的序列号和段长度之和。连接保持在相同的状态。
- 如果连接处于同步状态(已建立,fin-等待-1,fin-等待-2,关闭-等待,关闭,最后-ACK,时间-等待),则任何不可接受的段(窗口外序列号或不可接受的确认号)必须只引出一个空确认段,其中包含当前发送序列号和指示预期接收的下一个序列号的确认,并且连接仍处于相同状态。如果传入段具有与级别不完全匹配的安全级别或间隔或优先级,以及请求连接的间隔和优先级,则发送重置,连接进入关闭状态。重置从传入段的ACK字段获取其序列号。