原生支持OpenFlow1.3协议的Mininet安装与验证

转载 2015年07月08日 15:39:35


pt-原生支持openflow1.3协议的Mininet安装与验证--2014-12-16

Mininet可以用一个命令在一台主机上(虚拟机、云或者本地)以秒级创建一个虚拟网络,并在上面运行真正的内核、交换机和应用程序代码。之前已经有很多文章介绍过Mininet的安装使用,但是很可惜之前介绍的Mininet版本并不支持或需要修改相应配置文件才能支持OpenFlow1.3协议,这给我们用户在使用过程中增加了不必要的麻烦。高兴的是Mininet2.1.0p1及以后的版本可以原生支持OpenFlow1.3啦!但是这些新版本暂时还不能通过apt-get(Ubuntu环境下)命令获取到,笔者今天就整理了一份文档教大家如何安装并验证支持OpenFlow1.3协议的Mininet。

1 准备工作

本文基于Ubuntu13.10实现,在正式安装Mininet之前我们需要安装一些所需的环境依赖:包括git等。

我们要安装的Mininet版本是2.2.0b0版本,该版本目前还是测试版本,其中加入了一些新特性,当然也会存在一些bug,有经验的用户也可以将测出的bug提交至github。那么截稿前,原生支持OpenFlow1.3协议的Mininet总共就有了三个版本,分别是2.1.0p1、2.1.0p2和2.2.0b0。

Mininet 2.2.0b0版本在修复一些BUG的同时提供了一些新特性,包括了:

(1)提供OpenFlow1.3的支持

  • “mn --switch ovs,protocols=openflow13”:用OF1.3模式启动OVS
  • “install.sh –w”:用Loxigen安装兼容OF1.3的Wireshark
  • “install.sh –y”:安装兼容OF1.3的Ryu控制器

(2)提供一个新的nodelib.py节点库,和新的节点类型,包括LinuxBridge,OVSBridge,LinuxRouter和NAT

(3)提供一个改进的MiniEdit GUI(示例/miniedit.py)

(4)实验集群的支持,可以通过mn --cluster localhost,server1,server2命令实现

注意:示例包含的实验特性在未来可能会被植入Mininet成为它的一部分,但他们不能被认为是稳定的Mininet API的一部分。

2 Mininet 2.2.0b0版本安装

此安装方法适用于本地虚拟机,EC2远程和本地安装,并适合在一个干净的Ubuntu(或者Fedora的)上进行安装。不适用于从旧版本的Mininet或OVS升级。

官方强烈建议安装最新的Ubuntu发行版,因为它们支持新版本的Open vSwitch。Fedora也支持最近发布OVS。
首先获取源代码到本机:

获取到本地后通过查看mininet文件夹下的INSTALL文件可以查看当前获取到的mininet版本。

cat install

从源代码树上获取以后你就可以安装Mininet了。

这里典型的[options]主要有下面几种:

  • “-a”:完整安装包括Mininet VM,还包括如Open vSwitch的依赖关系,以及像的OpenFlow Wireshark分离器和POX。默认情况下,这些工具将被安装在你的home目录中。
  • “-nfv”:安装Mininet、基于OpenFlow的交换机和Open vSwitch。
  • “-s mydir” :在其他选项使用前使用此选项可将源代码建立在一个指定的目录中,而不是在你的home目录。

所以,你可能会使用下面的某一个命令:

完整安装(默认安装在home目录下):

完整安装(安装在其他目录):

安装Mininet+用户交换机+OVS(安装在home目录下):

安装Mininet+用户交换机+OVS (安装在其它目录下):

我们这里选择完整安装:

安装完成后,我们可以通过一个简单的命令来测试Mininet的基本功能是否正常。

test pingall

我们可以再来看下安装完之后的版本号:

3 OF1.3通信验证

安装完之后我们来验证一下新版本的Mininet是否原生支持OpenFlow1.3。这里要注意一下,仅是Mininet生成的的交换机南向接口支持了OpenFlow1.3,自带的控制器还暂不支持,所以要验证还需要一个支持OpenFlow1.3的控制器才行,如Ryu和OpenDaylight Helium。这里以之前介绍过的OpenDaylight Helium为例。OpenDaylight Helium安装教程请见《OpenDaylight的Helium(氦)版本安装》
Mininet连接支持OpenFlow1.3的控制器:

