> Linux教程 > 系统运维 >

TCP连接状态

状态:说明
CLOSED:没有活动的连接,或者未完成的连接
LISTEN:服务器正在等待进来的连接请求
SYN_RCVD:一个连接请求已经到达;等待ACK
SYN_SENT:应用程序已经开始打开连接
ESTABLISHED:正常的数据传输状态
FIN_WAIT1:应用程序说它已经结束连接了(服务器主动断开)
FIN_WAIT2:另一边已经同意释放连接(另一方主动断开)
TIME_WAIT:等待所有的分组逐渐消失
CLOSING:双方试图同时关闭连接
CLOSE_WAIT:另一方已经发起了释放连接的过程
LAST_ACK:等待所有的分组逐渐消失

TCP三次握手
第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认。
第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RCVD状态。
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。

查看httpd进程数(即prefork模式下Apache能够处理的并发请求数):
ps -ef | grep httpd | wc -l

查看Apache的并发请求数及其TCP连接状态:
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

(责任编辑:IT)