MPTCP 聚合吞吐

news2025/6/5 4:24:09

只破不立假把式,前面连续喷 MPTCP 是个错误,今天说说如何克服。

到底谁在阻碍 MPTCP 聚合吞吐一定要搞清楚,是算法硬伤,是数据不足。前文说过,将一个窗口内的数据多路径 spray 有损吞吐,想要聚合吞吐,非得按窗口 spray 不可。这很容易理解,一条路径窗口填满,不可继续发送时,其它路径接力,方可聚合能量。尽量避免同步协调,串接合力总是比并联来得容易。

但必须注意,子路径必须不能太异构,聚合 Wi-Fi,5G,4G,想都别想,不是说不能提升,而是不划算。我并没说 MPTCP 无法聚合绝对吞吐,我始终在说,用 MPTCP 这样做不值得,如果能不用 MPTCP 达到等价效果(比如用两条标准 TCP 流),性价比则更高。

考虑异构子路径,同理,一条路径不能继续再发时另外的路径接力,困难在于两点:

  • 何时不能继续发送;
  • 原路径等待是否比另外的路径更划算;

这两点困难随着路径异构而加强,比如,如果将接下来的数据调度到一条延时很高的子路径,反而不如原路径等待,如果子路径丢包率高,重传时延亦叠加在内,反而得不偿失了。这些实际困难仅凭 TCP 层面的信息根本无法克服,我就不再重复证明。

数据不足比算法硬伤更严重,所谓巧妇难为无米之炊,与没有 buffer 便无法公平收敛一样,没有足够的数据,调度策略就不能发挥作用,比方说我设计的慢路径倒着发的策略,本意是笨鸟先飞,如果发送队列只有 1,2,3 这 3 个数据,慢路径发 3 就体现不出有多先。

说几个极好的动力叠加的例子。

端午当天参加了亲子龙舟赛。第一局就输了。想起我优化 MPTCP 的教训,第二局预备,我大喊 “所有小学幼儿园小朋友,收起浆,浆不要入水!”,第二局就赢了,但小朋友们也缺失了体验,这怪我。

这么多人频率,方向,力道均一致才能叠加速度,频率不一致会减速,方向,左右力道不一致会减速并跑偏。非常费力,但并不意味着力大就快,后面力量小了或者慢了就会阻碍前面,力量并不能叠加,反而掣肘卸力。这就是最形象的多路径传输优化要点。

再说高铁动车组,多节车厢同时提供动力需要对这些动力同步协调,如果动力加速度稍有不同,就会有损车钩,相当于不同的车厢不断冲撞拉开,这还不如让多节车厢分别自己开,所以高铁的动力控制协调系统非常重要。

风力发电机组是另一个例子,当本质上无法叠加风向和风力时,就分别运行而叠加结果,不至于并行卸力。

无论如何,涉及聚合,叠加的案例,都不是简单的加法,都需要方向的一致性,同步协调性,结构稳定性三要素,而作为端到端协议,TCP 天然缺失同步协调性和结构稳定性,这些是尽力而为网络的属性特征,TCP/IP 并不具备任何调优支撑,任何的优化都可以说是粗暴的运气。

而用这个天然不可优化的尽力而为网络去适配数据中心高速网络的任何设计必然携带天然缺陷,要用不同的思路,总之 TCP/IP 向左,高速网络向右就对了。这个颇具哲学意味的话题,下周再谈。

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2396839.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

LabelImg: 开源图像标注工具指南

LabelImg: 开源图像标注工具指南 1. 简介 LabelImg 是一个图形化的图像标注工具,使用 Python 和 Qt 开发。它是目标检测任务中最常用的标注工具之一,支持 PASCAL VOC 和 YOLO 格式的标注输出。该工具开源、免费,并且跨平台支持 Windows、Lin…

计算机网络 TCP篇常见面试题总结

