MPTCP(二):MPTCP版本说明
MPTCP版本说明
简介
- 参考链接
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的测试程序- 测试程序链接如下
- 编译
gcc mptcphello.c -o mptcp
运行,运行时不报错即说明
MPTCPv1生效./mptcp
- 查看
MPTCP(二):MPTCP版本说明的更多相关文章
- Git使用(二)版本库创建及文件修改
一.创建版本库 1.安装完成后,在开始菜单里找到“Git”->“Git Bash”,蹦出一个类似命令行窗口的东西,就说明Git安装成功! 安装完成后,还需要最后一步设置,在命令行输入: $ gi ...
- Java进阶(十二)JDK版本错误之Unsupported major.minor version 51.0(jdk版本错误)
错误:Unsupported major.minor version 51.0(jdk版本错误) 如果在win7下开发项目是使用的jdk版本和项目运行服务器jdk版本不同就会出现上面的问题. 用jdk ...
- 作业二 分布式版本控制系统Git的安装与使用
第一步:Git bash配置 修改用户名和邮箱地址: $ git config --global user.name "zzj" $ git config --global use ...
- 【软件工程Ⅱ】作业二 |分布式版本控制系统Git的安装与使用
本次作业的要去来自于:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/2097 远程库地址:https://github.com/Mol ...
- 作业二 —— 分布式版本控制系统Git的安装与使用
作业要求源于:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2103 1.安装Git,配置用户名与邮箱. 安装Windows版的Git ...
- git使用(二)----创建版本库
创建版本库(操作都是在linux环境下) 什么是版本库呢?版本库又名仓库,英文名repository,其实就是一个目录,可以进行增删查改 创建一个目录,这里在根目录下创建一个git_home目录mkd ...
- Git 学习(二)版本库创建
Git 版本库创建 什么是版本库(repository)? 可理解为文件仓库.由Git管理每个文件的新增.修改及删除,但这个仓库可以追溯历史.可还原至任意历史节点. 版本库创建 创建一个版本库非常简单 ...
- Git学习总结二(版本回退)
修改修改仓库中readme.txt文件,然后用git status命令看看结果: $ git status On branch master Changes not staged for commit ...
- Git学习(二)——创建版本库、查看与回退版本
一.创建版本库 版本库,又名仓库(Repository),可以简单理解为一个目录,这个目录里的所有文件可以被Git管理起来,每个文件的修改.删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者将来某 ...
- git-【二】本地git操作提交、版本回退
一.创建版本库,提交文件 什么是版本库?版本库又名仓库,英文名repository,你可以简单的理解一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改,删除,Git都能跟踪,以便任 ...
随机推荐
- 架构师必知的11种API性能优化方法
前言 接口性能优化是后端开发人员经常碰到的一道面试题,因为它是一个跟开发语言无关的公共问题. 这个问题既可以很简单,也可以相当复杂. 有时候,只需要添加一个索引就能解决. 有时候,代码需要进行重构. ...
- vc++6.0设置字体
vc++6.0设置字体 如上图, 在注册表上找到这个位置. 自已设置FontFace和FontSize即可. 计算机\HKEY_CURRENT_USER\Software\Microsoft\Devs ...
- Kubernetes(八)安全认证
安全认证 本章主要介绍Kubernetes的安全认证机制. 1. 访问控制概述 Kubernetes作为一个分布式集群的管理工具,保证集群的安全性是其一个重要的任务.所谓的安全性其实就是保证对Kube ...
- 在Linux驱动中使用proc子系统
在Linux驱动中使用proc子系统 背景 proc文件系统是个简单有用的东东:驱动创建一个proc虚拟文件,应用层通过读写该文件,即可实现与内核的交互. 本文适用于3.10以后的内核,v3.10以前 ...
- 《DNK210使用指南 -CanMV版 V1.0》第五章 编译CanMV固件
第五章 编译CanMV固件 1)实验平台:正点原子DNK210开发板 2) 章节摘自[正点原子]DNK210使用指南 - CanMV版 V1.0 3)购买链接:https://detail.tmall ...
- Centos 下Rabbit MQ 常用操作指令 汇总
1.rabbitmq 服务的启动停止. service rabbitmq-server start service rabbitmq-server stop 重启命令需要依次执行 stop 再 sta ...
- c语言之位段
百度百科链接 示例: 1 struct CHAR 2 { 3 unsigned int ch : 8; //8位 4 unsigned int font : 6; //6位 5 unsigned in ...
- P1387
#include<iostream> #include<utility> using namespace std; typedef long long ll; #define ...
- 浅谈:HTTP 和 HTTPS 通信原理
1.HTTP基本概念 1.1 HTTP是什么? HTTP (超文本传输协议)协议被用于在 Web 浏览器和网站服务器之间传递信息, HTTP 协议以明文方式发送内容,不提供任何方式的数据加密,如果攻 ...
- C# Winform与JS交互
一.C#调用JS函数 1.JS代码 < script language = "javascript" > function Hello(msg) { alert('我是 ...