图解计算机网络:TCP协议三次握手与四次挥手
创作时间:
作者:
@小白创作中心
图解计算机网络:TCP协议三次握手与四次挥手
引用
CSDN
1.
https://blog.csdn.net/weixin_43889578/article/details/136087435
TCP协议三次握手与四次挥手
TCP协议的三次握手和四次挥手是网络通信中非常重要的概念,它们分别负责建立和断开TCP连接。下面将详细介绍这两个过程及其背后的原理。
三次握手流程
- 首先是客户端(也就是我们的浏览器)发送一个SYN标志位为1的请求报文,表示请求建立连接,此时客户端进入SYN-SENT状态;
- 然后服务器接收到之后会返回一个SYN和ACK标志位为1的报文,表示响应客户端的连接请求,并请求客户端建立连接,此时服务端进入SYN-RCVD状态;
- 最后客户端返回一个ACK标志位为1的报文,于是双方进入ESTABLISHED状态,表示连接建立成功。
为什么是三次握手,而不是两次或四次
- 三次握手可以防止历史连接建立请求导致的错误连接初始化。
比如我们有一个客户端向服务器发起握手请求,握手请求报文的seq num是90但是此时网络阻塞,导致握手请求的报文迟迟没有到达服务器。
然后我们重启了客户端,此时重新发送连接建立请求的报文,这次报文的seq num是100,此时网络通畅了,seq等于90的握手请求比seq等于100的握手请求先到达。
此时服务器会先响应一个ack等于91的响应报文,然后客户端接收到之后,会返回一个RST标志位为1的报文。RST标志位为1,表示这个连接要终止。
这样,服务器没有为这个错误的握手请求建立连接并初始化相应的资源。而是等到seq等于100的握手请求到达,走完三次握手,才会真正建立连接,并开始数据的传输。
如果现在两次握手就建立连接了,就会变成这样:
两次握手就建立了连接,服务端就会为这个连接初始化一系列资源,然后后面收到RST包后又终止连接,这就纯属资源浪费了。 - 三次握手才能确定双方的seq序列号。
首先客户端与服务器的一来回,可以确定客户端的序列号。
然后服务器到客户端的一来回,可以确定服务端的序列号。
第二次和第三次可以合为一次握手请求,于是三次握手请求就可以确定双方的序列号。
至于为什么不是四次、五次握手,那是因为三次就足够,三次握手已经可以处理历史连接建立的请求和确认双方的序列号,再多次数的握手就是多余的。
四次挥手流程
- 客户端发起断开连接请求(也可以是服务端断开连接请求),发送一个FIN标志位为1的报文,代表客户端请求断开连接,此时客户端的状态变成FIN_WAIT_1。
- 服务器接收到断开连接的请求报文后,返回一个ACK标志位位1的报文,此时服务端的状态变为CLOSE_WAIT。
- 客户端接收到响应报文之后,状态变成FIN_WAIT_2,然后等待服务端传输完剩下的数据后,发送FIN标志位为1的报文。
- 服务端等传输完数据后,就会发送一个FIN标志位为1的报文。
- 客户端接收到这个FIN标志位为1的报文后,会返回一个ACK标志位为1的报文,然后进入TIME_WAIT状态,等待两个MSL(报文最大生存时间),然后进入CLOSE状态,连接真正关闭。
- 服务端接收到客户端返回的这个FIN标志位为1的报文,就会进入CLOSE状态,连接关闭。
TIME_WAIT 为什么要等待 2MSL
当主动断开连接一方(也就是上面的client)最后一个ACK数据包发送的时候丢失了,被动断开连接一方(也就是上面的server)就会重新发送FIN报文。
等待2MSL目的就在于出现这种情况的时候,主动断开连接一方保证可以接收到被动断开连接一方重发的FIN报文。
如果等待的时长不足2MSL,那么就无法保证能够接收到被动断开连接一方重发的FIN报文;不等待更长的时间,那是因为如果此时网络不可靠,在2MSL时长内也无法让主动断开连接一方接收到被动断开连接一方重发的FIN报文,那么等待再长的时间也是没有意义的,比如现在是丢包率百分之一百的网络,等再长的时间也是白等。
为什么握手是三次,挥手是四次?
因为主动断开连接的一方发送断开连接的请求时,可以确定主动方已经没有数据需要传输了,但是无法确定被动断开连接一方是否已经没有数据需要发送。因此如果当被动方接收到主动方发送的FIN报文之后,返回一个ACK报文给主动方之后,还需要把剩下的数据发送完。
此时主动方虽然不能再发送数据,但是还可以响应ACK报文,所有还是可以接收被动方发送的数据。
本文原文来自CSDN,作者:weixin_43889578
热门推荐
Triton矩阵乘法的缓存优化技术详解
倚天屠龙记主人公及人物介绍
超怪力的战士!假面骑士Kiva(月骑)德伽形态数据大揭秘!
刘表入主荆州,为何弃江陵不用,反而把治所北迁至襄阳?
刘表治下的荆州与襄阳
如何在众多居住选择中找到理想之地?这个理想之地的特征有哪些?
南京航空航天大学电子科学与技术学科博士点启动建设
刑事自诉状与民事起诉状的区分及应用要点
权威指导!11类民事案件起诉状、答辩状示范文本应用指引来啦!
硫基复合肥与氯基复合肥的区别,成分、工艺、适用范围等方面均不同
如何理解国债市场的价格波动?这种价格波动对投资组合有何影响?
永泰电气软启动器面板按键失灵维修指南
刚刚!万达总裁辞职!
服务器应该配备哪种类型的网卡?
怪物猎人荒野太刀用法教学 怪猎荒野太刀强度解析
古代帝王的谥号:从一字到25字的演变史
留胡子热潮:为什么欧美人更青睐?东亚人却不跟风?
买书应该去哪些书店买?藏书无数!帮你找到最合适的买书圣地!
企业破产重组后原股东的股份怎么处理
马克沁机枪:改变战争面貌的发明
马克沁机枪的发明,使陆上作战发生革命性变化,终结了一个时代
吃对食物,让你的牙齿更健康
生猪育繁推一体化建设思考
医生解答:哪个年龄段容易出现眼袋?
HR压工资是什么意思?
全美生活成本最贵的大学城Top 10:哭了! 去这些地方留学真的好烧钱!
年轻人不喝白酒了?烟酒批发商面临生死转型
黄花鱼和黄鱼有什么区别?别买错了,价格有区别!
黄花鱼和黄鱼的区别:从外观到烹饪的全面解析
打破80年黎曼猜想纪录!菲尔兹奖得主MIT最新成果!