mn 连接控制器

该版本已不像之前2.1.0修改版本一样能在启动打印日志上看到所用的协议版本,因此后续我们要验证其南向接口是否用了OpenFlow1.3协议。

我们让默认生成的两台主机互ping一下:

我们查看交换机中的流表看是否为OpenFlow1.3版本的:

流openflow1.3

通过Wireshark查看抓包也可以看出使用的通信协议及版本号。

wireshark抓包

4 总结

本文介绍了通过源码安装Mininet 2.2.0b0版本并验证了其原生支持OpenFlow1.3,不像之前的版本要么不支持要么需要修改配置文件,这给我们使用者带来福音。同时,支持OpenFlow1.3也是大势所趋,它带给我们网络的可编程化、可自定义化也更加印证了“软件定义网络”的大名。

原生支持OpenFlow1.3协议的Mininet安装与验证

Mininet可以用一个命令在一台主机上(虚拟机、云或者本地)以秒级创建一个虚拟网络,并在上面运行真正的内核、交换机和应用程序代码。之前已经有很多文章介绍过Mininet的安装使用,但是很可惜之前介绍...
  • SDNLAB
  • SDNLAB
  • 2014年12月24日 14:01
  • 1047

wireshark编译&基于openflow1.3协议开发

基于wireshark的openflow1.3协议拓展,对于wireshark已有的openflow1.3解析器做修改,以适应个人研究项目的对口需求。...
  • ljf19891116
  • ljf19891116
  • 2015年05月28日 10:42
  • 675

OpenFlow1.3协议解析

*注:此笔记为个人在学习OpenFlow协议时的个人总结,如需转载麻烦表明出处,并附上连接(http://blog.csdn.net/sherkyoung/article/details/277128...
  • u011714530
  • u011714530
  • 2015年03月06日 13:31
  • 7399

mininet在Ubuntu12.04下的安装及学习

sdn实验之本地安装mininet,以及一些问题的解决
  • u010710787
  • u010710787
  • 2015年03月13日 18:01
  • 1811

Mininet使用源码安装

1 实验目的 掌握Mininet使用源码安装的方法。 2 实验原理 Mininet 是一个轻量级软件定义网络和测试平台;它采用轻量级的虚拟化技术使一个单一的系统看起来像一个完整的网络...
  • w0823m
  • w0823m
  • 2017年05月07日 21:55
  • 377

Mininet的简介(介绍)、安装、操作

Mininet的介绍、安装和操作 Mininet是一个强大的网络仿真平台,通过这个这个平台,我们可以很方便的模拟真实环境中的网络操作与架构。当前SDN/OpenFlow发展的如火如荼,但是在真实网络...
  • u013279509
  • u013279509
  • 2014年04月02日 08:22
  • 6411

MiniNet的安装与使用

直接下载Openflow Tutorial中已经安装好mininet的虚拟机镜像(http://www.openflow.org/wk/index.php/OpenFlow_Tutorial),放在V...
  • neterpaole
  • neterpaole
  • 2013年01月17日 09:57
  • 39103

搭建 pox、mininet、poxdesk平台

今天意外的看见一个poxdesk的图形化的界面,准备
  • jk19920523
  • jk19920523
  • 2014年10月21日 16:45
  • 2584

SDN之旅—mininet(在Windows系统上)安装

SDN之旅—mininet(在Windows系统上)安装 安装mininet可以说是路途坎坷啊,看了很多博客,对比了好几种方法才最终完成,挺感谢那些博主的,不过在我看来有些博客写给比较专业的人看的,...
  • u013042928
  • u013042928
  • 2017年12月08日 14:25
  • 58

没有图形界面的官方mininet虚拟机使用方法

没有图形界面的官方mininet虚拟机使用方法
  • rock4you
  • rock4you
  • 2016年10月04日 21:32
  • 2004
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:原生支持OpenFlow1.3协议的Mininet安装与验证
举报原因:
原因补充:

(最多只允许输入30个字)