在平时ss="superseo">ss="superseo">网络服务器运维管理的情况下,需要查询各种连接状态,所以只有很好的了解TCP连接状态,才能知道每种状态的实际意义,这一点很重要。只有知道了这个主要参数的实际意义,才能相应的提高。
查询状态指令:
[root@tomcat10 logs]# netstat -na | awk '/^tcp/{s[$6]}END{for(key in s) print key,s[key]}' TIME_WAIT 1443 CLOSE_WAIT 1122 SYN_SENT 3 FIN_WAIT1 2074 FIN_WAIT2 195 ESTABLISHED 89782 SYN_RECV 7314 LISTEN 9 CLOSING 9 LAST_ACK 2372每个状态的实际含义如下:
FIN_WAIT2:收到服务器发送给上一个FIN的ACK后的状态; LAST_ACK:服务器解完最终数据信息发送FIN后的状态; TIME_WAIT:接收到服务器发送的FIN后的状态,表示处于空等待阶段; CLOSED:time_wait时间到达后,向FIN发送明确ACK后的状态。发送ACK后,连接已经关闭; 关闭:连接对方发送关闭请求和确认时的状态;
三次握手断四次的小技巧:
关于四次休息:
A.首先,客户端向服务器发送FIN,请求关闭传输的数据。
b、网络服务器收到客户端的FIN时,向客户端发送ack,ACK的值相当于FINSEQ。
C.然后,web服务器向客户端发送FIN,告诉客户端关闭应用软件。
D.当客户机从服务器收到FINYes时,它向服务器发送一个ACK作为响应。其中ack的值等同于FINSEQ。
为什么要4次才能破?
A.确保数据信息可以传输。
B.但是当连接关闭,收到对方FIN报文格式公告的时候,只说明对方没有数据信息给你发送;
C.但是你的数据信息并不是都已经发送给对方了,那么能不能关掉SOCKET,也就是你大概要发送一些数据信息给对方?
D.发送FIN报文格式给对方,表示你现在愿意关闭连接,所以这里的ACK报文格式和FIN报文格式在大多数情况下都是分开发送的。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)