【思唯网络】TCP协议
首页 > >   作者:浙江思唯网络  2021年6月9日 16:48 星期三  字号:   评论:0 条
时间:2021-6-9 16:48   评论:0 条 

TCP协议握手为什么需要三次?

为了实现可靠传输,发送方和接收方始终需要同步序号。 需要注意的是, 序号并不是从 0 开始的, 而是由发送方随机选择的初始序列号 开始 。 由于 TCP 是一个双向通信协议, 通信双方都有能力发送信息, 并接收响应。 因此, 通信双方都需要随机产生一个初始的序列号, 并且把这个起始值告诉对方。

 

于是, 这个过程就变成了下面这样。

图片1.png

TCP协议挥手为什么需要四次?

四次挥手过程以及状态

图片2.png

动关闭方向被动关闭方发送结束报文段。

报文段2:被动关闭方发送结束报文段确认,此时主动关闭方数据已经传输完毕。

报文段3:被动关闭方数据也发送完毕,发送结束报文段。

报文段4:主动关闭方对结束报文段进行确认。

 

可以三次挥手吗

观察四次挥手过程可见报文段3包含了报文段2中的确认值,因此三次挥手只能将报文段3和报文段2合并。但这样合并是有问题的。被动关闭方发送报文段2只是确认主动关闭方发来的结束报文段,但并不代表自身的数据已经传输完毕。即就是当断开连接的时候,一个方向的断开,只是说明该方向数据已传输完毕,而另一方向或许还有数据,所以要等到另一个方向数据也全部传输完成后,才能实现三次握手。但是这个时间不确定,因此会造成主动关闭方的结束报文段长时间未得到响应而进行超时重传等等。造成了不必要的资源浪费甚至更意想不到的问题。

思唯网络公众号二维码.jpg


 您阅读这篇文章共花了: 
 本文无需标签!
二维码加载中...
技术交流:欢迎在本文下方留言或加入QQ群:859273036 互相学习。     
本文地址:http://www.023wg.com/1046.html
版权声明:若无注明,本文皆为“思唯网络学院博客”原创,转载请保留文章出处。

返回顶部    首页   
版权所有:思唯网络学院博客    浙江思唯网络