实验4:开源控制器实践——OpenDaylight
实验4:开源控制器实践——OpenDaylight
一、实验目的
- 能够独立完成OpenDaylight控制器的安装配置;
- 能够使用Postman工具调用OpenDaylight API接口下发流表。
二、实验环境
- 下载虚拟机软件Oracle VisualBox或VMware;
- 在虚拟机中安装Ubuntu 20.04 Desktop amd64,并完整安装Mininet;
三、实验要求
(一)基本要求
-
配置JAVA环境,下载并解压安装OpenDaylight,版本选择Carbon 或 Beryllium;
-
下载并解压安装Postman;
-
利用Mininet平台搭建下图所示网络拓扑,并连接OpenDaylight控制器;
1️⃣命令行生成拓扑
2️⃣在另外一个窗口运行ODL
3️⃣在浏览器打开网址http://127.0.0.1:8181/index.html
4.通过Postman工具调用OpenDaylight提供的API下发流表,实现拓扑内主机h1和h3网络中断10s。
- 1️⃣ h1 ping h3
- 2️⃣在Postman中send硬超时流规则
(二)进阶要求
-
查找资料,整理和记录ODL控制器主要的REST API文档,包括但不限于ODL提供的文档链接,获取拓扑的交换机、获取流表状态数量、获取特定交换机端口的状态、新增修改和删除流表等。
-
1️⃣获取当前所有拓扑
http://127.0.0.1:8181/apidoc/explorer/index.html#!/network-topology(2013-07-12)/GET_network_topology_get_171
- 2️⃣获取当前拓扑的所有交换机
http://127.0.0.1:8181/apidoc/explorer/index.html#!/opendaylight-inventory(2013-08-19)/GET_nodes_get_358
- 3️⃣流表增删改查
- 4️⃣获取特定交换机端口的状态
http://127.0.0.1:8181/apidoc/explorer/index.html#!/opendaylight-inventory(2013-08-19)/GET_node_connector_get_9
-
(三)心得
实验难度:
- 本次实验中较难的部分主要是:配置JAVA环境,下载并解压安装OpenDaylight
实验过程中遇到的困难及解决办法
-
对于java环境的配置,postman的安装比较顺利,但是在安装OpenDaylight上遇到了困难,首先是安装包下载速度特别慢,尝试了各种方法速度都非常慢,后来想在windows上安装再传输到虚拟机中,发现在windows上一样慢,最后只能让同学把压缩包通过邮箱发送,一分钟下载完成。
-
启动完成后打开浏览器访问http://127.0.0.1:8181/index.html 进入ODL 图形化界面,在一开始进入时一直打不开
后来通过百度,feature要按照一定的顺序安装,安装顺序不合理的话, 会导致后面Web界面无法访问。在没有按照顺序安装组件的情况下,无法登录进入ODL主界面。解决方法是通过logout退出 karaf平台,进入上级目录,删除data目录:rm –r data,再输入:feature:install odl-restconf odl-l2switch-switch-ui odl-openflowplugin-all odl-mdsal-apidocs odl-dlux-core odl-dlux-node odl-dlux-yangui
成功进入
- 使用Postman模拟http请求下发硬超时流规则时,一开始忘记授权ODL账号,导致无法下查看到超时流,在授权之后可以成功查看。
个人感想:
- 在安装环境的时候应该要仔细一点。通过本次实验,学会了怎么了通过ODL来查看mininet所建立的拓扑,学会了使用通过Postman工具调用OpenDaylight提供的API下发流表。