机器是RHEL 5.3(内核2.6.18)。
有时我在netstat中注意到,我的应用程序已建立连接,并且本地地址和外部地址相同时建立了TCP连接。
ojit_也有人报告过同样的问题。
症状与链接中描述的相同-客户端连接到本地运行的服务器的端口X端口。一段时间后,netstat显示客户端已从127.0.0.1:X
连接到127.0.0.1:X
怎么可能?
编辑01
同时打开导致了此问题(非常感谢Hasturkun)。在从SYN_SENT状态到SYNC_RECEIVED的过渡过程中,您可以在Here上看到它
最佳答案
这可能是由TCP同时连接引起的(提到了on this post to LKML,另请参见here)。
尝试在动态本地端口范围内尝试连接到某个端口(可以在/proc/sys/net/ipv4/ip_local_port_range
中看到)的程序循环成功,而服务器未在该端口上侦听。
在足够多的尝试下,用于连接的套接字可能会绑定(bind)到要连接的同一端口,由于前面提到的同时连接,该端口成功。您现在已经神奇地将一个客户端连接到了自己