随手写点感想。

有人说CUBIC带宽利用率低,有人说BBR存在这样那样的问题,于是很多魔改版本纷至沓来,于是各式各样的实验室CC寒武纪大爆发,最终还是出不了实验室,最终还是这样那样的问题。

问题的根源在哪里?如何才能写一个好的拥塞控制算法?

在我看来,类似Linux内核中的CUBIC,Vegas,BBR,PCC这样的一个C文件里几个回调函数的CC,几乎已经接近这种形式CC的极限了,很难再有突破。

这种形式的算法能利用的信息太少,熵太高,需要更多的信息,但没有。能直接采集到的信息是什么?仅仅是从不断到来的ACK中采集到的确认情况以及并不精确的RTT。

希望通过平滑积累ACK信息的瞬时值而获得更多的信息,十有八九就是靠猜。

如果想写一个很厉害的拥塞控制算法,无非就一点,那就是更多的信息,问题是,信息从何而来?就两个渠道:

  • ACK反馈更多信息。
  • ACK信息积累成大数据,AI分析。

对于第一点,IDC内部已经如火如荼,比如交换机可以设置ECN,比如HPCC,交换机可以设置更丰富的信息带回到sender指导拥塞控制。

对于第二点也不难理解,从单独的瞬时ACK中很难获得精确信息,多次平滑累积本身就是有损的拟合,但如果把每一次信息都记下来,组成一张大散点图,就可以发现其中的一些模式特征了,这就是有用的信息。

甚至可以两者结合。TCP头部空间有限,无法携带太多的信息,但交换机,sender,receiver三者可以将AI计算的结果形成字典,交换机只需要塞入一个字典索引,sender,recerver就可以根据该索引检索到相应的模式了,进而采取对应的action。


浙江温州皮鞋湿,下雨进水不会胖。

如何写一个好的拥塞控制算法相关推荐

  1. TCP拥塞控制算法纵横谈-Illinois和YeAH

    周五晚上,终于下了雨,所以也终于可以乱七八糟多写点松散的东西了... 方法论问题. 这个题目太大以至于内容和题目的关联看起来有失偏颇,不过也无所谓,既然被人以为"没有方法论"而鄙视 ...

  2. 「深度好文」TCP BBR拥塞控制算法深度解析

    linux服务器开发相关视频解析: tcpip,accept,11个状态,细枝末节的秘密,还有哪些你不知道 徒手实现网络协议栈,请准备好环境,一起来写代码 c/c++ linux服务器开发学习地址:c ...

  3. 漫谈TCP拥塞控制算法(2)

    刚看了会儿关于流体模型和排队论的东西,觉得太高端了,但实际能做的事情又很少,有感而发,写篇随笔. TCP的拥塞控制远不止Linux内核源码树的net/ipv4目录下的那些,事实上那些算法误导了算法的实 ...

  4. 让人很容易误解的TCP拥塞控制算法

    正文 很多人会认为一个好的TCP拥塞控制算法会让连接加速,这种观点是错误的,恰恰相反,所有的拥塞控制算法都是为了TCP可以在贪婪的时候悬崖勒马,大多数时候,拥塞控制是降低了数据发送的速度. 我在本文中 ...

  5. 来自Google的TCP BBR拥塞控制算法解析

    写本文的初衷一部分来自于工作,更多的来自于发现国内几乎还没有中文版的关于TCP bbr算法的文章,我想抢个沙发.本文写于2016/10/15!         本文的写作方式可能稍有不同,之前很多关于 ...

  6. Google的TCP BBR拥塞控制算法深度解析

    原作者:dog250,授权发布 重新整理:极客重生 hi ,大家好,今天推荐一篇我认为在TCP BBR技术里面分析非常透彻的文章,希望大家可以学习到一些真正的知识,理解其背后的设计原理,才能应对各种面 ...

  7. 个人感悟—来自Google的TCP BBR拥塞控制算法解析

    地址:TCR BBR拥塞控制算法另类解析 写本文的初衷一部分来自于工作,更多的来自于发现国内几乎还没有中文版的关于TCP bbr算法的文章,我想抢个沙发.本文写于2016/10/15! 本文的写作方式 ...

  8. TCP 拥塞控制算法 1

    转自:https://mp.weixin.qq.com/s/NIFandX8w-Cynnbl-f2Lwg 拥塞:路由器因无法处理高速到达的流量而被迫丢弃数据信息的现象称为拥塞. 为什么有了流量控制,还 ...

  9. Linux网络协议栈:用eBPF写TCP拥塞控制算法

    其实不想用这个题目的,只因为TCP相关的东西比较吸引人的眼球,这篇文章的主题还是eBPF,而不是TCP. 用eBPF写TCP拥塞控制算法只是本文所讲内容的一个再平凡不过的例子. 先看两个问题,或者说是 ...

最新文章

  1. DbLookUpCombobox的使用方法
  2. Android开发之assets目录下资源使用总结
  3. IE9以及IE9以下,无法执行innerHTML这一操作的解决方法
  4. 苹果“自研”心不死 仍考虑收购英特尔基带业务
  5. linux内核驱动之 设备驱动简介之内核划分
  6. nyoj 买水果(组合数求法与分析)
  7. abaqus帮助文档html,2534-VUMAT用户子程序翻译ABAQUS帮助手册.doc
  8. Homography拓展(含与平面法向量相关的情况)
  9. 异数OS 织梦师-纤手(二)-- LPC RPC篇
  10. 苹果快捷键怎么调出来_原来还有这么好用的CAD快捷键,文末附赠快捷键鼠标垫!留言走起...
  11. Capstone CS5210规格书|低成本HDMI转VGA方案设计
  12. 谷歌浏览器打开CSDN老是弹出安卓网页
  13. 苹果电脑怎么安装python库_Mac环境下安装python库时出现ModuleNotFoundError: No module named 'XXX'...
  14. 在线测试c语言程序代码,C语言在线测评系统的使用
  15. 【Codecs系列】x265编码器(五):CABAC代码分析
  16. 常用的DOS命令(cmd基本操作)
  17. 互联网时代如何维护网络安全
  18. 数据结构考研:数据结构的三要素:逻辑结构,存储结构,数据计算的详细区分与讲解(软件工程/计算机/王道论坛)
  19. 杂谈---LZ的编程之路以及十点建议
  20. arduino 嗡鸣器 音乐_【arduino】继续蜂鸣器音乐播放,arduinoIDE里调用音乐播放库...

热门文章

  1. 某酷音乐网多线下载工具 v1.0
  2. 与、或、非、同或、异或门
  3. 服务器智能阵列,月亮雨小组的天地-HPE ProLiant Gen10 服务器智能阵列卡S100i SR Gen10 BIOS下开启阵列功能配置阵列并安装win2016系统...
  4. 重庆大学李婷婷计算机学院,计算机学院成立平安校园巡查队的通知
  5. 优秀网页设计:30个优秀的汽车网站设计欣赏
  6. JSON的两种解析方式
  7. 清华站gitlab-ce下载太慢,如何本地安装?
  8. SmallJava产品说明书(20210417)
  9. android登录窗口化,【精】【转】安卓实现窗口化不再是梦想
  10. 漫画:史上最生动的「归并排序」