结论:2次不够,4次冗余。
本文简述自己的理解,没有过多的技术用语,若有错误望指正。
TCP的连接建立
A:您好,我是 A。 (SYN)
B:您好 A,我是 B。 (SYN + ACK)
A:您好 B。 (ACK)
TCP的设计初衷
1.认为网络环境恶劣,因此在设计时,需要算法来保证传输的可靠
2.TCP是全双工协议,收到的消息一定有回复,因此达到三次
为什么一定是3次
下面分别解释为什么1次和2次不行,而4次就冗余。
1. 为什么1次不行
A发送的包一定需要得到B的回复。
2. 为什么2次不行
1.对于B发送的回复,B需要收到对应该回复的回复。
2.假设2次握手后,连接建立:在断开连接后,若B收到A在断开连接之前发送的,但是由于堵塞延迟等原因此时才到达B的包,B会误认为A要建立连接。这导致连接重新建立,而实际发送端A并没有连接需求。
3. 为什么4次冗余
按照上面的逻辑,B在接收到A对B的应答的应答之后,应该发送一个对该“应答的应答”的应答。但实际上继续按照这样下去,发送4次、40次都400次都不足够。因此,达到最基本的有去有回的状态就可以了,即3次。
补充
这里再提一下,TCP在握手过程中,还有发送包序号的确认,A和B均会给出发送的包的起始序号。这种序号是跟随时间的变化而变化的,这样就可以确保不会收到“乱入”的包。
标签:为什么,握手,TCP,发送,回复,应答,冗余 来源: https://blog.csdn.net/weixin_38858621/article/details/117737283
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。