Always keep a beginner's mind, don't forget|

zhijun

园龄:2年10个月粉丝:16关注:1

MPTCP(二):MPTCP版本说明

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

本文作者:zhijun

本文链接:https://www.cnblogs.com/zhijun1996/p/17379777.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   zhijun  阅读(908)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起