一.在Ubuntu16.0下配置并编译MPTCP
1.安装依赖环境
sudo apt-get update
sudo apt-get install libncurses5-dev
sudo apt-get install build-essential
2.下载MPTCP源码
cd /usr/src
sudo git clone --depth=1 git://github.com/multipath-tcp/mptcp.git
cd mptcp
3.配置编译内核
sudo make menuconfig
PS:如果出现错误提示:
则下载缺少的依赖包
sudo apt-get install bison flex
配置内核Tips:
1. 每一个条目,(1)选择y表示编译到内核,条目前括号内的内容显示为<*>或[*];(2)选择n表示不编译到内核中,条目前显示为<>或[ ];(3)选择m表示以模块的方式编译,之后使用需要加载该模块才可以,条目前显示为<M>或[M]。
2. 进入networking support->networking options,检查一下IPv6模块,选择编译进内核或者不编译,不要选择以模块方式编译,否则看不到后面的MPTCP选项。这里我选择编译到内核。
3. networking support->networking options->TCP/IP networking->MPTCP protocol(MPTCP),按y选择编译。
4. Networking support->Networking options->IP: advanced router->IP: policy routing,按y选择编译。
5. MPTCP: advanced path-manager control,编译。进到里面,编译MPTCP Full-Mesh Path-Manager和MPTCP ndiff-ports。下面的Default MPTCP Path-Manager 选择Full mesh。
6. Networking support->Networking options->TCP: advanced congestion control,进入。这里是拥塞控制算法,需要哪些就选择哪些,*编译到内核,M是编译成模块。这里选择CUBIC ,Vegas,Veno,LIA(MPTCP Link Increase),Olia (MPTCP Opportunistic Linked Increase),wVegas,Balia。选择默认的算法。
7. Networking support->Networking options-> “Schedule”都选上,默认选择Round Robin(Default选择的是最小RTT)。
8. 保存配置,退出
4.编译内核
cd /usr/src/mptcp
sudo make
5.编译并安装模块
sudo make modules_install
6.安装
sudo make install
7.重启系统
重启系统,重启以后要进入新编译好的内核中,在开机的时候选择ubuntu高级选项,找到刚刚编译好的内核,选择进入。
8.检查安装的MPTCP版本
dmesg | grep MPTCP
9.检查是否在使用MPTCP
网址
参考链接
网址
二。配置路由
自动配置
1.编辑mptcp_up
cd /etc/network/if-up.d
sudo gedit mptcp_up
复制粘贴以下内容,保存退出
#!/bin/sh
# A script for setting up routing tables for MPTCP in the N950.
# Copy this script into /etc/network/if-up