首页 > 其他分享 >MPTCP(二):MPTCP版本说明

MPTCP(二):MPTCP版本说明

时间:2023-05-07 18:55:22浏览次数:54  
标签:MPTCP enabled jun 说明 内核 版本 net mptcp

MPTCP版本说明

简介

  • 参考链接

https://github.com/multipath-tcp/mptcp_net-next/wiki

MPTCP的两个版本

  • MPTCPv0:

    • 5.6之前的linux内核版本中并未集成MPTCP相关的源码,需要开发者自行向内核中打入MPTCP的补丁以启用MPTCP
  • MPTCPv1:

    • 5.6及之后的内核版本中,已经集成了MPTCP相关源码,并且MPTCP相关的API也进行了部分修改
    • 需要注意的是:即使是5.6之后的linux内核也可能并没有编译MPTCP模块,需要在make menuconfig菜单中选择将MPTCP编译成模块或直接编译近内核,编译方法见后文

如何确定内核是否支持MPTCP

  • MPTCPv0:
    • 查看sysctl配置中是否有MPTCP相关选项,并且mptcp_enabled != 0
    root@j:/home/jun# sysctl -a | grep mptcp
    net.mptcp.mptcp_binder_gateways =
    net.mptcp.mptcp_checksum = 1
    net.mptcp.mptcp_debug = 0
    net.mptcp.mptcp_enabled = 2
    net.mptcp.mptcp_path_manager = fullmesh
    net.mptcp.mptcp_scheduler = roundrobin
    net.mptcp.mptcp_syn_retries = 3
    net.mptcp.mptcp_version = 0
    
    • dmesg | grep MPTCP查看是否有MPTCP版本信息
    root@jun:/home/jun# dmesg | grep MPTCP
    [    0.474229] MPTCP: Stable release v0.95.1
    
  • MPTCPv1
    • 查看sysctl配置中是否有MPTCP相关选项,并且mptcp_enabled=1
    root@jun:/home/jun# sysctl -a | grep mptcp
    net.ipv4.tcp_available_ulp = mptcp
    net.mptcp.add_addr_timeout = 120
    net.mptcp.allow_join_initial_addr_port = 1
    net.mptcp.checksum_enabled = 0
    net.mptcp.enabled = 1
    net.mptcp.stale_loss_cnt = 4
    
    • 官方还提供了一个针对MPTCPv1的测试程序

      • 测试程序链接如下

      https://github.com/mptcp-apps/mptcp-hello

      • 编译
      gcc mptcphello.c -o mptcp
      
    • 运行,运行时不报错即说明MPTCPv1生效

      ./mptcp
      

标签:MPTCP,enabled,jun,说明,内核,版本,net,mptcp
From: https://www.cnblogs.com/zhijun1996/p/17379777.html

相关文章

  • 关于docker的Cgroup Driver相关的配置说明以及其值为cgroupfs与systemd的区别
    在我们安装完docker-ce软件后(笔者这里安装的docker-ce-20.10.24-3.el8.x86_64)就可以直接启动docker服务 systemctlrestartdocker.service这时我们通过 dockerinfo命令,可以看到当前docker的一些配置信息,今天笔者主要是看CgroupDriver相关的,如下:[root@k8s-masterqq-5201......
  • Nginx 入门实战(3)--Nginx 常用配置参数说明
    Nginx中包含众多的参数,这些参数影响Nginx的行为;本文主要介绍一些常用的参数。1、Nginx配置文件基本结构Nginx的配置文件为conf/nginx.conf,配置文件由配置指令/参数组成,有些指令/参数位于main的位置(如:events、http),有些指令/参数位于其他参数下(如:server位于http下);......
  • 解决idea2020版本无法使用actiBPM插件问题
    下载由于在idea自带的插件商店中搜索不到此插件,所以我们需要去官网下载:地址:JetBrainsMarketplace原因是2020版之后不兼容此插件了点击下载:然后使用压缩软件打开此jar包,编辑META-INF/pluign.xml文件:找到我用红色框圈出来的地方记下自己idea的版本号:按照下图......
  • mule 3.9.0 没有mac arm 版本的处理办法
    现在官方只能下载到3.9.5的mac版本使用javaservicewraaper包装的并不支持偷梁换柱大法下载mule-enterprise-standalone-3.9.5企业版本mule-standalone-3.9.0社区版本把lib/boot、bin、conf全部替换到掉mule-standalone-3.9.0对应目录下设置为x86_64arch-x......
  • 手机通话记录生成器下载,虚拟通话记录生成器,通话记录生成器安卓版下载最新版本
    铁牛通话记录生成器是一键批量虚拟生成通话记录的app,“铁牛通话记录生成器下载”?这段话里面几个网都可以,复制它们到手机浏览器打开就可以,在铁牛通话记录生成器wokaituan.com上,你可以批量把号码复制粘贴进来软件app上,可以选择通话时间范围,设置通话时间长度,选择通话类型(呼出电话、呼......
  • mysql explain 字段说明
    EXPLAIN语句提供有关MySQL执行语句的信息,每个表返回一行信息。处理语句时,读取它们的顺序列出输出中的表执行EXPLAIN语句会打印出下列内容id,select_type,table,partitions,type,possible_keys,key,key_len,ref,rows,filtered,Extra一、id记录标识符二、select_type......
  • SVN服务端使用说明(二)
    服务端使用说明服务端安装完成后,进行创建用户,新建Repositiories等 项目描述Repositories仓库,可分不同文件夹进行存储项目。Users用户,可新增,删除,设置密码等Groups用户组,对不同用户可进行组划分Jobs计划任务,属于企业版高级功能(本文档暂不涉及),可定时备份仓库文件。1)创建用......
  • 5-关于JavaEE的版本
    JavaEE目前最高版本是JavaEE8JavaEE被Oracle捐献了,Oracle将JavaEE规范捐献给Apache了。Apache把JavaEE换名了,以后不叫JavaEE了,以后叫做jakartaEE。以后没有JavaEE了。以后都叫做JakartaEE。JavaEE8版本升级之后的"JavaEE9",不再是"JavaEE9"这个名字了,叫做JakartaEE9Java......
  • 查看Linux系统版本内核命令大全
    目录命令一:查看当前系统发行版本详细信息命令二:查看当前系统内核信息命令三:查看当前系统版本信息命令四:查看CPU相关信息命令五:查看系统位数Linux系统内核、发行版本有很多,那么如何查看当前Linux系统的内核信息、Linux系统发行版本等信息呢?Linux百科网分享查询Linux系统详细信息的方......
  • Ubuntu 下判断 cmake 用的 gcc 还是 g++,如何切换版本
    >1/1>>Ubuntu下怎么知道cmake用的gcc还是g++1/1在Ubuntu上,可以通过`cmake`命令行选项`-DCMAKE_CXX_COMPILER`来指定C++编译器,而默认情况下,`cmake`将使用系统的默认编译器。要查看`cmake`使用的默认C++编译器,可以使用以下命令:perl```perlcmake--system......