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

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

1 准备工作

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

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

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

1)提供OpenFlow1.3的支持

 ■“mn --switch ovs,protocols=openflow13”:用OF1.3模式启动OVS

 ■“install.sh w”:用Loxigen安装兼容OF1.3Wireshark

 ■“install.sh y”:安装兼容OF1.3Ryu控制器

2)提供一个新的nodelib.py节点库,和新的节点类型,包括LinuxBridgeOVSBridgeLinuxRouterNAT

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

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

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

2 Mininet 2.2.0b0版本安装

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

官方强烈建议安装最新的Ubuntu发行版,因为它们支持新版本的Open vSwitchFedora也支持最近发布OVS

 首先获取源代码到本机:

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

原生支持OpenFlow1.3协议的Mininet安装与验证_第1张图片

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

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

 ■“-a”:完整安装包括Mininet VM,还包括如Open vSwitch的依赖关系,以及像的OpenFlow Wireshark分离器和POX。默认情况下,这些工具将被安装在你的home目录中。

 ■“-nfv”:安装Mininet、基于OpenFlow的交换机和Open vSwitch

 ■“-s mydir” :在其他选项使用前使用此选项可将源代码建立在一个指定的目录中,而不是在你的home目录。

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

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

原生支持OpenFlow1.3协议的Mininet安装与验证_第2张图片

原生支持OpenFlow1.3协议的Mininet安装与验证_第3张图片

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

3 OF1.3通信验证

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

 Mininet连接支持OpenFlow1.3的控制器:

原生支持OpenFlow1.3协议的Mininet安装与验证_第4张图片

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

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

原生支持OpenFlow1.3协议的Mininet安装与验证_第5张图片

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

原生支持OpenFlow1.3协议的Mininet安装与验证_第6张图片

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

原生支持OpenFlow1.3协议的Mininet安装与验证_第7张图片

4 总结

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

本文来源于SDNLAB,可点击此阅读原文。如果您对本文感兴趣,可参与以下互动方式与作者近距离交流。

 微博(http://weibo.com/sdnlab/

原生支持OpenFlow1.3协议的Mininet安装与验证_第8张图片

 微信(账号:SDNLAB)

 原生支持OpenFlow1.3协议的Mininet安装与验证_第9张图片








QQ群

SDN研究群(214146842)

OpenDaylight研究群(194240432)








你可能感兴趣的:(原生支持OpenFlow1.3协议的Mininet安装与验证)