这里,我把某篇论文中的dlia.c(这个是拥塞控制算法)直接复制到了mptcp_coupled.c这个文件中,原来的lia算法代码被删掉,这个算法的名字是“dlia”,经过编译新的内核,发现没有报错,mptcp_coupled.c也生成了.o文件
于是想仿照论文实验,去重现论文实验
我打算用命令行的方式更改当前内核的拥塞控制算法
root@tz-virtual-machine:/home/tz# cat /proc/sys/net/ipv4/tcp_allowed_congestion_control
结果是:
cubic reno
表示现在内核可用的算法是这两个,我又去mptcp官网找了教程
echo 'lia' > /proc/sys/net/ipv4/tcp_congestion_control
这个命令可以吧算法键入到tcp_congestion_control,结果是:
bash: echo: write error: No such file or directory
发生了错误,这是因为我把原来的lia算法删掉了,
echo 'dlia' > /proc/sys/net/ipv4/tcp_congestion_control
这个执行成功,因为我用dlia算法覆盖了原来的lia,原来lia已经不存在了
echo 'olia' > /proc/sys/net/ipv4/tcp_congestion_control
echo 'blia' > /proc/sys/net/ipv4/tcp_congestion_control
结果:
balia dlia olia cubic reno
查看当前内核的拥塞控制算法
sysctl net.ipv4.tcp_available_congestion_control
查看当前应用的tcp算法
sysctl net.ipv4.tcp_congestion_control
或者
cat /proc/sys/net/ipv4/tcp_congestion_control
修改当前的拥塞控制算法
sudo sysctl net.ipv4.tcp_congestion_control=×××
例如,xxx = cubic,表示修改内核中的TCP拥塞控制算法为cubic