我有一个关于TCP的非常基础的问题。
考虑一个应用程序,比如DEST
,它的IP地址是Dest IP
,监听端口为6789。
现在我有两个源应用程序,它们都能够通过TCP协议向这个应用程序DEST
发送消息。
假设源系统1是SRC1
,源系统2是SRC2
,它们的IP分别是SRC1
和SRC2
。
理想情况下,只有其中一个源系统正在运行,我可以通过在源系统上执行netstat -nao | grep 6789
命令来查看SRC1
或SRC2
与DEST
之间是否存在活动连接。
现在,仅仅出于好奇心,我也启动了第二个源系统,惊讶地发现在两个源系统上执行netstat
命令时,都显示了与监听端口为6789的应用程序DEST
存在活动的TCP连接。
SRC1
和SRC2
服务器上netstat
命令的结果:
TCP SRC1 IP:17678 DEST IP: 6789 ESTABLISHED
TCP SRC2 IP:51298 DEST IP: 6789 ESTABLISHED
我以为只有一个TCP连接可以与位于IP地址为DEST1
和端口6789的DEST
应用程序进行通信(DEST
服务器IP:6789
只能有一个活动TCP连接)。