不同于旧版的Hydrogen,新的OpenDaylight Helium版本,提供了一个更方便测试和管理SDN生产环境的平台给开发者,而通过可用于部署组件及应用的Apache Karaf容器,用户也可以按需求组合建构OpenDaylight组件功能。之前的技术类文章已经详细介绍过OpenDaylight最新氦版本的安装部署及与之前主力版本氢版本的详细比较。官方文档中说明OpenDaylight氦版本原生支持OF1.3协议,只需要安装相应的组件即可,同时界面上面也有很大的改动,那么下面我们就来验证一下氦版本的OpenDaylight是否可以用OF1.3来通信。
1 准备工作
我们需要有一台装有OpenDaylight Helium环境的主机(物理机、虚拟机皆可),安装教程详见《OpenDaylight的Helium(氦)版本安装》。由于氦版本启动后很吃内存,至少会占到1.5G以上,实验时大家最好将氦版本和Mininet装在能互相通信的的不同机器上操作,以免机器卡死。本文就是基于这种方式实验的。
另外,安装Mininet的Ubuntu版本号需要在13.10及以上,下面列出了Ubuntu各版本通过apt-get对应获取的Mininet版本。
表 1. Ubuntu各版本通过apt-get对应获取的Mininet版本
2 Mininet配置文件修改
2.1 Mininet2.1.0版本安装
在Ubuntu13.10下我们获取Mininet2.1.0版本。
如果缺少相应环境依赖组件导致安装失败,请看《OpenDaylight与Mininet应用实战之基本环境搭建(一)》中Mininet安装部分。
安装好后查看Mininet版本号是否为2.1.0,Mininet2.1.0及以上版本才支持OF1.3。
2.2 Mininet2.1.0配置文件修改
为了让Mininet2.1.0支持OenFlow1.3,我们需要修改相应的配置文件。
按下图添加或修改配置文件中两处的相应字段。注意:因为是python文件,修改的时候必须格外注意每一行缩进,缩进错误会导致mininet无法启动或者启动后无法正常启用OF1.3协议。本人就是因为缩进错误导致无法启用OF1.3并误以为是OpenDaylight配置问题而倒腾了两天,赤果果的教训啊。
图 1. node.py配置文件修改(一)
图 2. node.py配置文件修改(二)
到这里Mininet安装配置完毕。
3 OpenDaylight氦版本与Mininet用OF1.3通信验证
3.1 用OF1.3通信
启动OpenDaylight Helium版,通过Mininet启用OF1.3并连接至OpenDaylight控制器。
图 3. 启用OF1.3的Mininet启动图
我们看到Mininet端使用了OpenFlow1.3协议,我们再pingall一下,看Mininet中主机是否能正常通信。
我们进入OpenDaylight的Web页面http://[host ip]:8181/dlux/index.html可以看到当前网络的图形化拓扑。
图 4. OpenDaylight Web界面
但是这时我们还不能完全确定OpenDaylight和Mininet是否是用OF1.3进行通信的,下面我们就来具体验证一下。
3.2 OF1.3通信验证
我们可以在Mininet端通过查看OF1.3交换机和流表信息的方式查看验证。
查看OF1.3交换机信息:
图 5. OF1.3交换机信息图
文章未完,了解详情请关注http://www.sdnlab.com/3460
了解更多有关咨询,请点击www.sdnlab.com