TCP三次握手与四次断开的状态转换说明

    TCP主要针对 C/S 模型中端到端面向连接的协议,发起连接请求和断开连接请求的可以是服务端,也可以是客户端(通常是客户端)。但此处不指定谁主动发起请求、谁被动接收请求,统一用A,B两主机来表示它们之间建立连接与断开连接的过程。

三次握手
在这里插入图片描述

说明:
1、A发起连接请求(SYN=1,seq=x),从 CLOSED 进入 SYN_SENT 状态;
2、B收到请求,回复响应报文(SYN=1,seq=y;ACK=1,ack=x+1),从 CLOSED 进入 SYN_RCVD状态;
3、A收到相应报文,回复应答报文(ACK=1,ack=y+1),从 SYN_SENT 进入 ESTABLISHED 状态;B收到应答报文后从 SYN_RCVD 进入 ESTABLISHED 状态,此时两主机建立连接。


四次断开
在这里插入图片描述

说明:
1、A发起断开连接请求报文(FIN=1,fin=m),从 ESTABLISHED 进入FIN_WAIT_1 状态;
2、B收到断开请求报文,发送应答报文(ACK=1,ack=m+1),从 ESTABLISHED 进入 CLOSE_WAIT 状态;A收到B的应答报文后进入 FIN_WAIT_2 状态;
3、紧接着B也发送断开请求报文(FIN=1,fin=n),进入 LAST_ACK 状态(等待A的应答报文);
4、A收到B的断开请求报文,回复应答报文(ACK=1,ack=n+1),进入 TIME_WAIT 状态,2MSL超时(Linux的默认MSL=60秒)后进入 CLOSED 状态;B收到A的应答报文后直接进入 CLOSED 状态,此时两主机断开连接。


附: TCP更加完整的状态转换图(摘自百度图片)
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值