查看状态:
#netstat -lntup
#netstat -an
TCP 11种状态集转换(了解--架构层面)
1)以后可以更好的排查系统网络问题
2)以后学习网络编程会有帮助
一、TCP三次握手过程:服务端和客户端状态变化 五种状态变化

第一历程:初始状态
服务器状态为:closed状态
客户端状态为:closed状态
第二历程:服务端开启相应服务
服务端状态为:closed→listen
第三历程:发送建立连接请求(客户端)三次握手第一次
客户端发送syn信息
客户端状态为:closed→syn_sent
第四历程:接收建立连接请求(服务端)三次握手第二次
服务端接收syn信息,发送确认以及请求建立连接信息(ack syn)
服务端状态:listen→syn_rcvd
第五历程:发送最后确认信息(客户端)三次握手的第三次
客户端发送ack信息
客户端状态:sys_sent→established
第六历程:接收最后确认信息(服务端)
服务端接收ack信息
服务端状态:syn_rcvd→established
结论:只有服务端和客户端都统一处于established连接建立状态,才能正常传输数据信息。
二、TCP四次挥手过程:服务端和客户端状态变化 五种状态变化

第一历程:初始状态
服务器状态为:established状态
客户端状态为:established状态
第二历程:发送断开连接请求(客户端)四次挥手第一次
客户端发送fin请求断开连接字段
客户端状态:established→fin_wait1
第三历程:接收断开连接请求(服务端)四次挥手第二次
服务端接收fin请求断开连接字段 发出确认信息(ack=1)
服务端状态:established→close_wait
第四历程:接收确认断开信息(客户端)
客户端接收服务端发出的确认信息(ack=1)
客户端状态为:fin_wait1→fin_wait2
第五历程:发送断开连接请求(服务端)四次挥手第三次
服务端发送fin请求断开连接字段,同时还会再次发送确认(ack)
服务端状态:close_wait→last_wait_ack
第六历程:接收断开连接请求(客户端)发送最后确认信息 四次挥手第四次
客户端接收断开连接请求 同时发送最后确认信息ack=1
客户端状态:fin_wait2→time_wait(等时间,60s 90s 120s不确定等待时间)
第七历程:接收最后确认信息(服务端)
服务端状态:last_wait_ack→closed
第八历程:等待时间结束
客户端状态:time_wait→closed
补充:
问题一:为什么断开过程是四次?断开过程可以是三次吗
问题二:为什么要有time_wait状态




