简述TCP建立连接和释放连接

 

三次握手建立链接:

 

 

第一次握手:客户端将同步号SYN置为1,随机产生一个值seq=x,将该数据包发送给服务端,客户端进入SYN_SENT状态,等待服务端确认。
第二次握手:服务端收到数据包后由同步号SYN=1知道客户端请求建立连接,服务端将标志位SYN和ACK都置为1,ack=x+1,随机产生一个值seq=y,并将该数据包发送给客户端以确认连接请求,服务端进入SYN_RCVD状态。
第三次握手:客户端收到确认后,检查ack是否为J+1,ACK是否为1,如果正确则将标志位ACK置为1,ack=K+1,并将该数据包发送给服务端,服务端检查ack是否为y+1,ACK是否为1,如果正确则连接建立成功,客户端和服务端进入ESTABLISHED状态.
完成三次握手,成功建立链接,进行数据传输。

四次挥手释放链接:

 

 

 

第一次挥手:客户端发送FIN=1,用来关闭客户端到服务端的数据传送,随机产生一个seq=u,将该数据包发送给服务端,客户端进入FIN_WAIT_1状态。
第二次挥手:服务端收到结束标志FIN=1后,发送确认标志ACK=1给客户端,确认号ack=u+1,随机产生一个seq=v,将该数据包发送给客户端,服务端进入CLOSE_WAIT状态。
第三次挥手:服务端发送结束标志FIN=1,用来关闭服务端到客户端的数据传送,并发送确认标志ACK=1,随机产生一个seq=w,ack=u+1,将该数据包发送给客户端,服务端进入LAST_ACK状态。
第四次挥手:客户端收到FIN后,客户端进入TIME_WAIT状态,接着发送确认标志ACK=1给服务端,确认号seq=u+1,服务端进入CLOSED状态。
完成四次挥手,成功断开连接。

 

数据包状态:

 

 

 

流量图:

附:

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:技术黑板 设计师:CSDN官方博客 返回首页
评论 1

打赏作者

诸神之眼

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值