目录 TCP 的三次握手与四次挥手详解 1. 三次握手(Three-Way Handshake) 2. 四次挥手(Four-Way Handshake) TCP 为什么可靠? 1. 序列号与确认应答(ACK) 2. 超时重传(Retransmis…

树欲静而风不止,子欲养而亲不待

2025年6月2日,13~26℃,一般 待办: 物理2 、物理 学生重修 职称材料的最后检查 教学技能大赛PPT 遇见:使用通义创作了一副照片,很好看!都有想用来创作自己的头像了! 提示词如下: A b…

Kotlin中的::操作符详解

Kotlin提供了::操作符,用于创建对类或对象的成员(函数、属性)的引用。这种机制叫做成员引用(Member Reference)。这是Kotlin高阶函数和函数式编程的重要组成部分。 简化函数传递 在Java中,我们这样传方法: list.forEach(item -> System.…

深入详解编译与链接:翻译环境和运行环境,翻译环境:预编译+编译+汇编+链接,运行环境

目录 一、翻译环境和运行环境 二、翻译环境:预编译编译汇编链接 (一)预处理(预编译) (二)编译 1、词法分析 2、语法分析 3、语义分析 (三)汇编 (四&…

定时任务:springboot集成xxl-job-core(二)

定时任务实现方式: 存在的问题: xxl-job的原理: 可以根据服务器的个数进行动态分片,每台服务器分到的处理数据是不一样的。 1. 多台机器动态注册 多台机器同时配置了调度器xxl-job-admin之后,执行器那里会有多个注…

DeviceNET转EtherCAT网关:医院药房自动化的智能升级神经中枢

在现代医院药房自动化系统中,高效、精准、可靠的设备通信是保障患者用药安全与效率的核心。当面临既有支持DeviceNET协议的传感器、执行器(如药盒状态传感器、机械臂限位开关)需接入先进EtherCAT高速实时网络时,JH-DVN-ECT疆鸿智能…

一:UML类图

一、类的设计 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 学习设计模式的第一步是看懂UML类图,类图能直观的表达类、对象之间的关系,这将有助于后续对代码的编写。 类图在软件设计及应用框架前期设计中是不可缺少的一部分,它的主要成分包括:类名、…

Java 中 MySQL 索引深度解析:面试核心知识点与实战

🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉 📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息 文章目录 Java 中 MySQL 索引深度解析:面试…

设计模式之结构型:装饰器模式

装饰器模式(Decorator Pattern) 定义 装饰器模式是一种​​结构型设计模式​​,允许​​动态地为对象添加新功能​​,而无需修改其原始类。它通过将对象包装在装饰器类中,以​​组合代替继承​​,实现功能的灵活扩展(如 Java I/O …

MySQL安装及启用详细教程(Windows版)

MySQL安装及启用详细教程(Windows版) 📋 概述 本文档将详细介绍MySQL数据库在Windows系统下的下载、安装、配置和启用过程。 📥 MySQL下载 官方下载地址 官方网站: https://dev.mysql.com/downloads/社区版本: https://dev.my…

【HarmonyOS Next之旅】DevEco Studio使用指南(二十九) -> 开发云数据库

目录 1 -> 开发流程 2 -> 创建对象类型 3 -> 添加数据条目 3.1 -> 手动创建数据条目文件 3.2 -> 自动生成数据条目文件 4 -> 部署云数据库 1 -> 开发流程 云数据库是一款端云协同的数据库产品,提供端云数据的协同管理、统一的数据模型和…

批量导出CAD属性块信息生成到excel——CAD C#二次开发(插件实现)

本插件可实现批量导出文件夹内大量dwg文件的指定块名的属性信息到excel,效果如下: 插件界面: dll插件如下: 使用方法: 1、获取此dll插件。 2、cad命令行输入netload ,加载此dll(要求AutoCAD&…

Goreplay最新版本的安装和简单使用

一:概述 Gor 是一个开源工具,用于捕获实时 HTTP 流量并将其重放到测试环境中,以便使用真实数据持续测试您的系统。它可用于提高对代码部署、配置更改和基础设施更改的信心。简单易用。 项目地址:buger/goreplay: GoReplay is an …

Android Studio 解决报错 not support JCEF 记录

问题:Android Studio 安装Markdown插件后,报错not support JCEF不能预览markdown文件。 原因:Android Studio不是新装,之前没留意IDE自带的版本是不支持JCEF的。 解决办法: 在菜单栏选中Help→Find Action&#xff…

sigmastar实现SD卡升级

参考文章:http://wx.comake.online/doc/DD22dk2f3zx-SSD21X-SSD22X/customer/development/software/Px/zh/sys/P3/usb%20&%20sd%20update.html#21-sd 1、构建SD卡升级包 在project下make image完成后使用make_sd_upgrade_sigmastar.sh脚本打包SD卡升级包。 ./make_sd_up…

kafka学习笔记(三、消费者Consumer使用教程——配置参数大全及性能调优)

本章主要介绍kafka consumer的配置参数及性能调优的点,其kafka的从零开始的安装到生产者,消费者的详解介绍、源码及分析及原理解析请到博主kafka专栏 。 1.消费者Consumer配置参数 配置参数默认值含义bootstrap.servers无(必填)…

【论文笔记】Transcoders Find Interpretable LLM Feature Circuits

Abstract 机制可解释性(mechanistic interpretability)的核心目标是路径分析(circuit analysis):在模型中找出与特定行为或能力对应的稀疏子图。 然而,MLP 子层使得在基于 Transformer 的语言模型中进行细粒度的路径分析变得困难。具体而言,…

每天总结一个html标签——a标签

文章目录 一、定义与使用说明二、支持的属性三、支持的事件四、默认样式五、常见用法1. 文本链接2. 图片链接3. 导航栏 在前端开发中,a标签(锚点标签)是最常用的HTML标签之一,主要用于创建超链接,实现页面间的跳转或下…

android binder(1)基本原理

一、IPC 进程间通信(IPC,Inter-Process Communication)机制,用于解决不同进程间的数据交互问题。 不同进程之间用户地址空间的变量和函数是不能相互访问的,但是不同进程的内核地址空间是相同和共享的,我们可…