• Multi-Path Transport 的误区


    不限于 Multi-Path TCP,将 MP(Multi-Path) 传输作为一种加速手段的认知是错误的,MP 传输的真正目标是通过池化各条路径的带宽资源来分散疏导拥塞。

    假设有 3 条冗余路径,MP 传输不能以抢占 3 倍带宽为目标,除非所有路径空闲。总体而言,MP 传输有以下原则:

    • 多路径传输带宽不小于单路径传输,为部署多路径传输提供动机。
    • 多路径传输任何子路径上,均不能损害既有流量的公平性。
    • sender 尽量将流量调度到最不拥塞的子路径。

    孰对孰错,举个例子:
    https://pic3.zhimg.com/80/v2-4583031bb4b860f1c823e2ebca2ed5ce_1440w.webp

    说两个和网络传输无关但本质相同的事。主要阐述若不遵守 MP 传输 3 原则,将会怎样。

    布雷斯悖论不赘述,大意是,路修得越多越堵车。究其原因,就是违背了 MP 传输 3 原则。将某条路看做 “近路”,一旦有近路,所有车都将涌入。布雷斯悖论来自自私,原有的纳什均衡点一旦被破坏,拥塞将会迅速收敛到某条具体路径上,此后拥塞就在多条路径之间摇摆。

    违背 MP 3 原则甚至会妨碍 sender 做拥塞控制。因为总会有 “相对好一点点” 的路可选,最终就是 “相对好” 的 “绝对糟糕” 程度越来越深,最终陷入泥潭。

    说另一个例子。

    英国棉纺织工业协会统计学家蒂皮特曾作出一结论,棉线的断裂取决于其中最弱一根纤维的强度。看似与传输无关,但它揭示了一个可怕的现象,系统过载时,若负载不均,可能触发连锁崩溃。

    用力拉棉线时,若纤维不均匀,最弱的那根纤维断裂后,本来由它分担的力将瞬间摊给剩余纤维,这些纤维中依然存在最弱的那根,由于分摊了额外的受力将断裂,如此反复蔓延,直到整根棉线断裂。

    服务器集群也类似,一台机器挂了,它承载的流量瞬间摊给其它机器,导致其它机器流量增长,从而击垮其中最弱的那台,反复蔓延,直到服务器大面积瘫痪。

    对于 MP 传输,若违背第 2 条原则,整个带宽池将过载,一旦最弱的路径拥塞崩溃,它承载的流量将会给其它路径输入额外的重传流量,从而加重所有路径的拥塞,拥塞蔓延而引发连锁反应。

    总之,MP 是为了均衡流量,分担疏导拥塞,而不是为了承载更大的流量。

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

  • 相关阅读:
    react中的props的使用
    【小程序从0到1】视图与逻辑|路由导航(声明式、编程式)
    Windows使用scp上传文件到linux服务器
    c#与汇川plc通信
    (电力开发)376.1 主站通信协议基本结构解析
    已发表的paper
    从一次性销售到持续收益:低代码服务商的转型之路
    Java数据结构——认识二叉树
    【手把手】光说不练假把式,这篇全链路压测实践探索
    redisson使用全解——redisson官方文档+注释(下篇)
  • 原文地址:https://blog.csdn.net/dog250/article/details/128047389