MPTCP包结构

ns3学习(三)——MPTCP ns3及MPTCP源码运行笔记 阅读详情

TCP/IP数据包

MPTCP是常规TCP协议的扩展,想要了解MPTCP数据包,首先得了解常规的TCP包。

如上图所示,为TCP/IP的数据包格式,TCP/IP数据包分为四大块:黄色的数据链路层头部,蓝色的IP头部,紫色TCP头部,还有最后的数据报内容。

详细内容参考http://blog.youkuaiyun.com/alexander_xfl/article/details/17412223。

TCP头部选项

头部选项在TCP头部和数据包内容之间,一个TCP包可能没有头部选项,也可能同时有几个头部选项。TCP头部选项的格式如下,通过kind字段区分不同的头部选项。

2013年,RFC6824将kind=30分配给了MPTCP。

红色标注的部分为RFC组织在2013年新标准化的选项字段,在做包解析的时候,根据TCP头部选项的kind值就可以判断该包是否为MPTCP包了。

MPTCP包结构

MPTCP选项的典型结构为

其中,kind字段表示该头部选项为MPTCP头部选项,kind=30。Length字段表示该头部选项的长度,subtype选项表示该MPTCP选项的子类型,剩下的字节则为该子类选项的具体数据。根据subtype值的不同,MPTCP选项的子类型有以下几种

每个MPTCP选项子类对应的结构为:

0x0:MP_CAPABLE

0x1:MP_JOIN



0x2:DSS

0x3:ADD_ADDR

0x4:REMOVE_ADDR

0x5:MP_PRIO

0x6:MP_FAIR

0x7:MP_FASTCLOSE

MPTCP多路径传输协议的研究与实现 MPTCP(Multipath TCP,多路径传输控制协议)是一种在传输层实现多路径传输的协议。传统的TCP(Transmission Control Protocol,传输控制协议)只能使用单一路径进行数据传输,而MPTCP扩展了TCP,允许同时利用多个网络路径进行数据传输。MPTCP的关键思想是创建多个TCP子流(subflow),每个子流可以通过不同的网络路径传输数据。这些子流可以在不同的网络接口、不同的网络类型(如Wi-Fi和蜂窝网络)之间进行传输。 阅读详情

相关推荐

Ubuntu下配置Multipath TCP(MPTCP)By内核下载(一)

Ubuntu下配置Multipath TCP(MPTCP)By内核下载

weixin_44322104的博客 4382

mptcp联合拥塞控制算法 balia代码总结

static int rate_scale_limit = 25; static int alpha_scale = 10; static int scale_num = 5;//这里static修饰的都是全局变量,而且不允许其他文件引用 struct mptcp_balia { u64 ai; u64 md; bool forced_update; }; 这里表示一个结构体(相当于java中的类)实现了一个拥塞控制接口,里面有私有的成员变量 //static inline表示这是一个内嵌函数,不

weixin_40182062的博客 1518

数据中心内的多路径传输负载均衡(MPTCP)

多路径传输(Multipath TCP,MPTCP)是一种在数据中心网络中实现负载均衡和提高网络性能的技术。总结起来,数据中心内的多路径传输负载均衡(MPTCP)通过利用多个TCP连接进行数据传输,实现负载均衡和提高网络性能。开发人员可以使用相应的编程语言和网络库来实现MPTCP功能,从而优化数据中心网络的性能和可靠性。上述示例代码使用Python的socket模块创建了一个MPTCP套接字,并绑定到指定的地址和端口上。函数中,可以添加相应的逻辑来处理客户端的请求,并返回相应的响应。函数处理客户端的请求。

AnHaskell的博客 1358

linux内核mptcp,安装 MPTCP 内核 -- 基于 CentOS 定制系统

安装 MPTCP 内核 -- 基于 CentOS 定制系统一, 说明本文针对定制 CentOS 系统进行安装. 原生的 Ubuntu 和 CentOS 可能有更简单的安装方式, 但本文的安装方式依然有效.二, 编译安装 MPTCP 内核MPTCP 的介绍文档: https://www.multipath-tcp.org/ 但是文档中很多安装包的地址和版本都丢失了, 本文会给出特定的 MPTCP...

weixin_30783947的博客 1331

实战解析:如何利用MDFEND与Weibo21数据集构建多领域假新闻检测系统

本文实战解析了如何利用MDFEND模型与Weibo21数据集构建多领域假新闻检测系统。文章深入剖析了MDFEND的领域门控与专家混合机制,并提供了从数据预处理、模型理解到训练部署的完整指南,旨在解决通用模型在不同领域新闻检测中的性能衰减问题,提升检测的准确性与适应性。

vulkan6gpu的博客 581

华为MA5620配置宽带及语音实例

