MPTCP版本说明

简介

  • 参考链接

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

MPTCP的两个版本

  • MPTCPv0:

    • 5.6之前的linux内核版本中并未集成MPTCP相关的源码,需要从MPTCP官网获取对应版本的linux内核
  • MPTCPv1:

    • 5.6及之后的内核版本中,已经集成了MPTCP相关源码,并且MPTCP相关的API也进行了部分修改
    • 需要注意的是:即使是5.6之后的linux内核虽然集成了MPTCP的源码,但是可能并没有编译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(二):MPTCP版本说明的更多相关文章

  1. Git使用(二)版本库创建及文件修改

    一.创建版本库 1.安装完成后,在开始菜单里找到“Git”->“Git Bash”,蹦出一个类似命令行窗口的东西,就说明Git安装成功! 安装完成后,还需要最后一步设置,在命令行输入: $ gi ...

  2. Java进阶(十二)JDK版本错误之Unsupported major.minor version 51.0(jdk版本错误)

    错误:Unsupported major.minor version 51.0(jdk版本错误) 如果在win7下开发项目是使用的jdk版本和项目运行服务器jdk版本不同就会出现上面的问题. 用jdk ...

  3. 作业二 分布式版本控制系统Git的安装与使用

    第一步:Git bash配置 修改用户名和邮箱地址: $ git config --global user.name "zzj" $ git config --global use ...

  4. 【软件工程Ⅱ】作业二 |分布式版本控制系统Git的安装与使用

    本次作业的要去来自于:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/2097 远程库地址:https://github.com/Mol ...

  5. 作业二 —— 分布式版本控制系统Git的安装与使用

    作业要求源于:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2103 1.安装Git,配置用户名与邮箱. 安装Windows版的Git ...

  6. git使用(二)----创建版本库

    创建版本库(操作都是在linux环境下) 什么是版本库呢?版本库又名仓库,英文名repository,其实就是一个目录,可以进行增删查改 创建一个目录,这里在根目录下创建一个git_home目录mkd ...

  7. Git 学习(二)版本库创建

    Git 版本库创建 什么是版本库(repository)? 可理解为文件仓库.由Git管理每个文件的新增.修改及删除,但这个仓库可以追溯历史.可还原至任意历史节点. 版本库创建 创建一个版本库非常简单 ...

  8. Git学习总结二(版本回退)

    修改修改仓库中readme.txt文件,然后用git status命令看看结果: $ git status On branch master Changes not staged for commit ...

  9. Git学习(二)——创建版本库、查看与回退版本

    一.创建版本库 版本库,又名仓库(Repository),可以简单理解为一个目录,这个目录里的所有文件可以被Git管理起来,每个文件的修改.删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者将来某 ...

  10. git-【二】本地git操作提交、版本回退

    一.创建版本库,提交文件 什么是版本库?版本库又名仓库,英文名repository,你可以简单的理解一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改,删除,Git都能跟踪,以便任 ...

随机推荐

  1. 上交大开源镜像站下架 Docker Hub 镜像

    ​ 在现代软件开发中,Docker镜像已经成为不可或缺的工具.然而,最近频频出现的Docker镜像下架事件让许多开发者措手不及.突然失去依赖的镜像,不仅打乱了项目进程,还引发了许多不便.那么,面对Do ...

  2. opengrok源代码在线阅读平台搭建及字体修改

    服务搭建 我所编写的docker-compose.yml如下,成功运行后将源码目录移动至 /data/opengrok/src ,重启容器使得opengrok快速更新索引 services: open ...

  3. 【论文阅读】Exploring the Limitations of Behavior Cloning for Autonomous Driving

    Column: January 16, 2022 11:11 PM Last edited time: January 21, 2022 12:23 PM Sensor/组织: 1 RGB Statu ...

  4. react懒加载,减少首屏加载时间

    最近在写一个react-ant-admin的集成框架用于快速搭载中后台项目.其中遇到很多问题,最重要的应该是访问速度了.我就想 react 可不可以和 vue 一样用路由懒加载来减少首页渲染所花费的时 ...

  5. redis基本数据结构-字符串

    reids字符串数据结构相关命令    序号 命令 命令实例 意义    1 set key value set bar 1 设置key为bar的值为"1"   2  incr k ...

  6. IDEA之NexChatGPT插件【工欲善其事必先利其器】

    国内有热心的程序员开发了一款NexChatGPT插件,安装后开箱即用十分方便,打字机展示的效果也很流畅,另外插件内还外链了国内能直接访问的ChatGPT,非常推荐试一下,IDEA插件NexChatGP ...

  7. 解决方案 | 预装win11如何退回win10?

    0.定义 本文所说的[退回]并不指的是win10升级后的变成win11再变为win10的退回.退回应该理解为[降级],或者叫作返回上一个版本.本文的适用范围局限于,预装系统是win11,想要不通过u盘 ...

  8. [oeasy]python024_vim读取文件_从头复制到尾_撤销_重做_reg_寄存器

    Guido的简历 回忆上次内容 python 是Guido制作的语言 从Guido刚入职场 就开始的项目 python这个项目 一直跟随Guido   Guido 曾经在 cwi cnri beope ...

  9. 强烈推荐:18.3k star,推荐一款简单易用的HTTP请求流量录制回放工具:Goreplay

    在软件开发和测试过程中,我们经常需要对应用程序的网络请求进行录制和回放,以便进行性能分析.压力测试或者模拟复杂的网络环境.今天,我要向大家推荐一款简单易用的 HTTP 请求流量录制回放工具:Gorep ...

  10. Docker Engine在Centos下的安装

    实践环境 Centos7.8 先决条件 CentOS 7.8. 必须开启 centos-extrasyum仓库源.默认是开启的,如果关闭了,需要重新开启,如下 编辑 /etc/yum.repos.d/ ...