累计通过IE学员人数:自2011年起累计1700人 当年422人 当月22人
咨询热线:0571-86959638咨询QQ:839898248,VX:swiers2011
思唯网络学院

干货分享-TCP协议

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

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

 

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

 

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

四次挥手过程以及状态

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

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

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

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

 

可以三次挥手吗

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

如果在网工课程上有任何疑问可以咨询

老师QQ: 839898248

来思唯网络学习网络,每天都会进步

一点点!

 

Copyright © 2011-2021 思唯网络 Swiers All Rights Reserved. | 浙ICP备17056685号