tcp状态

作者: 大乔是个美少女 | 来源:发表于2020-02-12 15:59 被阅读0次

客户端:SYN_SENT FIN_WAIT1 FIN_WAIN2 CLOSING TIME_WAIT
服务端:LISTEN SYN_RCVD CLOSE_WAIT LAST_ACK
共有的:CLOSED ESTABLISHED

TCP/IP三次握手:
服务端socket监听端口时会处于LISTEN状态,表示端口开放随时可接受连接。
客户端第一次发送SYN报文后会进入SYN-SENT等待匹配连接状态。请求建立连接。
服务端收到SYN后并发送SYN和ACK报文,这时会进入SYN_RCVD状态,询问客户端是否准备进行数据连接传输。
客户端收到SYN和ACK报文并发送ACK报文后就进入ESTABLISHED连接状态,服务端收到也进会入ESTABLISHED连接状态。

TCP/IP四次断开:
客户端主动发送FIN断开连接请求后会进入FIN_WAIT_1。等待对方FIN中断请求。
服务端收到FIN并发送马上发送ACK报文后进入CLOSE_WAIT状态,检测是否还有数据传输。
客户端收到ACK报文后会进入FIN_WAIT_2。会继续等待对方FIN中断请求。
服务端确认没有数据传输,则发送FIN给客户端后进入LAST_ACK状态。最后等待对方的ACK报文。当收到ACK报文后,也就进入CLOSED无连接状态了。
客户端收到FIN,并发送ACK后就进入TIME_WAIT状态。如果在FIN_WAIT_1状态下同时收到ACK和FIN报文时,可以直接进入TIME_WAIT状态,无需经过FIN_WAIN_2。
客户端在TIME_WAIT状态时需要等待2MSL后才能返回CLOSED状态。

什么是2MSL: https://blog.csdn.net/xiaofei0859/article/details/6044694

注:为什么TIME_WAIT状态还需要等2MSL后才能返回到CLOSED状态?
这是因为: 虽然双方都同意关闭连接了,而且握手的4个报文也都协调和发送完毕,按理可以直接回到CLOSED状态(就好比从SYN_SEND状态到 ESTABLISH状态那样);但是因为我们必须要假想网络是不可靠的,你无法保证你最后发送的ACK报文会一定被对方收到,因此对方处于 LAST_ACK状态下的SOCKET可能会因为超时未收到ACK报文,而重发FIN报文,所以这个TIME_WAIT状态的作用就是用来重发可能丢失的 ACK报文。

注:CLOSING状态比较特殊,他表示你发送FIN报文后并没有接收到对方的ACK报文,而是接收到对方的FIN报文。一般出现双方同时发送FIN报文,表示双方都在关闭连接。
如果同时发送FIN,则在发送后会首先进入FIN_WAIT_1状态。在收到对端的FIN后,回复一个ACK,会进入CLOSING状态。在收到对端的ACK后,进入TIME_WAIT状态。这种情况称为同时关闭。
同时关闭也需要有4次报文交换,与典型的关闭相同。

相关文章

  • tcp三次握手四次挥手

    tcp三次握手四次挥手 TCP状态图 TCP状态时序图 tcp三次握手 流程图: TCP握手状态说明: TCP_S...

  • TCP状态装换图知识详解(图)

    TCP状态装换图 [TOC] 状态图 状态解释 tcp连接的建立3次握手 tcp断开连接4次挥手 TCP正常连接建...

  • TCP连接的状态详解以及故障排查

    1、TCP状态linux查看tcp的状态命令:1)、netstat -nat 查看TCP各个状态的数量2)、lso...

  • TCP状态

    LISTEN: 侦听来自远方的TCP端口的连接请求 SYN-SENT: 再发送连接请求后等待匹配的连接请求 SYN...

  • tcp状态

    客户端:SYN_SENT FIN_WAIT1 FIN_WAIN2 CLOSING TIME_WAIT服务端:LIS...

  • TCP客户端和服务端相关状态说明

    TCP连接的状态 首先介绍一下TCP连接建立与关闭过程中的状态。TCP连接过程是状态的转换,促使状态发生转换的因素...

  • TCP那些事儿

    目录: TCP是什么TCP报文结构TCP连接过程TCP状态转移TCP流量控制 —— 滑动窗口TCP拥塞控制TCP可...

  • TCP协议详解

    TCP 前言网络模型简图 一、TCP协议结构 二、TCP三次握手与状态流转 三、TCP四次挥手与状态流转 前言 网...

  • linux服务器性能调优之tcp/ip性能调优

    TCP状态转移图 一、TCP状态介绍: 在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连...

  • 传输层

    ICMP UDP TCP TCP的三次握手 TCP四次挥手 TCP状态机Tcp_status_map.jpg

网友评论

      本文标题:tcp状态

      本文链接:https://www.haomeiwen.com/subject/tircfhtx.html