A机器与B机器网络connect成功后,断电时的网络状态?

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/libaineu2004/article/details/85914838

如果A机器与B机器网络connect成功后从未互发过数据,此时其中一机器突然断电,则另外一台机器与断电的机器之间的网络连接处于哪种状态?

笔者实测如下:

虚拟机A:

CentOS 7,192.168.133.131,TCP Server

虚拟机B:

CentOS 7,192.168.133.128,TCP Client

1、建立连接时:

A机器

[root@localhost ~]# netstat -nalp|grep 1883
tcp        0      0 0.0.0.0:1883            0.0.0.0:*               LISTEN      48261/epltest       
tcp        0      0 192.168.133.131:1883    192.168.133.128:39170   ESTABLISHED 48261/epltest 

B机器
[root@localhost firecat]# netstat -nalp|grep 1883
tcp        0      0 192.168.133.128:39170   192.168.133.131:1883    ESTABLISHED 7470/./eplClient

2、B机器断电时,A机器查看状态如下:

[root@localhost ~]# netstat -nalp|grep 1883
tcp        0      0 0.0.0.0:1883            0.0.0.0:*               LISTEN      48261/epltest            
tcp        0      0 192.168.133.131:1883    192.168.133.128:39170   ESTABLISHED 48261/epltest 

结论:断电后,继续保持ESTABLISHED的网络状态。

3、笔者继续实测,让A断电,B保持,结论还是一样,ESTABLISHED。

4、如果A不变,B机器kill client进程,则B机器会出现TIME_WAIT的网络状态。

[root@localhost firecat]# kill -9 7459
[root@localhost firecat]# netstat -nalp|grep 1883
tcp        0      0 192.168.133.128:60114   192.168.133.131:1883    TIME_WAIT   -

猜你喜欢

转载自blog.csdn.net/libaineu2004/article/details/85914838