线上遇到了一个比较特殊的连接,它的源目的IP和端口完全相同,复现的场景是:同一个机器上的两个模块A和B通信,A模块会向B模块的监听套接字发起连接请求,B模块重启的时候就很容易出现这样的问题。下图是在线下复现的连接情况:
这种类型的连接产生的过程类似于同时打开的情况。同时打开的情况是两个机器同时向另一个机器的已知端口发送SYN段
,一个机器上发送的SYN段
的目的IP和端口是另一个机器上发送SYN段
的套接字的本地IP和端口(注意这两个机器上没有对应端口的监听套接字),状态迁移过程如