当前位置:网站首页>关于TCP连接四次握手(或者叫四次挥手)的详细总结
关于TCP连接四次握手(或者叫四次挥手)的详细总结
2022-06-25 03:58:00 【生活甜甜好运连连】
四次挥手的过程:
(客户端 || 服务器均可主动发起挥手动作。 假设客户端先发起挥手动作(关闭请求)。假设将客户端视为主动方,服务器视为被动方。)
| 第一次挥手 | 第二次挥手 | 第三次挥手 | 第四次挥手 |
From A to B | 客户端 → 服务器 | 服务器 → 客户端 | 服务器 → 客户端 | 客户端 → 服务器 |
状态 | 客户端: ESTABLISHED→ FIN_WAIT1 | 服务器: ESTABLISHED→ CLOSE_WAIT 客户端: FIN_WAIT1→ FIN_WAIT2 | 服务器: CLOSE_WAIT→ LAST_ACK
| 客户端: FIN_WAIT2→ TIME_WAIT(经过时间等待计时器设计的时间之后)→CLOSED 服务器: LAST_ACK→ CLOSED
|
报文名字 | FIN 报文 (连接释放报文段) | ACK 报文 (确认报文段) | FIN 报文 (连接释放报文段) | ACK 报文 (确认报文段) |
发的啥 | FIN = 1 序号:seq = u | ACK = 1 确认号=客户端初始序列号(ISN)+ 1: ack = u + 1, seq = v | FIN = 1, ACK = 1 确认号ack = u + 1, seq = w | ACK = 1 确认号ack = w + 1, seq = u + 1 |
啥意思 | FIN == Finish 表示它(客户端)不再发送任何数据 | ACK == Acknowledge 通知对方(客户端):你方的发送通道已经关闭 | FIN == Finish 表示它(客户端)不再发送任何数据 | ACK == Acknowledge 通知对方(客户端):你方的发送通道已经关闭 |
发送通道是否关闭 |
| 主动方收到ACK报文,状态由FIN_WAIT1→ FIN_WAIT2,主动方的发送通道关闭。 | 主动方收到FIN报文,内核自动回复ACK报文,连接状态由FIN_WAIT2→ TIME_WAIT,Linux系统下大约1min后TIME_WAIT状态的连接才会彻底关闭。 | 被动方收到ACK报文,连接关闭。 |

关于TIME_WAIT状态的几个问题:
为什么主动方要TIME_WAIT(经过时间等待计时器设计的时间之后)→ CLOSED ?
因为主动方向被动方发送ACK报文,被动方在没有收到ACK报文之前还处于LAST_ACK状态,如果主动方发送的此ACK报文没有到达被动方,被动方会重发FIN报文。
如果主动方不保留TIME_WAIT状态,直接从TIME_WAIT到CLOSED状态,此时主动方连接的端口恢复自由身,可以创建新的连接了。然而被动方的FIN报文可能再次到达(网络中的路由器重复发送的 || 被动方未收到tcp_orphan_retries参数重发的),这样正常通讯的新连接就可能被重复发送的FIN报文误关闭。因此,保留TIME_WAIT状态可以应付重发的FIN报文。
TIME_WAIT状态过多怎么办?
TIME_WAIT状态如果过多就会占用系统资源。
解决办法?
• 修改TIME_WAIT连接状态的上限值
• 启动快速回收机制
• 开启复用机制
• 修改短连接为长连接方式
• 由客户端来主动断开连接
边栏推荐
- 5 key indicators of SEO: ranking + traffic + session + length of stay + bounce rate
- Laravel document sorting 9. Blade template
- 升级cmake
- Simple integration of client go gin 11 delete
- SEO的5大关键指标:排名+流量+会话+停留时长+跳出率
- kenlm
- Cesium drag 3D model
- WMS仓储管理系统的使用价值,你知道多少
- The 5th series of NFT works of missing parts was launched on the sandbox market platform
- Lecture record: history and development of strapdown inertial navigation solution
猜你喜欢

Text keyword extraction: ansj

Simple integration of client go gin -update

Hot and cold, sweet and sour, want to achieve success? Dengkang oral, the parent company of lengsuanling, intends to be listed on the main board of Shenzhen Stock Exchange

Hello CTP (IV) - CTP transaction API
![LeetCode 剑指Offer II 091 粉刷房子[动态规划] HERODING的LeetCode之路](/img/ad/69fce7cf064479a0ddd477fb935de2.png)
LeetCode 剑指Offer II 091 粉刷房子[动态规划] HERODING的LeetCode之路

Read lsd-slam: large scale direct monolithic slam

Color NFT series representing diversity launched on the sandbox market platform

Development of trading system (I) -- Introduction to trading system

Development of trading system (VII) -- Analysis of trading delay

Development of trading system (V) -- Introduction to Sinovel counter
随机推荐
CMD operation MySQL in Windows
Development of trading system (XII) - Official quickfix document
Failed to install redis interface
学习码 滚动码 固定码 有什么区别重码数,编码容量滚动码的原理
Development of trading system (x) -- fix agreement
Development of trading system (II) -- market data
Trading system development (IV) - trading counter system
Development of trading system (III) - risk control system
Lecture record: new application of inertial navigation - inertial measurement
Development of trading system (IX) -- dark pool technology
openmmlab-环境配置
How much do you know about the use value of WMS warehouse management system
numpy np tips:使用opencv对数组插值放缩到固定形状 cv2.resize(res, dsize=(64, 64), interpolation=cv2.INTER_CUBIC)
Development of trading system (V) -- Introduction to Sinovel counter
English Grammar - pronunciation rules
小心被偷脸!天天用的人脸识别风险原来这么多?
5 key indicators of SEO: ranking + traffic + session + length of stay + bounce rate
La gamme NFT Color, qui représente la diversité, est en ligne sur la plate - forme du marché Sandbox
A-table mouse over the display hand, the current line can be clicked
Doubts about judging the tinyint field type of MySQL