1 Floodlight概述html
Floodlight是目前主流的SDN控制器之一,它的稳定性、易用性已经获得SDN专业人士以及爱好者们的一致好评,并因其彻底开源,这让SDN网络世界变得更加有活力。控制器做为SDN网络中的重要组成部分,能集中地灵活控制SDN网络,为核心网络及应用创新提供了良好的扩展平台,本文档主要介绍基于Java语言的开源SDN控制器Floodlight的安装部署。git
2 安装前准备工做web
若是不是专业人士,咱们建议在虚拟机中搭建环境并安装。json
Linux:本文基于Ubuntu12.04版本安装api
■系统需求:Ubuntu 10.04(Natty)及以上版本(运行Ant1.8.1及如下版本)微信
■安装JDK,Ant。(可在Eclipse上安装)网络
安装图形化Eclipse(非必须)eclipse
■安装gitui
3 安装Floodlightspa
(1)从Github下载并编译Floodlight。
(2)运行Floodlight。
稍等一会Floodlight就会开始运行,并在控制台打印debug信息。
若是Floodlight运行不正常能够查看Floodlight的主进程是否正在运行。
(3)Eclipse设置
若是是桌面版带图形化界面的Ubuntu而且以前已经安装了Eclipse,那么咱们就能够经过图形化界面的Eclipse运行、开发、配置Floodlight:
上述命令将建立多个文件:Floodlight.launch,Floodlight_junit.launch,classpath和.project。打开Eclipse软件,能够经过下面这些来设置新的Eclipse项目。
■打开eclipse建立一个新的工程
■File -> Import -> General -> Existing Projects into Workspac ,点击下一步
■点击“Browse”。选择以前放置Floodlight的路径
■点击Floodlight
■点击“Finish”
如今就产生了一个Floodlight的Eclipse工程。因为咱们是使用静态模块加载系统运行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管理界面查看里面的信息,包括交换机、主机等等,由于咱们没有接什么设备,页面没有什么信息。
4 配置Floodlight
Floodlight提供了两个配置文件:floodlightdefault.properties和learningswitch.properties,路径都位于floodlight/src/main/resources/。经过这两个配置文件能够查看Floodlight已经加载的子模块以及控制器的侦听端口、web端口,默认的侦听端口是6633,web端口是8080。若有必要用户能够自定义加载子模块和修改侦听端口,经过vi命令修改配置文件后,在Floodlight目录下执行ant编译后重启Floodlight便可。配置参数以下两图a)、图b)所示:
图a) floodlightdefault.properties配置信息
图b) learningswitch.properties配置信息
5 经常使用Floodlight命令
Floodlight将本身的API经过Rest Api的形式向外暴露,关于Rest Api,就是将程序的API封装成为通用的http GET/PUT的形式,这样的话无需关注程序实现细节,经过发送http请求便可完成API操做。因此用户能够经过Floodlight的Restful api来向Floodlight请求各类信息,包括交换机状态、能力、拓扑等。须要注意,经过Floodlight的Restful api返回的信息以json格式封装。REST Api信息用户访问http://www.projectfloodlight.org/floodlight/来得到。
(1)请求该控制器上全部的switch的DPID,能够参考以下命令,其中localhost:8080要换成控制器的ip和port。
(2)加入流表项
(3)读取流表项
注:这种方式是经过static flow pusher来获取流表项。
(4)删除流表项
假如要删除全部的流表项,使用以下命令:
其它常见操做同Open vSwitch。
6 Floodlight可兼容交换机
下面列出了能够和Floodlight控制器兼容的交换机:
虚拟交换机
■Open vSwitch(OVS)
硬件交换机
■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/)
(2) 微信(帐号:SDNLAB)
(3) QQ群
SDN研究群(214146842)
OpenDaylight研究群(194240432)