首页 > 其他 > 详细

求职路漫漫[TCP握手挥手]

时间:2021-05-29 09:12:16      阅读:26      评论:0      收藏:0      [点我收藏+]

tcp的三次握手四次挥手

TCP报文的报头结构:

技术分享图片

 

 其中与握手和挥手相关的有:

1.序列号(sequence number, seq)

2.确认号(acknoledgement number, ack)

3.标志位中的ACK确认标志、SYN同步标志、FIN结束标志

握手流程:

技术分享图片

 

 

我认为这张图已经很详细了,以前会比较困惑服务器是如何被动地从CLOSED状态变成LISTEN状态,事实上服务器上的服务正确启动后,就已经是LISTEN状态了,这与客户端是否发送请求没有关联

1.为什么是3次握手

3次是保证双方互相明确对方能收能发的最小值

2.为什么不是2次

如果只有2次握手,一个“已失效的连接请求报文段”传到服务端也会建立连接,从而产生错误

3.为什么不是4次

4次虽然会增加可靠程度但是会浪费大量资源

 

挥手流程:

技术分享图片

 

 

 同样的,我认为这张图也很详细了

1.为什么等待2MSL,结果导向帮助理解

如果A第4次挥手后B没有收到,B会重传第3次挥手(我把它叫做“假想的第5次挥手”),B发出假想的第5次挥手时A等待了至多1MSL(第4次挥手最大存活时间)。等第5次挥手到达A,又会花费至多1MSL(假象的第5次挥手最大存活时间)。那么A明确B不能收到自己的第4次挥手需要至多2MSL。所以A需要等待2MSL才能判断B是否收到了第4次挥手。

 

参考文档:

1.https://baijiahao.baidu.com/s?id=1654225744653405133&wfr=spider&for=pc

2.https://www.zhihu.com/question/24853633

3.https://www.zhihu.com/question/67013338

 

求职路漫漫[TCP握手挥手]

原文:https://www.cnblogs.com/wooooc/p/14824061.html

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