当前位置:网站首页>MIN_RTO 对话
MIN_RTO 对话
2022-07-04 03:52:00 【dog250】
经理:为啥 minrto 要 200 ms 那么大?
工人:你说的是 Linux 吧?
经理:不管什么系统,anyway,whatever,为啥 minrto 那么大,比如 200 ms,100 ms ?
工人:因为要照顾 Delayed ACK,避免不必要超时重传。规范说 Delayed ACK 的 delay 时长大概是 minrto 这个量级,比如 50 ms,100 ms,200 ms。
经理:原来如此,那为啥 minrto 不能每连接配置呢 ?
工人:因为 Delayed ACK 时间不能每连接配置,且 delay 时间对端不知道。
经理:我若确保我的连接在 IDC 内呢,RTT 不可能超过 1 ms 。
工人:Delayed ACK 该 delay 多久还是多久,且接收端不知道发送端在 IDC 内部。
经理:那我强行改 minrto 为 200us 呢 ?
工人:rto 精度为 ms,达不到 us。
经理:我若改了实现,精度达到 us 呢 ?
工人:经理有这个能力吗?
经理:你有就行,现在就改,不然开除你。
工人:我已改好,但仍然不允许你配置每连接 minrto,这个必须全局定死,且必须与 Delayed ACK 量级一致。
经理:这 TMD 为什么?
工人:如果完全照 RTT 算 rto,全世界遵守 Delayed ACK 规范情况下将造成频繁不必要超时重传,造成互联网拥塞!不必要超时重传造成互联网拥塞使所有拥塞控制机制付之东流。
经理:我保证只在 IDC 使用,不堵公网。
工人:有配置就肯定有人用,你兜不住的,人们必然会错误配置,就会堵互联网。不能开这个口子!
经理:还有别的办法吗?
工人:你想咋搞,偷摸的,别声张。
工人:Google 有两个方案,支持 us 时间戳,但不解决根本问题。
经理:那我找工人偷摸搞吧。
工人:经理好运!
附:
draft-wang-tcpm-low-latency-opt-00
draft-yang-tcpm-ets-00
很多 “不能开口子” 的配置,比如 Timewait 时间。全局考虑是必要的,若要保证这个全局,“什么配置是可以随意改的” 就需要严格控制。
拥塞控制要保证一个数据包有且只有一个副本在网络上,因此 “避免不必要重传” 就是要严格制止的,虽然你有权力任意修改 TCP 实现,但原则上你是违规的。因此,标准能带头违规吗?显然不行。
很多私有实现中,MIN_RTO 已经可配置,但这确实不好公开。
浙江温州皮鞋湿,下雨进水不会胖。
边栏推荐
- 苹果CMS仿西瓜视频大气响应式视频模板源码
- Perf simple process for multithreaded profile
- Emlog用户注册插件 价值80元
- NFT新的契机,多媒体NFT聚合平台OKALEIDO即将上线
- TCP-三次握手和四次挥手简单理解
- [csrf-01] basic principle and attack and defense of Cross Site Request Forgery vulnerability
- UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0x98 in position 1093: illegal multibyte sequence
- leetcode刷题:二叉树06(对称二叉树)
- Small record of thinking
- Flink learning 8: data consistency
猜你喜欢
How to telecommute more efficiently | community essay solicitation
Tcp- simple understanding of three handshakes and four waves
Apple CMS imitation watermelon video atmospheric response video template source code
北漂程序员,月薪20K,一年攒15W,正常吗?
架构实战营 - 第 6 期 模块九之毕业设计
[microservice openfeign] @feignclient detailed explanation
Pointer array and array pointer
还原窗口位置的微妙之处
R语言中如何查看已安装的R包
Parameterization of controls in katalon
随机推荐
Parameterization of controls in katalon
R语言dplyr中的Select函数变量列名
The maximum expiration time of client secret in azure ad application registration is modified to 2 years
Flink learning 8: data consistency
Redis:有序集合zset类型数据操作命令
苹果CMS仿西瓜视频大气响应式视频模板源码
Redis cluster view the slots of each node
【微信小程序】好看的轮播图组件
Restore the subtlety of window position
Redis:哈希hash类型数据操作命令
微信脑力比拼答题小程序_支持流量主带最新题库文件
Exercises in quantum mechanics
Touch and take you to implement an EventEmitter
Keysight N9320B射频频谱分析仪解决轮胎压力监测方案
北漂程序员,月薪20K,一年攒15W,正常吗?
hbuildx中夜神模拟器的配置以及热更新
分布式系统:what、why、how
2021 RSC | Drug–target affinity prediction using graph neural network and contact maps
laravel admin里百度编辑器自定义路径和文件名
Activiti7 task service - process variables (setvariable and setvariablelocal)