mininet 系列文章链接归类:
【mininet 0x01】mininet环境搭建
【mininet 0x02】如何使用mn工具来操作mininet
【mininet 0x03】如何使用Python API来操作mininet
【mininet 0x04】使用ryu作为mininet的controller完成HUB功能
【mininet 0x05】使用ryu作为mininet的controller完成L2Switch功能
文章目录
Mininet是什么
Mininet是由斯坦福大学基于Linux Container架构开发的一个进程虚拟化网络仿真工具,可以创建一个包含主机,交换机,控制器和链路的虚拟网络,其交换机支持OpenFlow,具备高度灵活的自定义软件定义网络。
为什么要搭建mininet
- 为OpenFlow应用程序提供一个简单,便宜的网络测试平台;
- 启用复杂的拓扑测试,无需连接物理网络;
- 具备拓扑感知和OpenFlow感知的CLI,用于调试或运行网络范围的测试;
- 支持任意自定义拓扑,主机数可达4096,并包括一组基本的参数化拓扑;
- 提供用户网络创建和实验的可拓展Python API。
而且方便我们后续研究OVS
,因此需要搭建一套mininet
,安装mininet
的脚本中包含了安装ovs组件
以及openflow
。
搭建 mininet 步骤
此处以ubuntu20.04
为例:
1、安装git
sudo apt-get install git
2、获取mininet.git
git clone http://github.com/mininet/mininet.git
3、 自定义安装mininet
进入util
文件夹:
cd mininet/util
默认安装全部特性
./install.sh -a
自定义安装方式,可参照下表所示参数进行安装。
参数 | 功能 | 参数 | 功能 |
---|---|---|---|
-a | 默认的安装全部特性 | -p | 安装POX控制器 |
-b | 安装Benchmark:oflops | -r | 删除已存在的Open vSwitch包 |
-c | 安装核心之后清空已有配置 | -s | 依赖源码/构建树存储位置 |
-d | 删除某些敏感文件 | -t | 完成其他Mininet虚拟机的创建任务 |
-e | 安装Mininet开发依赖 | -v | 安装Open vswitch |
-f | 安装OpenFlow协议支持模块 | -V | 安装指定版本的Open vswitch |
-h | 打印帮助信息 | -w | 安装Wireshark的OpenFlow解析器 |
-i | 安装Indigo Virtual Switch | -y | 安装Ryu控制器 |
-k | 安装新的内核 | -x | 安装NOX Classic控制器 |
-m | 从源目录安装Open Switch内核模块 | -0 | (default) 安装OpenFlow 1.0版本 |
-n | 安装Mininet依赖和核心文件 | -3 | 安装OpenFlow 1.3版本 |
4、测试安装是否成功
sudo mn --test pingall
如下图所示为安装成功
遇到的坑
1、pip版本过低
升级pip版本:
pip install --upgrade pip
总结
安装mininet的方法较为容易,前提是打通科学上网通路