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
- 查看
本文作者:zhijun
本文链接:https://www.cnblogs.com/zhijun1996/p/17379777.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步