常用SDN控制器安装部署之Floodlight篇

1 Floodlight概述

Floodlight是目前主流的SDN控制器之一,它的稳定性、易用性已经得到SDN专业人士以及爱好者们的一致好评,并因其完全开源,这让SDN网络世界变得更加有活力。控制器作为SDN网络中的重要组成部分,能集中地灵活控制SDN网络,为核心网络及应用创新提供了良好的扩展平台,本文档主要介绍基于Java语言的开源SDN控制器Floodlight的安装部署。

安装前准备工作

如果不是专业人士,我们建议在虚拟机中搭建环境并安装。

Linux:本文基于Ubuntu12.04版本安装

■系统需求:Ubuntu 10.04Natty)及以上版本(运行Ant1.8.1及以下版本)

■安装JDKAnt。(可在Eclipse上安装)

144103_yu20_2249260.png

安装图形化Eclipse(非必须)

■安装git

144103_G4LO_2249260.png

安装Floodlight

1)从Github下载并编译Floodlight

144103_yzWe_2249260.png

2)运行Floodlight

144103_unpr_2249260.png

稍等一会Floodlight就会开始运行,并在控制台打印debug信息。

144103_fXdS_2249260.png

如果Floodlight运行不正常可以查看Floodlight的主进程是否正在运行。

144103_Ggpo_2249260.png

3Eclipse设置

如果是桌面版带图形化界面的Ubuntu并且之前已经安装了Eclipse,那么我们就可以通过图形化界面的Eclipse运行、开发、配置Floodlight

144104_TEOT_2249260.png

上述命令将创建多个文件:Floodlight.launchFloodlight_junit.launchclasspath.project。打开Eclipse软件,可以通过下面这些来设置新的Eclipse项目。

■打开eclipse创建一个新的工程

File -> Import -> General -> Existing Projects into Workspac ,点击下一步

■点击“Browse”。选择之前放置Floodlight的路径

■点击Floodlight

■点击“Finish

现在就产生了一个FloodlightEclipse工程。由于我们是使用静态模块加载系统运行Floodlight,我们必须配置Eclipse来正确的运行Floodlight。创建Floodlight目标文件:

■点击Run->Run Configurations

■右击Java Application,选择 New

■“Name”使用“FloodlightLaunch

■“Project”使用“Floodlight

■“Main”使用“net.floodlightcontroller.core.Main

■点击“Apply

■点击“Run”,Floodlight就开始运行了

4)运行Floodlight后可以通过登录http://localhost:8080/ui/index.html使用Floodlight提供的web管理界面查看里面的信息,包括交换机、主机等等,因为我们没有接什么设备,页面没有什么信息。

144104_QS4c_2249260.png

配置Floodlight

Floodlight提供了两个配置文件:floodlightdefault.propertieslearningswitch.properties,路径都位于floodlight/src/main/resources/。通过这两个配置文件可以查看Floodlight已经加载的子模块以及控制器的侦听端口、web端口,默认的侦听端口是6633web端口是8080。如有必要用户可以自定义加载子模块和修改侦听端口,通过vi命令修改配置文件后,在Floodlight目录下执行ant编译后重启Floodlight即可。配置参数如下两图a)、图b)所示:

144104_YvSj_2249260.png

                    a)  floodlightdefault.properties配置信息

144104_ebo8_2249260.png

                    图b)  learningswitch.properties配置信息

常用Floodlight命令

Floodlight将自己的API通过Rest Api的形式向外暴露,关于Rest Api,就是将程序的API封装成为通用的http GET/PUT的形式,这样的话无需关注程序实现细节,通过发送http请求即可完成API操作。所以用户可以通过FloodlightRestful api来向Floodlight请求各种信息,包括交换机状态、能力、拓扑等。需要注意,通过FloodlightRestful api返回的信息以json格式封装。REST Api信息用户访问http://www.projectfloodlight.org/floodlight/来获得。

1)请求该控制器上所有的switchDPID,可以参考如下命令,其中localhost:8080要换成控制器的ipport

144104_wcXO_2249260.png

2)加入流表项

144104_yY9J_2249260.png

3)读取流表项

144104_Q22V_2249260.png

注:这种方式是通过static flow pusher来获取流表项。

4)删除流表项

144104_YHVd_2249260.png

假如要删除所有的流表项,使用如下命令:

144104_MiTT_2249260.png

其它常见操作同Open vSwitch

6 Floodlight可兼容交换机

下面列出了可以和Floodlight控制器兼容的交换机:

虚拟交换机

Open vSwitchOVS

硬件交换机

Arista 7050

Brocade MLXe

Brocade CER

Brocade CES

Dell S4810

Dell Z9000

Extreme Summit x440, x460, x670

HP 3500, 3500yl, 5400zl, 6200yl, 6600, and 8200zl (the old-style L3 hardware match platform)

HP V2 line cards in the 5400zl and 8200zl (the newer L2 hardware match platform)

Huawei openflow-capable router platforms

IBM 8264

Juniper (MX, EX)

NEC IP8800

NEC PF5240

NEC PF5820

NetGear 7328SO

NetGear 7352SO

Pronto (3290, 3295, 3780) - runs the shipping pica8 software

本文来源于SDNLAB,可点击此阅读原文。如果您对本文感兴趣,可参与以下互动方式与作者近距离交流。       (1) 微博(http://weibo.com/sdnlab/

145008_1BUp_2249260.png


(2) 微信(账号SDNLAB)

145046_XH8g_2249260.png

(3) QQ

SDN研究群(214146842)

OpenDaylight研究群(194240432)


转载于:https://my.oschina.net/sdnlab/blog/351816

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值