考虑下面的网络传输场景:

S1,S2,S3,S4 向 D 方向发送,R4 发生拥塞。R4 必须丢弃一些数据进行疏导反馈拥塞信号,否则谁也过不去。
优先丢掉离得最近的 S4 的数据,其次依次丢 S3,S2,S1。依据是 S1 已经走这么远了,丢掉 S1 流量的话,R1,R2,R3 的工作就浪费了,趁着 R4 刚上路,就丢 R4,此外,S4 距离 R4 最近,丢包反馈可更快到达,更快缓解拥塞。

以上是午饭后想到的。引申一下,可以根据 IP 头的 TTL 字段指示丢包决策,TTL 越大,丢包概率越大。

每经一跳转发,即经一次收敛,“收敛” 度量和其它流量共享带宽的程度。收敛次数越多,统计平均来看,特定一条流的占比越小,虽占比小拥有更大加速比,但获得的更大加速比被逐跳稀释。同时,每一跳拥塞是 “or” 关系,经由跳数越多,经历拥塞概率越大,显然这是一个漏桶。

综上,流量源越远,转发至此成本越高,丢弃后对全链路资源越浪费,但越远的流量属强弩之末,抢占力越差,对当前节点拥塞贡献越小。

策略显然是:丢包越早越好,拥塞通知越远越好,通知强度越近越低,因为缓解不了还能丢包。

  • 必须丢包时,丢掉始发站至此距离最近的报文。
  • 按照始发站至此由远而近强度递减通告 ECN。

尽量让已经被转发了很远的报文安全通过,否则前面的逐跳转发能耗就浪费了。对来自越远方的流量越宽容,给它们强烈 ECN 压力但尽量不丢弃,反之,对离得越近的流量越严格,ECN 压力不大,ECN 无效后则用丢包来提示拥塞,反正丢了对整体资源浪费也不大,对于这些距离拥塞源近的不幸流量,优先丢弃刚刚上路的报文,将拥塞尽量抑制在离源头近的地方意味着及时止损,不可惜,整体上能耗有效利用率反而较好。

在具体实践上,还可以让反向流量捎带 ECN。意思是用五元组倒置查询反向队列,命中后将 ECN 打入这些报文,可以加快 sender 感知,又不增加额外源抑制流量。

回到最初的午休图,虽合理,但凭什么丢 S4 的流量,这不公道。

看起来 S1~S4 都平等地向 D 的方向发数据,且拥塞看起来是 S1~S3 的汇聚流量导致,凭什么丢无辜的 S4。

首先,从技术上讲,不能无条件按 TTL 丢包,TTL 丢包应是级联的最后一个策略,在此之前应该先按流量加权公平排队以及其它可能的更公平排队规则。

其次,假设已经完成加权公平排队,如果 S4 流量 > S1,S2,or S3 流量,那理应丢 S4 流量,而上述衰减法则使 S4 流量 < S1,S2,or S3 流量概率极低,若发生,在 TTL 丢包前应发现,TTL 丢包的意义在于,如果 S1,S2,S3,S4 流量均匀相等,丢 S4 是有意义的。

并非对 S4 不公平,只能说 S4 很不幸,拥塞在 R4 已经发生,必须取舍,只能牺牲 S4,这样对全局能效最佳。拥塞控制作为一个整体,必须看全局意义。

上周末写过一些想法。去中心分布式网络本质上是有损的,丢包必存在,除端到端算法需高效且收敛,网络对丢包的决策也要在全局上保持高效。

文初场景,你可能觉得岂不是便宜了 S1?非也!如果 S1 有意激进发送,拥塞点大概率转移到 R1,按照相同的策略,被丢弃的就是 S1 的流量了。这策略足够公平且它本身就是个紧箍咒反馈环,所以别作恶。

值得一提的是,对于 capacity-seeking protocol,单跳 buffer 场景经过了普遍的分析和论证,但对于级联 buffer,N’ = N * T / (T + N) < N 逐级衰减将损害这些 protocol 的 probe 行为的公平性,比如 AIMD 的 AI 例程和 BBR 的 probeup 例程,而 TTL -based 丢包将缓解这种不公。

本文上述 TTL 并不单指 IP 的 TTL,vxlan 内可携带,自定义协议也可携带,大致只是借用 TTL 这个概念说个意思,此外,上述 ECN 也并不单指 TCP/IP 的 ECN,大致只是借这个概念说个主动拥塞通知的意思。

总结一下本文要旨,当损失只涉及单条流时,比如拥塞排队,那就排着吧,一旦损失涉及到他者,比如其它公共设施,就要全局考虑,让损失最小化,比方说不能造成其它公共设施由于做无用功而浪费资源。

还是现实中的例子。

医院挂号看病如果能照这个策略实施就好了,如果截止最后时间还剩下几个号,优先给远路过来看病的,因为来一趟太麻烦了,如果不这么做,难免会对公共设施造成不必要的消耗,如果病人返回家,来回这一趟就白跑了,这是对能源的损耗,如果病人选择住宿,就要占位置,也是对公共资源的消耗。距离医院近的,大不了第二天再来,也方便。

超市的情况看起来和 TTL 丢包策略相反,但其实类似,超市有小件物品快捷结账通道,越是路远的买的东西越多,越要排队,但排队是有平均排队时间的,和超市关门不一样。如果超市到了关门时间,往往会关闭小件快捷通道,分流大件物品排队,还是要照顾远道而来的,至于买小件的,不想排队,出门去便利店买也一样,虽然贵,但买的不多,也贵不到哪里。

