1 实验目的
掌握Mininet使用源码安装的方法。
2 实验原理
Mininet 是一个轻量级软件定义网络和测试平台;它采用轻量级的虚拟化技术使一个单一的系统看起来像一个完整的网络运行相关的内核系统和用户代码,也可简单理解为 SDN 网络系统中的一种基于进程虚拟化平台,它支持 OpenFlow、OpenvSwith 等各种协议,Mininet 也可以模拟一个完整的网络主机、链接和交换机在同一台计算机上且有助于互动开发、测试和演示,尤其是那些使用 OpenFlow 和 SDN 技术;同时也可将此进程虚拟化的平台下代码迁移到真实的环境中。
3 实验任务
本实验通过源码安装Mininet2.2.1版本,Mininet2.2.1版本直接支持OpenFlow1.3协议。
4 实验步骤
4.1 搭建环境
Ubuntu14.04镜像实验平台中已提供镜像。
4.2 实验操作
本次介绍的Mininet安装方法适用于本地虚拟机,EC2远程和本地安装,并适合在一个干净的Ubuntu(或者Fedora的)上进行安装。不适用于从旧版本的Mininet或OVS升级。官方强烈建议安装最新的Ubuntu发行版,因为它们支持新版本的Open vSwitch,Fedora也支持最近发布OVS。
注:假如之前安装过Mininet,需要先卸载,没有的话执行按照下面的步骤安装Mininet。
卸载命令:
1 2 3 4 5 |
#sudo rm -rf /usr/local/bin/mn /usr/local/bin/mnexec \ /usr/local/lib/python*/*/*mininet* \ /usr/local/bin/ovs-* /usr/local/sbin/ovs-* |
1 |
#sudo apt-get remove mininet |
下面我们开始在一个干净的Ubuntu上安装Mininet:
1 更新软件
1 2 3 |
# apt-get update # apt-get upgrade |
2 从github上获取Mininet源码。
1 |
#git clone git://github.com/mininet/mininet |
3 获取完以后,查看当前获取的Mininet版本
1 2 3 |
#cd mininet #cat INSTALL |
说明:在~/mininet目录下,我们可以通过git tag命令列出所有可用的Mininet版本(如下截图),Mininet2.1.0p1及以后的版本可以原生支持OpenFlow1.3,所以我们这次安装的Mininet2.2.1版本支持OpenFlow1.3协议。
4 源码树获取成功以后,安装Mininet。
1 |
#mininet/util/install.sh[options] |
这里典型的[options]主要有下面几种:
“-a”:完整安装包括Mininet VM,还包括如Open vSwitch的依赖关系,以及像的OpenFlow Wireshark分离器和POX。默认情况下,这些工具将被安装在你的home目录中。
“-nfv”:安装Mininet、基于OpenFlow的交换机和Open vSwitch。
“-s mydir” :在其他选项使用前使用此选项可将源代码建立在一个指定的目录中,而不是在你的home目录。
所以,你可能会用到下面的某一个命令来安装Mininet:
1 2 3 4 |
# install.sh –a ##完整安装(默认安装在home目录下) # install.sh -s mydir –a ##完整安装(安装在其他目录) # install.sh –nfv ##安装Mininet+用户交换机+OVS(安装在home目录下) # install.sh -s mydir –nfv ##安装Mininet+用户交换机+OVS(安装在其他目录下) |
这里选择的安装命令是:
1 |
# mininet/util/install.sh –a |
说明:其他可用的[options]可以通过install.sh -h命令查看(如下截图),例如你只想安装OpenFlow1.3和Open vSwitch2.3.0,可以使用安装命令:#mininet/util/install.sh –n3V 2.3.0
5安装完成以后,通过简单的命令测试Mininet的基本功能。
1 |
#sudo mn --test pingall |
1 |
#mn --version |
5 实验结论
本次实验采用源码安装的方式成功安装了Mininet2.2.1,接下来就可以利用Mininet做相关的实验了。此外,还有虚拟机镜像和安装包两种安装方式,可以参考官网http://mininet.org/download/。