tcp三次握手、四次挥手

视频讲解总结1

视频地址 tcp三次握手、四次挥手

  1. SYN J
  2. SYN K, ACK J+1 服务器对 J+1说明服务器准备好了
  3. ACK K+1 客户端对 K+1 说明客户端准备好了

在TCP中,如果有一方收到了对方的数据,一定会发送ACK确认包给发送方

而在UDP中,没有这个过程,因此导致了TCP稳定,而UDP不稳定

  1. FIN seq = x+2 ACK = y +1 FIN(final)客户端要close的标志,ACK是确认收到了上次数据包
  2. ACK = x + 3 收到了
  3. FIN seq = y + 1 服务端调用socket close 发送FIN告诉客户端我也要关了
  4. ACK = y + 2 客户端表示收到了

TCP为什么是四次,而不是三次?

收到主动方发来的FIN报,被动方会立刻回答主动方,让主动方进入FIN-WAIT-1状态。防止主动方重复的发FIN报。

视频讲解总结2

视频地址 三次握手四次挥手

第一次挥手:主动关闭方调用close,会发送一个长度为0的数据包以及FIN(结束标志)用来告诉关闭主动方到被动方的数据传送,告诉被动关闭方:我已经不会再给你发数据了,但是,此时主动关闭方还可以接收数据

第二次挥手:被动关闭方收到FIN包后,发送一个ACK给对方,确认序号为收到序号+1

第三次挥手:被动关闭方发送一个FIN,用来关闭被动关闭方到主动关闭方的数据传送,也就是告诉主动关闭方,我的数据也发送完了,不会再给你发数据了。

第四次挥手:主动关闭方收到FIN后,发送一个ACK给被动关闭方,确认序号为收到序号+1,至此,完成四次挥手

打赏
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!

扫一扫,分享到微信

微信分享二维码
  • Copyrights © 2015-2023 高行行
  • 访问人数: | 浏览次数:

请我喝杯咖啡吧~

支付宝
微信