[ubuntu18.04]搭建mptcp测试环境说明

MPTCP介绍

Multipath TCP — Multipath TCP -- documentation 2022 documentation

安装ubuntu18.04,可以使用虚拟机安装

点击安装VMware Tool

桌面会出现如下图标

双击打开VMware Tools,复制如下图所示的文件到Home目录

打开终端,切换到管理员权限(如果忘记管理员密码可以使用sudo passwd root修改密码

解压vmwaretools

tar -xvf VMwareTools-10.3.22-15902021.tar.gz

   切换到vmware-tools-distrib目录下

              cd vmware-tools-distrib

执行vmware-install.pl安装

./vmware-install.pl

    按照提示输入yes,然后回车

后面根据提示可以一直回车,安装完成之后,需要重启设备

更新ubuntu18.04源

#阿里源
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse#网易源
deb http://mirrors.163.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic-backports main restricted universe multiverse#清华源
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse##中科大源
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse

备份系统原始源

sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup

更改源

sudo gedit /etc/apt/sources.list

将原始内容删除,替换ubuntu18.04.txt里面的内容

更新源

sudo apt-get update

安装ifconfig指令工具包

sudo apt install net-tools

安装vim工具包

       sudo apt install vim

安装支持mptcp内版本的内核

软件包下载地址

Releases · multipath-tcp/mptcp (github.com)icon-default.png?t=N7T8https://github.com/multipath-tcp/mptcp/releases

将软件包

linux-headers-5.4.230.mptcp_20230203134326-1_amd64.deb 

linux-libc-dev_20230203134326-1_amd64.deb

linux-image-5.4.230.mptcp_20230203134326-1_amd64.deb   

linux-mptcp_v0.96_20230203134326-1_all.deb

拷贝到ubuntu系统里面,然后执行安装

安装指令

       解压软件包

sudo dpkg -i linux*.deb

       安装软件包

              sudo apt-get install –f

开启开机选择内核版本选项

打开/etc/default/grub文件

注释掉#GRUB_HIDDEN_TIMEOUT=0

更新grub

root@w0425-virtual-machine:/home/w0425/mptcp/5.4# sudo update-grub

Generating grub configuration file ...

Found linux image: /boot/vmlinuz-5.4.230.mptcp

Found initrd image: /boot/initrd.img-5.4.230.mptcp

Found linux image: /boot/vmlinuz-4.19.234.mptcp

Found initrd image: /boot/initrd.img-4.19.234.mptcp

Found linux image: /boot/vmlinuz-4.15.0-20-generic

Found initrd image: /boot/initrd.img-4.15.0-20-generic

Found memtest86+ image: /boot/memtest86+.elf

Found memtest86+ image: /boot/memtest86+.bin

Done

重启设备,选择支持mptcp版本内核

重启之后会自动进入内核选择界面,按键盘的上下键选择Ubuntu高级选项(Advanced options for Ubuntu,然后回车进入内核选择界面,选择带mptcp的内核版本,然后回车启动

 

确认内核支持mptcp方法

关闭mptcp_checksum选择

echo 0 > /proc/sys/net/mptcp/mptcp_checksum

开启debug

echo 1 > /proc/sys/net/mptcp/mptcp_debug

查看mptcp是否默认开启,为1表示开启

root@w0425-virtual-machine:/home/w0425# cat /proc/sys/net/mptcp/mptcp_enabled

1

开启和关闭mptcp方法

开启

       echo 1 > /proc/sys/net/mptcp/mptcp_enabled

关闭

       echo 0 > /proc/sys/net/mptcp/mptcp_enabled

安装测试工具

Iperf & tcpdump

        sudo apt-get install iperf iperf3 tcpdump

git

              sudo apt-get install git

curl

              sudo apt-get install curl

mptcpd

              电脑浏览器手动下载

https://github.com/multipath-tcp/mptcpd/archive/refs/tags/v0.12.tar.gz

mptcpd-0.12.tar.gz

       编译安装mptcpd

              安装软件包依赖工具

sudo apt-get -y install autoconf automake libtool autoconf-archive pkg-config

              安装ell工具

                       git clone git://git.kernel.org/pub/scm/libs/ell/ell.git

      git checkout 0.56

         cd ell

         ./bootstrap

         ./configure

         make install

安装mptcpd

  拷贝mptcpd-0.12.tar.gz到ubuntu

  解压

              tar –xvf mptcpd-0.12.tar.gz

  编译安装

              cd mptcpd-0.12

             ./bootstrap

              ./configure

              mke install

                检查是否安装成功

root@w0425-virtual-machine:/home/w0425/mptcp/mptcpd-0.12# mptcpize

root@w0425-virtual-machine:/home/w0425/mptcp/mptcpd-0.12# mptcpize 
Usage: mptcpize CMD
mptcpize - a tool to enable MPTCP usage on unmodified legacy servicesAvailable CMDs:run [-d] prog [<args>]    Run target program with specifiedarguments, forcing MPTCP socket usageinstead of TCP.  If the '-d' argumentis provided, dump messages on stderrwhen a TCP socket is forced to MPTCP.enable <unit>             Update the systemd <unit>, forcingthe given service to run under theabove launcher.disable <unit>            Update the systemd <unit>, removingthe above launcher.Report bugs to <mptcp@lists.linux.dev>.

Ubuntu配置

网卡设置

需要实体网卡,不能使用nat模式,nat模式会出现mptcp异常

查看内核是否启动mptcp

关闭checksum

默认mptcp配置如下,需要手动关闭checksum

需要确认net.mptcp.mptcp_enabled=1

指令如下:

sysctl –w net.mptcp.mptcp_checksum=0

启动tcpdump

tcpdump –ni any port 8888 –vvvv &

启动iperf

mptcpize run iperf –c 192.168.1.1 –p 8888 –P 2 –t 30 –i 1

抓包结果分析

192.168.1.20 to 192.168.1.1 带有mptcp capable表示客户端请求是支持mptcp的

192.168.1.1 to 192.168.1.20 带有mptcp capable字段表示服务器回复支持mptcp

Tcpdump抓包

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/19751.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[Linux]重定向

一、struct file内核对象 struct file是在内核中创建&#xff0c;专门用来管理被打开文件的结构体。struct file中包含了打开文件的所有属性&#xff0c;文件的操作方法集以及文件缓冲区&#xff08;无论读写&#xff0c;我们都需要先将数据加载到文件缓冲区中。&#xff09;等…

基于JSP的高校二手交易平台

开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;JSP技术 工具&#xff1a;浏览器&#xff08;如360浏览器、谷歌浏览器、QQ浏览器等&#xff09;、MySQL数据库 系统展示 系统功能界面 用户注册与登录界面 个人中心界面 商品信息界面 摘要 本文研究了高…

为何懂行的人都在选海信Mini LED?

今年的618大促比往年来得要更早一些。纵览各电商平台的电视产品&#xff0c;能发现Mini LED电视的出镜率很高&#xff0c;成了各大品牌的主推产品。 对于什么样的Mini LED更值得买&#xff0c;各品牌都有自己的说辞。因为缺乏科学系统的选购标准&#xff0c;消费者容易在各方说…

【Qt】【模型-视图架构】代理模型示例

文章目录 1. 基本排序/过滤模型Basic Sort/Filter Model Example2. 自定义排序/过滤模型Custom Sort/Filter Model ExampleFilterLineEdit类定义及实现MySortFilterProxyModel类定义及实现 1. 基本排序/过滤模型Basic Sort/Filter Model Example 官方提供的基本排序/过滤模型示…

docker镜像体积优化攻略参考—— 筑梦之路

简单介绍 镜像的本质是镜像层和运行配置文件组成的压缩包&#xff0c;构建镜像是通过运行 Dockerfile 中的 RUN 、COPY 和 ADD 等指令生成镜像层和配置文件的过程。 和镜像体积大小有关的关键点&#xff1a; RUN、COPY 和 ADD 指令会在已有镜像层的基础上创建一个新的镜像层&…

【数据结构】详解二叉树

文章目录 1.树的结构及概念1.1树的概念1.2树的相关结构概念1.3树的表示1.4树在实际中的应用 2.二叉树的结构及概念2.1二叉树的概念2.2特殊的二叉树2.2.1满二叉树2.2.2完全二叉树 2.3 二叉树的性质2.4二叉树的存储结构2.4.1顺序结构2.4.2链表结构 1.树的结构及概念 1.1树的概念…

基于SSM的车辆租赁管理系统(含源码+sql+视频导入教程)

&#x1f449;文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1 、功能描述 基于SSM的车辆租赁管理系统1拥有两种角色 管理员&#xff1a;用户管理、用户租车、用户换车和车辆入库、添加汽车、添加客户、生成出租单、客户选车、出租单管理、查询出租单、角色权限管…

登录校验及全局异常处理器

登录校验 会话技术 会话:用户打开浏览器,访问web服务器的资源,会话建立,直到有一方断开连接,会话结束.在一次会话中可以包含多次请求和响应会话跟踪:一种维护浏览器状态的方法,服务器需要识别多次请求是否来自于同一浏览器,以便在同一次会话请求间共享数据会话跟踪方案 客户端…

关于MD5

首先还是介绍一下关于md5的基本信息&#xff1a; MD5&#xff08;Message Digest Algorithm 5&#xff09;是一种常用的哈希函数&#xff0c;用于产生128位&#xff08;16字节&#xff09;的哈希值&#xff0c;通常以32个十六进制数字表示。MD5广泛用于计算文件或文本数据的校…

分享一个 ASP.NET Web Api 上传和读取 Excel的方案

前言 许多业务场景下需要处理和分析大量的数据&#xff0c;而 Excel 是业务人员常用的数据表格工具&#xff0c;因此&#xff0c;将 Excel 表格中内容上传并读取到网站&#xff0c;是一个很常见的功能&#xff0c;目前有许多成熟的开源或者商业的第三方库&#xff0c;比如 NPO…

香港电讯荣获经济通「金融科技大奖」专业认可

香港电讯非常荣幸在《经济通》举办的「2023金融科技大奖」中脱颖而出&#xff0c;获「杰出跨境数码方案」、「杰出网络安全方案&#xff08;商用&#xff09;」和「杰出ESG解决方案」三个重要奖项。 香港电讯拥有丰富的经验及庞大的专业技术团队&#xff0c;一直致力为客户提供…

Spring Security3.0版本

前言&#xff1a; 核心&#xff1a; A >> &#xff1f; >> B &#xff1f;代表判断层&#xff0c;由Security实现 这是之前的版本浓缩&#xff0c;现在3.0版本添加了更匹配的内容描写&#xff0c;匹配了mvc模式 非mvc模式 核心&#xff1a;client&#x…

scp:Linux系统本地与远程文件传输命令

scp 是Linux系统中用于在本地主机和远程主机之间进行文件传输的命令。 详细说明&#xff1a; scp 命令用于安全地将文件从一个主机传输到另一个主机&#xff0c;所有传输数据都是加密的。语法&#xff1a; scp [参数] [源文件路径] [目标主机:目标路径] 参数说明&#xff1a…

2024-05-31 blue-VH-driver-问题分析-有状态的服务-状态的处理

摘要: VH的driver对上层提供的接口&#xff0c;是会保持状态。这个状态&#xff0c;可以分为&#xff0c;查询的数据的状态&#xff0c;主要是为了提供翻页查询的功能。另一种状态&#xff0c;就是订阅。 有状态的服务: 状态是什么? 其实从调用方的角度更好的理解&#xff0c…

【仿真设计】基于STM32的畜牧动物定位及行为检测设计的Proteus仿真

基于STM32的畜牧动物定位及行为检测设计的Proteus仿真 所需器件&#xff1a; Proteus版本&#xff1a;8.15 整体功能&#xff1a; STM32为主控芯片。温度采集并显示到OLED屏幕上进行监测&#xff08;DS18B20传感器&#xff09;。 判定条件&#xff1a;默认为上限为40度&…

数据结构:堆的保姆级教学指南

✨✨小新课堂开课了&#xff0c;欢迎欢迎~✨✨ &#x1f388;&#x1f388;养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; 所属专栏&#xff1a;数据结构与算法 小新的主页&#xff1a;编程版小新-CSDN博客 1.堆的概念 堆是一种特殊的树结构&#xff0c;通常用…

【爱空间_登录安全分析报告】

前言 由于网站注册入口容易被黑客攻击&#xff0c;存在如下安全问题&#xff1a; 暴力破解密码&#xff0c;造成用户信息泄露短信盗刷的安全问题&#xff0c;影响业务及导致用户投诉带来经济损失&#xff0c;尤其是后付费客户&#xff0c;风险巨大&#xff0c;造成亏损无底洞 …

C#【进阶】排序进阶

排序进阶 文章目录 插入排序希尔排序归并排序快速排序堆排序 插入排序 #region 知识点一 插入排序的基本原理 // 8 7 1 5 4 2 6 3 9 // 两个区域 // 排序区 // 未排序区 // 用一个索引值做分水岭// 未排序区元素 // 与排序区元素比较 // 插入到合适位置 // 直到未排序区清空 #e…

git使用流程与规范

原文网址&#xff1a;git代码提交流程与规范-CSDN博客 简介 本文git提交流程与规范是宝贵靠谱的经验&#xff0c;它能解决如下问题&#xff1a; 分支差距过大&#xff0c;导致合代码无数的冲突合完代码后发现代码丢失分支不清晰&#xff0c;无法追溯问题合代码耗时很长&…

数据结构的快速排序(c语言版)

一.快速排序的概念 1.快排的基本概念 快速排序是一种常用的排序算法,它是基于分治策略的一种高效排序算法。它的基本思想如下: 从数列中挑出一个元素作为基准(pivot)。将所有小于基准值的元素放在基准前面,所有大于基准值的元素放在基准后面。这个过程称为分区(partition)操作…