首页 > 其他 > 详细

TCP三次握手四次挥手

时间:2019-01-31 23:20:05      阅读:275      评论:0      收藏:0      [点我收藏+]

图例

下图是TCP三次握手四次挥手的时序图:

技术分享图片

下图为TCP协议状态机:

技术分享图片

三次握手

要弄清TCP建立连接需要几次交互才行,我们需要弄清建立连接进行初始化的目标是什么。

TCP进行握手初始化一个连接的目标是:分配资源、初始化序列号(通知peer对端我的初始序列号是多少)。知道了初始化连接的目标,那么要达成这个目标的过程就简单了,握手过程可以简化为下面的四次交互:

  1. client端首先发送一个SYN包告诉Server端我的初始序列号是X。
  2. Server端收到SYN包后回复给client一个ACK确认包,告诉client说我收到了。
  3. 接着Server端也需要告诉client端自己的初始序列号,于是Server也发送一个SYN包告诉client我的初始序列号是Y。
  4. Client收到后,回复Server一个ACK确认包说我知道了。

整个过程4次交互即可完成初始化。

四次挥手

TCP进行断开连接的目标是:回收资源、终止数据传输。

由于TCP是全双工的,需要Peer两端分别各自拆除自己通向Peer对端的方向的通信信道。这样需要四次挥手来分别拆除通信信道,就比较清晰明了了。

  1. Client发送一个FIN包来告诉Server我已经没数据需要发给Server了。
  2. Server收到后回复一个ACK确认包说我知道了。
  3. 然后server在自己也没数据发送给client后,Server也发送一个FIN包给Client告诉Client我也已经没数据发给client了。
  4. Client收到后,就会回复一个ACK确认包说我知道了。

到此,四次挥手,这个TCP连接就可以完全拆除了。

 

##################

TCP三次握手四次挥手

原文:https://www.cnblogs.com/amunote/p/10344415.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!