拥塞控制的目标不是为了提高效率,而是为了最小代价止损,因为拥塞本身已经是损失了。在分布式网络中,网络比端到端连接更具有全局视角,做出的决策对止损更加有益。

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

网络拥塞控制,对越远的流量越宽容相关推荐

  1. 运输公司对用户计算运输费用。路程越远,运费越低。标准如下:

    2.运输公司对用户计算运输费用.路程越远,运费越低.标准如下: #include <stdio.h> int main() { float p,w,s,d,f; printf(" ...

  2. 为什么150kHz定位,距离越远接收信号越强呢?

    简 介: 本文回复了参加智能车竞赛的队伍在使用150kHz电磁导航过程中遇到的奇怪的现象.通过这些分析可以看到电磁导航的作用的发挥适合将这项比赛引申到室外环境. 关键词: 150kHz,电磁导航智能车 ...

  3. 运输公司对用户计算运费,路程越远,折扣越多,标准如下图

    路程s(千米) 折扣 s<250 0% 250<=s<500 2% 500<=s<1000 5% 1000<=s<2000 8% 2000<=s< ...

  4. C语言-运输公司对用户计算运输费用。路程越远,运费越低。标准如下:

    s<250 没有折扣 250≤s<500 2%折扣 500≤s<1000 5%折扣 1000≤s<2000 8%折扣 2000≤s<3000 10%折扣 3000≤s 1 ...

  5. 中国大学校区为啥越搬越远远远远远?

    上大学宛如被流放 大学开学一个月了,新生们是否真的过上了高中老师说的幸福生活--"上了大学你们想谈恋爱随便谈,想睡觉随便睡,想去哪儿玩去哪儿玩",谈恋爱和睡觉倒还有可能,但想去哪儿 ...

  6. 企业网络推广专员浅析是否网站权重越高企业网络推广效果越好?

    现如今越来越多的企业选择线上营销与线上营销双向结合,通过线上营销的方式瓜分互联网中可获取的资源,借助互联网推广后提升企业品牌知名度,增强自我竞争力,从而获得更多用户和流量,成为行业中的领头羊.然而理想 ...

  7. 关于ALEXA排名:流量越大越可靠

    一份将互联网上所有网页按流量分类的名单-- 通过分析ALEXA工具条用户的网页行为,ALEXA计算出流量排名.这些信息被分拣.审查.清点与统计,最后流量排名信息将被显示在ALEXA服务中.这个过程相当 ...

  8. 不要和诱惑较劲,而应离得越远越好。!!!

    时刻告诉自己,做事之前防范于未然,未雨绸缪: 某大公司准备以高薪雇用一名小车司机,经过层层筛选和考试之后, 只剩下三名技术最优良的竞争者.主考者问他们:"悬崖边有块金子,你们开着 车去拿,觉 ...

  9. 文献读的越多,离原创越远

    纵观科学史,诸如牛顿.爱因斯坦等科学巨匠们,TA们凭着探究世界奥秘的好奇心,创立了已载入史册的伟大理论.想一想,在TA们在那个缺乏可参考文献且科研条件差的时代,却有诸多的原创科学发现,但在文献多如牛毛 ...

最新文章

  1. 微服务治理实践 | 金丝雀发布
  2. Nginx主主负载均衡架构
  3. 罗斯蒙特电磁流量计8723说明书_罗斯蒙特8732EM电磁流量计变送器如何接线!
  4. 从源码编译InfluxDB
  5. IT工程师必备的认证
  6. MAVEN_OPTS=-Xms128m -Xmx512m
  7. php substr的用法,php substr(函数用法)
  8. 【深度学习】数据降维方法总结
  9. zabbix JMX监控 tomcat
  10. 3.运算符与表达式,控制流
  11. 两个栈实现一个队列与两个队列实现一个栈
  12. 此实现不是 Windows 平台 FIPS 验证的加密算法的一部分的解决办法方案
  13. Windows使用自定义消息实现进程之间通信
  14. 文件编码 linux,【原创】Linux基础之文件编码
  15. python数据库操作批量sql执行_Python批量修改数据库执行Sql文件
  16. 勇芳软件测试,勇芳自动刷分精灵
  17. Dell笔记本Alienware Command Center监测不到CPU和内存数据
  18. Linux命令行配置无线,Linux_CentOS-6.4无线上网命令行配置介绍,待连接的WIFI的ssid为“thmrdq - phpStudy...
  19. Java企业汽车调度系统
  20. 【企业分析】拉勾、Boss直聘、猎聘

热门文章

  1. 项目经理与产品经理的区别
  2. Opencv图像处理——水平线和垂直线的提取
  3. VISIO画出占满页面的PDF矢量图
  4. 旅游流的概念_国内旅游流综述
  5. 团员大会如何写组织学习计算机知识,团支部召开接收新团员的支部大会的会议记录怎么写?...
  6. 怎么把线稿提取出来_如何利用PS提取图片线稿?
  7. 移动商务,还是短信商务?
  8. CAN总线车联网透传云网关简介
  9. 新手期货开户的时候需要准备什么呢?
  10. .vm后缀的文件是什么?