TCP之三次握手和四次挥手

三次握手
所谓三次握手就是客户端和服务器建立连接的过程,这个客户端和服务器没有具体的哪个是哪个,谁先发起请求谁就是客户端。首先要知道SYNACK,seq,ack。
seq:序列号
ack:确认序列号

这里写图片描述
第一次握手:客户端发出请求,并在同时发送一条数据,序列号随机为x
第二次握手:服务器收到请求后没有立即建立连接,而是作出回应表示收到请求,同时也发出了一条数据,序列号随即为y,也对发来的数据表示确认,也就是ack=x+1,就像在说,,你的上天数据我收到了,你发下一条吧。
第三次握手:客户端收到服务器的回应之后发出确认信息,并发送了第二条数据。服务器收到确认信息后连接建立成功。
四次挥手
挥手前的状态是客户端和服务器已经建立连接,在这里要知道FIN
四次挥手
第一次挥手,客户端发出断开连接请求(FIN=1),并发送一条数据,数据包随机序列号为u
第二次挥手:服务器收到请求,没有立即断开连接,但是表示你发的请求我已经收到,即(ACK=1),数据也收到(ack=u+1),并向客户端发送了一条数据,表示我这边可能还有数据没有传完,你先等一下,这条数据序列号随机为v
第三次挥手:服务器传完数据后,向客户端发出断开连接的请求信息,同时又发一条数据,,随机序列号为w,确认上次数据的序列号(ack=u+1)
第四次挥手:客户端收到回应后知道数据已经传完,立即进入TIME-WAIT状态,并向服务器发送ACK=1的确认报文,之所以进入TIME -WAIT状态是因为服务端怕客户端收不到断开连接请求,所以在TIME-WAIT这段时间内如果服务器没有收到回应数据,会重新发送一次请求。服务器收到数据后就会断开连接,而客户端会在过了2MSL后会自动断开连接。两者完全断开。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值