三次握手 四次挥手
tcp通信连接及断开过程的通信机制 三次握手是建立链接的机制,四次挥手是链接断开的机制。
一.三次握手 分为以下三个步骤
1.请求端发送SYN同步序列编号包 到服务端(SYN包格式如 1000(0),1000表示同步序列编号,0代表包长度为0)
-
服务端接收到请求包,并给请求端响应ACK包及SYN包。(ACK包格式如 1001(0),1001表示请求端发送的SYN编号1000加上包的长度,此时SYN的长度虽然为0,但也会占用一个字节,所以ACK编号为SYN编号加上1。 服务端发送的SYN编号如请求段的编号)
3.请求端接收到服务端发送的SYN包,并响应ACK应答包。
此时链接建立成功。
类似于甲跟乙打电话:
甲:我是长江。 甲发送身份信号给乙
乙:长江 你好 我是黄河 已确认收到甲的身份信号 并回复乙的身份信号
甲:黄河 你好 甲确认确认收到已的身份信号
通话连接建立。开始说正事
三次握手示意图
二 . TCP数据通信过程
数据通信就是说正事的过程,请求段发送数据包,服务端响应请求,发送应答包 如下图
如图中数据包中Seq为数据包的头编号。100byte是数据的大小,服务端响应的ACK中是数据包的头编号加上数据包大(以byte为单位),代表服务端已读取之前的数据
三.四次挥手 分为以下四个步骤
1.请求端发送FIN包至服务端(FIN格式包如2000(0),2000代表编号,0代表长度)
2.服务端对请求端的FIN包响应ACK应答包(ACK包格式如2001(0),2001代表编号,0代表长度)
此时连接处于半关闭状态
3.服务端发送FIN包至请求端
4.请求端响应服务端ACK应答包
这个类似于甲和乙挂电话:
甲:没事了 我挂了。
乙:好的 那你挂了吧
乙:那我也挂了 拜拜
甲: 拜拜
此时连接断开
四次挥手示意图