2021 SDN实验4:开源控制器实践——OpenDaylight
实验4:开源控制器实践——OpenDaylight
一、实验目的
- 能够独立完成OpenDaylight控制器的安装配置;
- 能够使用Postman工具调用OpenDaylight API接口下发流表。
二、实验环境
- 下载虚拟机软件Oracle VisualBox或VMware;
- 在虚拟机中安装Ubuntu 20.04 Desktop amd64,并完整安装Mininet;
三、实验要求
(一)基本要求
- 配置JAVA环境,下载并解压安装OpenDaylight,版本选择Carbon 或 Beryllium;
- 下载并解压安装Postman;
- 利用Mininet平台搭建下图所示网络拓扑,并连接OpenDaylight控制器;
· 搭建目标拓扑
- 通过Postman工具调用OpenDaylight提供的API下发流表,实现拓扑内主机h1和h3网络中断10s。
(二)进阶要求
查找资料,整理和记录ODL控制器主要的REST API文档,包括但不限于ODL提供的文档链接,获取拓扑的交换机、获取流表状态数量、获取特定交换机端口的状态、获取特定交换机端口的状态等。
· 获取拓扑的交换机
http://127.0.0.1:8181/apidoc/explorer/index.html#!/network-topology(2013-07-12)/GET_network_topology_get_171
· 流表的增删改查
· 获取特定交换机端口的状态
http://127.0.0.1:8181/restconf/config/opendaylight-inventory:nodes/node/{id}
· 获取交换机中某个流表信息
http://127.0.0.1:8181/restconf/config/opendaylight-inventory:nodes/node/{id}/table/{id}
· 获取特定交换机端口的状态
http://127.0.0.1:8181/apidoc/explorer/index.html#!/opendaylight-port-statistics(2013-12-14)/get_node_connector_statistics_post_0
(三)实验报告
⚪ 实验难度:
偏难。本实验的难度在于独立安装装配置实验环境,如java、Postman、opendaylight、ryu。基本上每一个的安装和配置,都出现了或大或小的问题:找不到对应的版本、权限不足、命令错误、环境变量爆炸、没输入账号密码——发送中断请求没响应等等,所幸都解决了。
⚪ 实验问题
· 问题1:通过火狐下载各种压缩包,无法移动到指定到目录下,对压缩包操作权限不足。
解决:通过命令“ sudo nautlilus ”就可以打开一个具有管理员权限的文件管理器,然后就可以在不切换到管理员的条件下拷贝文件。
· 问题2:启动ODL安装插件时,命令报错。
解决:经过与实验四pdf中命令对比,发现通过复制后的命令,缺少了一个‘ - ’。
· 问题3:安装ryu,下载源码时,get clone命令。
解决:直接通过浏览器,转到目标页面,下载zip包。
⚪ 收获感想:
实验内容是使用 Postman 调用 OpenDaylight 提供的 API 下发流表,实现丢包的动作和流规则到期硬删除。通过本次实验我能够独立完成OpenDaylight控制器的安装配置,学习了ODL开源控制器和它的使用方法、能够使用Postman工具调用OpenDaylight API接口下发流表。这次实验,对于ODL和Postman的运用还不够熟练,需之后具体的学习和应用。