TCP拥塞控制(CC),让我不得开心颜
如题:TCP拥塞控制,让我不得开心颜!!
你想让你的TCP连接更快吗?必须想!
你有什么办法?没有!
我告诉你,你想依靠修改或者创造一个TCP拥塞控制算法来达到加速的目的,你错了,大错特错了,拥塞控制算法不是干这个的,这是不可能的!
我告诉你,你要是想加速你的TCP传输速率,你必须更改你的TCP拥塞状态机!
拥塞控制,即CC(Congestion Control),不可能让你的连接速度更快!相反,你要想让你的连接速度更快,你必须无视CC,你必须打破CC!
你想更快开车到达目的地吗?是的,每个人都想!你要做什么?假设你的车技一流,你要做什么?很简单,你要做的仅仅是无视法律法规,无视交通法则,超速再超速,加塞变道甚至打架杀人,你就能最快速度到达,你要付出的代价仅仅是违法的惩罚,或者是当你打不过别人时自己受到的伤害…在此过程中,无论是红绿灯,转盘,互通立交,高架匝道,全部都属于CC的范畴,你想快,你必须打破它们,无视它们!非常简单!
CC永远是在限制,而不是在促进!你想快就要无视它!
没有CC,尽情发送,你就是第一,然而代价是,你必须要善后你为此而遭遇的失败,比如重传什么的,而这是需要成本作为支撑的。
最近一个例子,请看一个patch,从下面开始的4个patch:
[net-next,0/4] tcp: implement SACK compression:https://patchwork.ozlabs.org/cover/915391/
我把该patch的主旨贴如下:
When TCP receives an out-of-order packet, it immediately sends
a SACK packet, generating network load but also forcing the
receiver to send 1-MSS pathological packets, increasing its
RTX queue length/depth, and thus processing time.Wifi networks suffer from this aggressive behavior, but generally
speaking, all these SACK packets add fuel to the fire when networks
are under congestion.This patch adds a high resolution timer and tp->compressed_ack counter.
Instead of sending a SACK, we program this timer with a small delay,
based on SRTT and capped to 2.5 ms : delay = min ( 5 % of SRTT, 2.5 ms)If subsequent SACKs need to be sent while the timer has not yet expired,
we simply increment tp->compressed_ackWhen timer expires, a SACK is sent with the latest information.
just 扁粉!
看到了吧,真正好的CC,旨在尽可能阻止你发不该发的包,而不是激发你发送不该发送的包。
我不知道为什么现如今国内这么多的厂商都在热衷于TCP加速,这使我不得开心颜。这就好像每个人都在炒股理财,为了自己发财一样,不过这无可厚非,毕竟理财需要门槛,你很难做到损人利己。
然而TCP加速不同,TCP加速和高速公路超速变道一样,最终是损人不利己的。然而每人都这么做,劣币驱逐良币,就是如此,你正确,你就会被驱逐。
多少人知道Reno,CUBIC,多少人知道Vages,知道BBR…然而很少有人知道这其中如何衡量公平性,大多数相关领域的博士,学者对这些都是耳熟能详,他们的资料也是汗牛充栋,然而他们并不懂这些paper背后的哲学。只要自己好,没有人管别人好不好,特别在中国。
没有一个人在乎公平性,没有人在乎别人能不能传输,全部都是自私地为了自己,如果腾讯视频能传输数据,那么腾讯视频恨不得全网都是腾讯的,如果换成爱奇艺,那么也一样,技术被商业利益绑架,搞的让人觉得技术很无能,而实际上,真正的SB,真正的技术奸人,就是那些不懂技术的所谓技术经理,他们才是最可恶的罪魁祸首。
然而,需求也是他们提供的,没有他们,技术工程师甚至不知道做什么…这比较悲哀。
经理们啊,穿西装的经理们啊,穿皮鞋的经理,们!
拥塞控制,使我不得开心颜!
谢特,爆炸!浙江温州皮鞋湿!
TCP拥塞控制(CC),让我不得开心颜相关推荐
- tcp拥塞控制编程实验c语言代码,C语言 计算机网络TCP拥塞控制模拟程序
帮助你更好地认识TCP拥塞控制的机制 #include "stdio.h" #include "stdlib.h" void show() { //system ...
- TCP流量控制-TCP拥塞控制 拥塞控制与流量控制的区别
拥塞控制与流量控制的区别: 拥塞控制是让网络能够承受现有的网络负荷,是一个全局性的过程,涉及所有的主机.所有的路由器,以及与降低网络传输性能有关的所有因素. 相反,流量控制往往是指点对点的通信量的控制 ...
- 5.3.5 TCP拥塞控制
5.3.5 TCP拥塞控制
- 【计算机网络】传输层 : 总结 ( TCP / UDP 协议 | 寻址与端口 | UDP 协议 | TCP 协议特点 | TCP 连接释放 | TCP 流量控制 | TCP 拥塞控制 ) ★★★
文章目录 一.传输层 TCP / UDP 协议 ★ 二.寻址端口号 ★ 三.UDP 协议特点 四.UDP 协议首部格式 五.UDP 校验 六.TCP 协议 特点 ★ 七.TCP 报文段首部格式 八.T ...
- 【计算机网络】传输层 : TCP 拥塞控制 ( 慢开始 | 拥塞避免 | 快重传 | 快恢复 )
文章目录 一.TCP 拥塞控制 二.TCP 拥塞控制算法 三.慢开始 和 拥塞避免 算法 四.快重传 和 快回复 算法 一.TCP 拥塞控制 TCP 拥塞控制 : ① 拥塞出现表现 : 资源需求总和 ...
- 计算机网络-基本概念(9)【传输层】TCP拥塞控制 【网络层】拥塞避免
TCP拥塞控制 对网络中某一资源的需求超过了该资源(带宽.交换节点中的缓存.处理机)所能提供的可用部分.防止过多的数据注入网络中,防止路由器或链路过载,是属于全局性的过程,包括主机.路由器.链路等设备 ...
- s6-8 TCP 拥塞控制
TCP 拥塞控制 虽然网络层也试图管理拥塞,但是,大多数繁重的任务是由TCP来完成的,因为针对拥塞的真正解决方案是减慢数据率 分组守恒:当有一个老的分组离开之后才允许新的分组注入网络 TC ...
- TCP 拥塞控制详解
作者:engleliu,腾讯 PCG 开发工程师 本文主要介绍 TCP 拥塞控制算法,内容多来自网上各个大佬的博客及<TCP/IP 详解>一书,在此基础上进行梳理总结,与大家分享.因水平有 ...
- tcp拥塞控制_网络TCP的拥塞控制算法简介
作为网络中使用最广泛的传输协议,TCP的拥塞控制机制是学术界和工业界关注的焦点问题之.然而,目前广泛使用的TCP传输协议的拥塞控制算法仍然使用相对固定的窗口调节策略,无法根据动态变化的场景自适应地调整 ...
最新文章
- MySQL数据库中as和distinct关键字
- iOS 9应用开发教程之显示编辑文本标签文本框
- 《Java程序员,上班那点事儿》书名的由来
- 正则表达式的简单认识
- matlab中去掉矩阵重复行并且不改变原顺序
- 工业用微型计算机笔记(1)-进制转换
- SpringBoot项目中静态资源加载失败,那可能是自定义配置类继承了WebMvcConfigurationSupport这个类
- Visual Studio开发工具分配字符数组的问题
- Android版日语学习应用的逆向分析
- 钉钉总裁不穷:周末最烦写周报还有被人钉
- 基于51单片机智能交通灯电路方案设计
- PR如何调整输出视频的分辨率?
- ERROR: http://dl-cdn.alpinelinux.org/alpine/v3.9/main: DNS lookup error
- Hexo 好看且实用的主题推荐
- electron-rebuild 编译遇到的奇葩问题
- Pandas实现列表分列与字典分列的三个实例
- MT7688 openwrt 4G调试
- I2C-两线外设接口-用于ArduinoNano, uno ,Mega2560
- correl函数_CORREL函数用法讲解
- Confluence 6 配置快速导航