转载:TCP的三次握手和四次挥手

https://blog.csdn.net/qq_38950316/article/details/81087809

这篇博客写的很详细

自己理解:
首先要明白几个名词:seq,ack,SYN,ACK,FIN
大写的表示标志位,只有0,1两种状态,seq为序列号,ack为确认序列号
一、tcp的三次握手过程

  • 客户端向服务端发送seq=x,SYN=1,客户端进入sent状态
  • 服务端收到数据,将x+1作为确认序列号,同时将子的序列号seq=y发送给客户端,这里服务器进入半连接状态,向客户端发送 seq=y,ack=x+1,SYN=1,ACK=1,
  • 客户端收到响应后进入establish状态,将收到的seq=y加1后作为确认序列号,同时把自己的同步序列号加1,也就是ack=y+1,seq=x+1,SYN = 1发送到服务端,此时服务端进入establish。

二、tcp的四次挥手过程

  • 客户端数据发送完毕,向服务端发送FIN=1,seq=x, 客户端进入FIN-wait1状态
  • 服务端收到后响应ack = x+1,seq = y,ACK=1,这时服务器进入关闭等待状态wait-closed
  • 服务器继续完成剩余数据发送处理后,开始向客户端又发送一条,FIN=1, seq=z,ack=x+1,ACK=1
  • 客户端收到后,向服务端发送ack=z+1,seq=x+1,连接关闭
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值