华为EPON配置实例1、公共部分和宽带PPPOE部分用串口用户名密码root/mduadminMA5620E>enableMA5620E#configMA5620E(config)#MA5620E(config)#sysnamebigcow/给设备起名字/****之前为公共部一、建vlan和地址bigcow(config)#vlan100...

weixin_33862041的博客 6348

多路径TCP(MPTCP)研究概述

如今,大多数用户设备都有多个接口,服务器机器也是多宿主的。同时,为了确保可靠性,数据中心网络利用额外的基础设施在任意两台服务器之间提供许多冗余路径。然而,传统的单路径TCP无法有效利用这些多条路径,因为它们未能有效地耦合数据流。为了克服这个限制,开发了多路径TCP(MPTCP)。MPTCP允许端主机通过多条路径传输单一数据流。它标准化并实现了一个可部署的TCP多路径扩展。如图1所示,端主机可以在MPTCP连接中同时通过多个TCP子流传输数据。在MPTCP之前,有许多尝试尝试同时通过多条路径传输数据。

研究兴趣:智能物联网、嵌入式系统、人工智能 2874

从零开始构建高精度称重系统:ADS1232硬件设计与软件调优实战

本文详细介绍了如何基于TI的ADS1232 24位ADC芯片构建高精度称重系统,涵盖硬件设计、软件调优及校准算法。通过优化电源设计、PCB布局和卡尔曼滤波算法,实现毫克级测量精度,适用于工业自动化和实验室等高要求场景。

weixin_28285943的博客 382

mptcp包结构

MPTCP包结构 TCP/IP数据包 MPTCP是常规TCP协议的扩展,想要了解MPTCP数据包,首先得了解常规的TCP包。 如上图所示,为TCP/IP的数据包格式,TCP/IP数据包分为四大块:黄色的数据链路层头部,蓝色的IP头部,紫色TCP头部,还有最后的数据报内容。 详细内容参考http://blog.youkuaiyun.com/alexander_xfl/article/details/

jrunw的博客 824

信号系统核心概念:卷积、傅里叶变换与抽样定理的工程实践指南

信号与系统是理解现代电子、通信与数字处理技术的基石。其核心在于通过数学工具对物理世界进行建模与分析,其中卷积运算揭示了线性时不变系统对任意输入的响应可分解为冲激响应的叠加,这一原理极大提升了系统测试与分析的效率。而傅里叶变换则提供了从时域到频域的映射,将复杂的时域卷积运算转化为频域的简单乘法,是实现频谱分析、滤波设计的关键。抽样定理则架起了模拟与数字世界的桥梁,明确了无失真数字化的条件。这些基础理论共同构成了滤波器设计、音频处理、图像分析及通信系统等广泛工程应用的技术支柱。本文聚焦于卷积与傅里叶变换,结合冲

weixin_30788619的博客 629

Flowable第一篇、快速上手(Flowable安装、配置、集成)

Flowable是一个轻量级、高效可扩展的工作流和业务流程管理(BPM)引擎,支持在Java应用程序中实现复杂的工作流自动化。Flowable最初是作为Activiti项目的一个分支发展而来的,但它现在已经成为一个独立的开源项目,并在企业级应用中得到了广泛使用

Du_XiaoNan的博客 1万+

MPTCP 的吞吐困局

我并没有设计一个非常细致的分别针对 meta_sk 和 subsk 的 tcp_notsent_lowat 控制算法,我直接取消了对 subsk 的控制,然后仅对 meta_sk 保留 tcp_notsent_lowat 控制,理由是很简单,跟上面关于 SWS 的讨论相反,调度策略给出了决策,subsk 看 tcp_notsent_lowat 后不能否决,因为这次无关全局拥塞控制,同属本机控制,打架不好看。詹氏钩无法用于高铁也是这道理,它虽普适,但列车跑不快,而高铁车厢之间严格同步车速,消除了抖动。

TCP/IP 1万+

Design Compiler时序约束实战:如何用set_clock_uncertainty解决时钟抖动问题?

本文深入探讨了在Design Compiler时序约束实战中,如何精准运用set_clock_uncertainty命令解决时钟抖动等非理想性问题。文章详细解析了该命令在时钟树综合前后的不同应用策略、建立时间与保持时间的差异化设置,并对比了其与set_clock_jitter的适用场景,旨在帮助数字IC设计工程师制定稳健的时序约束,为后端物理实现预留合理的安全裕量,从而高效达成时序收敛。

weixin_29196891的博客 300

再看 MPTCP 时的思考

