OpenDaylight初步学习过程
- 格式:pdf
- 大小:824.14 KB
- 文档页数:8
北京邮电大学-杨勇 2015/11/12
1 OpenDaylight初步学习过程
———————Lithium
OpenDaylight搭建环境的要求
1. 虚拟机Ubuntu 14.04,内存建议4G及以上,以免在启动ODL时太卡
2. Java7-及以上版本
3. Maven3.1.1及以上版本
注意:
先用java –version 查看jdk版本。如果版本低于jdk1.7,则从jdk官网下载,
下载地址: http://www.oracle.com/technetwork/java/javase/downloads/java-archive-
downloads-javase7-521261.html#jdk-7u79-oth-JPR 一定要根据自己系统下载相应的
jdk。
安装及配置: http://blog.sina.com.cn/s/blog_93dc666c0101b1bj.html
查看maven版本,maven –v,如果未安装,则从其官网下载3.1.1版本及以上版本。
Tar文件,可以先去官网查下maven最新版本多少。
下载网址:http://www.apache.org/dyn/closer.cgi/maven/binaries/apache-maven-
3.3.3-bin.tar.gz
安装配置:http://www.blogjava.net/caojianhua/archive/2011/04/02/347559.html
建议不要从shell通过apt-get来安装maven,版本不是最新的。
安装pre-build的controller
由于新手初期对于ODL的了解还不多,建议先安装pre-built的distribution熟悉一下
opendaylight的基本功能。
1) 下载地址如下,下载zip格式
https://www.opendaylight.org/downloads
2) 解压文件,进入到bin文件夹,运行./karaf 北京邮电大学-杨勇 2015/11/12
2 3) 安装相关依赖,以下是满足一些基本功能的依赖(顺序有时候会有要求):
安装支持REST API的组件: feature:install odl-restconf
安装L2 swtich 和Openflow插件:
feature:install odl-l2switch-switch
feature:install odl-openflowplugin-all
安装DULX功能: feature:install odl-dlux-all
安装基于karaf控制台的md-sal控制器功能:feature:install odl-mdsal-all
安装基于karaf控制台的ad-sal功能: feature:install odl-adsal-northbound
安装完成后,可以通过访问http://
面,也可以通过 http://
以上如果一切顺利则表明ODL初步搭建完成,接下来需要通过mininet来验证ODL连接以
及用restclient或者postman来验证下发流表正常
使用mininet连接controller
1) 在另外一台虚拟机安装mininet,具体安装步骤请看压缩包里的《如何升级Mininet的
OpenvSwitch的版本》文档。
2) 启动ODL
3) 启动Mininet连接controller,本例命令如下:
sudo mn –
controller=remote,ip=
3 Mininet命令详见 http://mininet.org/walkthrough/
4) Mininet连上controller后,可以在ODL那个网页上刷新一下,就可以看到创建的拓扑
图,但有一点需要注意的是图上只显示了交换机不会显示主机,这是由链路发现协议
LLDP来决定的,当主机发起流量时,相关主机才会在拓扑图中显示。
5) 在mininet中输入 pingall,将所有交换机和主机之间连接起来这时候再刷新拓扑图,就
能看到主机了,这时说明controller与mininet连接没有问题。
北京邮电大学-杨勇 2015/11/12
4
OpenFlow Configuration
1. 在以上的基础上,在controller虚拟机浏览器里访问:
http://localhost:8181/restconf/operational/opendaylight-inventory:nodes
2. 接下来就用id为openflow:5的交换机来测试下发流表,如果你虚拟机里是FireFox浏
览器,则添加Restclient组件,若是Chrom浏览器则添加Postman组件。一般ubuntu
系统都是火狐浏览器,本文档就以火狐浏览器为例。如下图添加Restclient:
北京邮电大学-杨勇 2015/11/12
5
添加好后再从下图打开restclient
3. 通过restclient下发流表
Method为put
URL:http://
openflow:1/table/0/flow/1则是你下发流表指定的交换机,通常table/0/flow/1不用变,
openflow:1则根据你从上一步查看nodes时能够获取到的几个node
来找,如上图的
openflow:5)
设置Headers: 北京邮电大学-杨勇 2015/11/12
6 Content-Type: application/xml
Accept: application/xml
Authentication(这个就是你访问这个网址时需要的账号密码,这儿就是admin/admin)
Use Body
北京邮电大学-杨勇 2015/11/12
7
注意:如果你想尝试不一样的flow和table,比如将table/0/flow/1改成table/2/flow/20,
那么相应的URL需要变且Body里也要相应修改为
Result
4. 在mininet虚拟机上通过以下指令验证是否下发成功(mininet不关,另启一个shell)
sudo ovs-ofctl -O OpenFlow13 dump-flows s5(这里咱们下发给的是openflow:5 对应
的也就是交换机s5)
北京邮电大学-杨勇 2015/11/12
8 你也可以通过restclient来验证
URL: http://
inventory:nodes/node/openflow:5/table/0/
Method: GET
这里就不用设置Accept的header
Result
至此,祝贺你完成了ODL初步安装以及验证端到端下发流表步骤。
附录
本文编辑的资料来源以下网址及文档:
1. https://wiki.opendaylight.org/view/OpenDaylight_OpenFlow_Plugin:End_to_End_Flows
端到端流表验证
2. 《Opendaylight学习及开发初级教程北邮-天依》