SDN开发笔记(二):SDN控制器的使用

作者简介:鸿哥,硕士研究生,国内某通信设备公司软件研发工程师,主要从事云计算、SDN技术开发

鉴于网上对于sdn开发相关的资料较少又乱的现状,从这篇文章开始,我将陆续分享我在sdn开发过程中的经验,我的sdn项目开发是基于opendaylight的release-lithium-sr3版本,该版本相对稳定。

继上篇文章《sdn开发环境的搭建(win7环境)- SDN开发笔记(一)》之后,我在Linux下使用odl控制器,在使用之前,先将使用环境搭建好,我使用的Linux是ubuntu 14.04桌面版,采用vmware虚拟机方式,具体为:
Vmware版本:VMware-workstation-full-11.1.0
Linux版本:ubuntu-14.04-desktop-amd64.iso

一、基本环境搭建

1、安装Vmware并注册key
2、安装ubuntu-14.04-desktop,具体安装过程请自行google下
3、启用linux的root账号、ssh-service允许远程连接等,此步骤可忽略,目的只是方便odl控制器文件传输等。

二、ODL运行环境搭建

1、JDK环境搭建
JDK版本使用jdk-8u73-linux-i586.gz,新建目录/usr/lib/jvm,并将jdk解压至该目录,修改目录名称为java。

2、Maven环境搭建,选择apche-maven-3.3.9-bin.tar.gz,解压到/usr/jvm/maven。


3、设置环境变量

最末尾添加如下:


保存退出,使之生效

4、验证环境是否ok,在终端输入 mvn -v

5、从官网下载发行版二进制odl控制器文件,传入ubuntu中,解压,找到distribution-karaf-0.3.3-Lithium-SR3/bin/karaf文件。

解释下,karaf.bat文件是在windows环境的启动文件,而karaf是Linux环境下的启动文件,Odl控制器是支持在windows和Linux环境两种环境运行的,因为ODL控制器是运行在JVM之上的。

6、运行karaf,启动odl控制器。

可以看到运行界面如下

二、mininet的使用

1、mininet的安装
我选择的是直接git下载,执行以下步骤将mininet安装

2、测试是否成功
测试是否成功

查看mininet版本

查看OVS版本

出现以下则表示安装mininet等ok

3、mininet的使用
启动好odl之后,就可以运行mininet连接odl控制器了,但是前提是odl需要安装几个feature,比如odl-dlux-all用于web浏览器访问odl,odl-l2switch-all用于发现主机节点,odl-restconfig-all用于访问北向接口。在odl控制台中执行

可以通过feature:list -i已安装feature,通过http:list | grep dlux 查看dlux的load情况

4、通过web浏览器访问http://192.168.65.129:8181/index.html
注意192.168.65.129是我运行odl控制器的ip,输入admin/admin登录可以看到web页面如下:

目前由于没有连接mininet,因此没有任何设备在页面。

5、运行mininet连接odl,在终端输入

注意最新的mininet已经改用6653端口而非6633端口连接odl控制器

6、刷下web页面,可以看到一台交换机,此时在mininet中输入pingall,web页面就可看到两台主机与一台交换机。

7、重要的地方
http://192.168.65.129:8181/restconf/operational/opendaylight-inventory:nodes/node/openflow:1
这个链接用于查看在odl上的交换机与主机节点信息。

mininet控制台除了上述的pingall、dump还有其他有用的命令,比如net、ovs-ofctl、link等命令,在mininet上使用”?”就可以显示所有命令,命令详情请自行google一下。

下一篇文章将介绍《odl源码编译生成发行版控制器》,平时上班时间太忙,抱歉让大家久等了。


  • 本站原创文章仅代表作者观点,不代表SDNLAB立场。所有原创内容版权均属SDNLAB,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用,转载须注明来自 SDNLAB并附上本文链接。
  • 本文链接http://www.sdnlab.com/17356.html
  • 本文标签技术/tech

分享到:
相关阅读
5条评论

登录后才可以评论

  1. comment reply 346748050 2016/07/13 08:12
    非常好的教程,简明扼要,对ODL的编程开发很感兴趣,会持续关注后续的教程
        1楼
  2. comment reply 空明lab 2016/07/13 09:54
    SDN开发入门,这文章对我很有帮助。师姐厉害了(●'◡'●)
        2楼
  3. comment reply liaozw_yy 2016/08/28 15:44
    学习这种技术文档的积累方法,非常实用!
        3楼
  4. comment reply zbaichuan 2016/11/15 10:10
    你好 我是linux新手。 请教一下 我系统解压JDK后名字为jdk1.8.0_73 查找不到jdk-8u_73 我将jdk1.8.0_73改名为JAVA 但是修改环境变量后提示 /usr/lib/jvm/java/bin/java:not found
        4楼
  5. comment reply zbaichuan 2016/11/18 02:24
    经实践,第二步中解压到/usr/jvm/maven,其实是mkdir /usr/maven 解压以后重新命名mv apache-maven-3.3.9 maven可以编译,或者更改环境变量M2_HOME=/usr/lib/jvm/maven
        5楼
wellbeing 发表于16-07-12
4