Mininet介绍

mininet在SDN网络实验中可以用来快速、方便的创建网络拓扑,SDNLAB网站上有mininet相关的实验课程,请自行查看。

什么是Mininet

        Mininet是由一些虚拟的终端节点(end-hosts)、交换机、路由器连接而成的一个网络仿真器,它采用轻量级的虚拟化技术使得系统可以和真实网络相媲美。

       Mininet可以很方便地创建一个支持SDN的网络:host就像真实的电脑一样工作,可以使用ssh登录,启动应用程序,程序可以向以太网端口发送数 据包,数据包会被交换机、路由器接收并处理。有了这个网络,就可以灵活地为网络添加新的功能并进行相关测试,然后轻松部署到真实的硬件环境中。

Mininet特性

       可以简单、迅速地创建一个支持用户自定义的网络拓扑,缩短开发测试周期

       可以运行真实的程序,在Linux上运行的程序基本上可以都可以在Mininet上运行,如Wireshark

       Mininet支持Openflow,在Mininet上运行的代码可以轻松移植到支持OpenFlow的硬件设备上

       Mininet可以在自己的电脑,或服务器,或虚拟机,或者云(例如Amazon EC2)上运行

       Mininet提供python API,简单易用

Mininet安装

关于Mininet的安装,参见SDNLAB文章:

https://www.sdnlab.com/15138.html

Mininet 是一个开源项目,简单好用成本低,代码托管在github上:https://github.com/mininet/mininet

在Linux系统上将mininet源码git到本地:

git clone git://github.com/mininet/mininet

cd mininet

git tag 查看可安装的版本

git checkout   # 这里的release tag就是你想选取的版本

安装方式有几种可选:

#mininet/util/install.sh [options]

# install.sh –a  ##完整安装(默认安装在home目录下)

# install.sh -s mydir –a  ##完整安装(安装在其他目录)

# install.sh –nfv  ##安装Mininet+用户交换机+OVS(安装在home目录下)

# install.sh -s mydir –nfv  ##安装Mininet+用户交换机+OVS(安装在其他目录下)

# mininet/util/install.sh -a

Mininet使用

安装完成后使用命令:sudo mn --test pingall 进行测试mininet是否安装正确

图形化页面构建拓扑结构

cd /mininet/mininet/examples

./miniedit.py

图形化页面创建好拓扑后可以自行保存,或者另存为python文件。

mininet常用命令

创建简单拓扑并连接到远程SDN控制器:

sudo mn --topo single,3 --mac --switch ovsk--controller=remote,ip=10.109.33.232,port=6633 -x

当然命令行创建拓扑还有其他种类,请自行查阅。

pingall

nodes

net

dump

启动与关闭拓扑中主机的web服务

mininet> h1 python -m SimpleHTTPServer 80 &      #在主机 h1 开启 Web 服务

mininet> h2 wget -O - h1                                          #主机 h2 上下载 h1 web 站点内容

mininet> h1 kill %python                                          # 杀掉 web 进程


在服务器上安装好Mininet之后就可以自行模拟创建SDN拓扑了。

Mininet安装后默认安装了SDN控制器POX和软件交换机Openvswitch(OVS),可以单独使用OVS进行实验

你可能感兴趣的:(Mininet介绍)