原则是一回事,实现是一回事,即便是 mptcp v1,仍不能完全避免串行化,因为本质上 TCP 就是一个串行流,多个 subflow 从 meta_sock 取数据发送或接收完数据重组拼接时,仍然要抢 meta_sock 锁,这意味着 mptcp 永远也无法实现多路径吞吐的满叠加,有趣的是,文初描述 mptcp v0 的 meta sock 串行锁竟然直接实现了 6356 原则 2,让你即使想叠加带宽而不能为之。哪怕是一团烂泥,先跑起来再说,这显然忽略了不是谁都有的试错成本,这是句毒鸡汤,烂话。

TCP/IP 1万+

SolidWorks + AI:利用 DeepSeek AI 自动生成 VBA Macro 宏,实现智能化建模!

本教程介绍如何将集成到插件,实现的自动化操作。通过 DeepSeek AI,您可以快速生成高效的,提升!💡。

SolidWorksAPI的专栏 1万+

无人船 | 基于ROS的轻量级多无人艇自主导航仿真框架

无人水面艇USV是海上自主无人系统的关键组成部分,在民用、军用领域应用广泛,例如海上救援、水质测量、扫雷反潜等,因此对USV导航算法的研究具有重要意义。为了便于进行USV相关算法的验证与部署,本文介绍的这套基于ROS的多无人艇的自主导航仿真平台,轻量化地实现了建图、规划、控制等多种功能,同时自研框架保证了功能的高度可拓展和可定制

FRIGIDWINTER的博客 8004

Ubuntu下配置MPTCP

本周调研了一下多径TCP(MPTCP),几经周折终于从小白到将MPTCP协议配置到Linux系统中,并成功地通过MPTCP协议访问了支持MPTCP协议的检测网站。本文主要介绍 实验环境 无线网卡驱动的安装 MPTCP的安装 路由配置 实验环境镜像下载地址,获取安装镜像选择Ubuntu14.04.4(amd64,LiveCD)无线网卡驱动的安装进行MPTCP协议的测试必然要用到双网卡,因此选择购买US

bryanting的博客 5327

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

MPTCP协议学习

对MPTCP协议理论部分的学习进行了整理,文中数据包结构的图来自于RFC6824。详见http://www.rfcreader.com/#rfc6824 MPTCP协议学习   MPTCP目的:随着技术的发展许多设备具有了多个网络接口,而TCP依然是一个单线路的协议,在TCP的通信过程中发端和收端都不能随意变换地址。我们可以利用多个网络接口的这一特性来改善性能和有效冗余。   例如...

diyuzong3764的博客 1581

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

mptcp的重传

 开头啰嗦几句,关于mptcp的研究主要有两种:拥塞控制和数据包调度。关于多径的拥塞控制算法有LIA,OLIA,BALIA,wVegas,可以称作是耦合式的拥塞控制。为什么要采用耦合式的拥塞控制,而不是在各个子流上采用原有的TCP的拥塞控制算法(RENO,CUBIC)呢。用学术点的话说,考虑到网络中大部分是TCP流,MPTCP应该保有TCP友好的特性。用朴实的话说,做为一个研究项目,总要有些不同吧...

u010643777的专栏 2500

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

mptcp on ns3 simulation

 关于mptcp的研究论文,在谷歌学术上搜索,大概有好几百篇,但是搜索关于mptcp的仿真实现,却只有那么几个[1,2,3,4]。需要说明的是,[1,2,4]代码都有一个祖宗,都是从[5]这份代码里改的。[3]的作者靠着这份代码,还发了一篇computer network的文章[6],实现的到底如何,因为实在是没法用,也就不做评论了。  我这个学期初,最先调试的是[1]的代码,并发现了两个bug...

u010643777的专栏 3507

MPTCP高级配置

本文引用了MPTCP Linux内核官网的MPTCP配置网页和工具网页,介绍了MPTCP成功部署以后子流分配策略更详细的配置方式以及协助自流分析的工具,由于之前已经将MPTCP的部署命名为“MPTCP的配置”了,本文就暂且命名为高级配置吧~

bryanting的博客 3641

MPTCP for Ubuntu18.04

ubuntu安装MPTCP,过程超简单,列出了过程中遇到的一些问题的解决方法。

我要出家当道士 2086

mptcp linux 升级,Ubuntu下配置MPTCP

本周调研了一下多径TCP(MPTCP),几经周折终于从小白到将MPTCP协议配置到Linux系统中,并成功地通过MPTCP协议访问了支持MPTCP协议的检测网站。本文主要介绍实验环境无线网卡驱动的安装MPTCP的安装路由配置实验环境镜像下载地址(http://mirrors.ustc.edu.cn/),获取安装镜像选择Ubuntu14.04.4(amd64,LiveCD)无线网卡驱动的安装进行MP...

weixin_29096377的博客 1054
上一篇: mptcp应用——在nexus5安装mptcp
下一篇: libpcap库多网卡抓包
bryanting
博客等级 码龄14年 27粉丝 16原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值