SDN网络学习除了Open vSwitch作为OpenFlow的执行装置之外还要有一个实验环境,Mininet就是提供这个试验环境的工具。
Mininet用命令在一台机器(VM、cloud或native)上创建一个真实的虚拟网络,运行真实的内核、交换机和应用程序代码(以秒为单位):
您可以使用Mininet CLI(和API)轻松地与网络交互、自定义它、与其他人共享它或将它部署到实际硬件上,Mininet对于开发、教学和研究非常有用。
Mininet也是开发、共享和试验OpenFlow和软件定义的网络系统的一种好方法。
安装Mininet可以用Git下载源码编译、APT安装、VM虚拟机方式进行安装,详见http://mininet.org/
本文这里就以第一种GIT下载安装的方法来安装Mininet,安装环境Ubuntu18.04
1.从Github上获取mininet源码
git clone git://github.com/mininet/mininet
2.选择合适的版本
jacky@ubuntu:~$ cd mininet/
jacky@ubuntu:~/mininet$ git tag
1.0.0
2.0.0
2.1.0
2.1.0p1
2.1.0p2
2.2.0
2.2.1
2.2.2
2.3.0d3
2.3.0d4
2.3.0d5
2.3.0d6
cs244-spring-2012-final
jacky@ubuntu:~/mininet$
3.虚拟机方式是2.2.2版本,为了统一选择2.2.2版本进行安装
git checkout <tagname>
cd util
./install.sh
install.sh有很多参数,可以-h 之后查看,执行后发现iproute需要安装,那么还要编译iproure,进入https://mirrors.edge.kernel.org/pub/linux/utils/net/iproute2/选择版本下载。
sudo apt-get install bison flex
wget https://mirrors.edge.kernel.org/pub/linux/utils/net/iproute2/iproute2-5.3.0.tar.gz
tar -xvf iproute2-5.3.0.tar.gz
cd iproute
sudo make
sudo make install
ip sr help
安装完成以后启动,之后建立一个默认网络
sudo mn
*** No default OpenFlow controller found for default switch!
*** Falling back to OVS Bridge
*** Creating network
*** Adding controller
*** Adding hosts:
h1 h2
*** Adding switches:
s1
*** Adding links:
(h1, s1) (h2, s1)
*** Configuring hosts
h1 h2
*** Starting controller
*** Starting 1 switches
s1 ...
*** Starting CLI:
mininet>
下一篇将要介绍Mininet的使用和命令行参数,由于我们需要对一个实际的网络进行仿真,那么就需要自定义网络设置。