实验4:开源控制器实践——OpenDaylight
一、实验目的
- 能够独立完成OpenDaylight控制器的安装配置;
- 能够使用Postman工具调用OpenDaylight API接口下发流表。
二、实验环境
- 下载虚拟机软件Oracle VisualBox或VMware;
- 在虚拟机中安装Ubuntu 20.04 Desktop amd64,并完整安装Mininet;
三、实验要求
(一)基本要求
- 配置JAVA环境,下载并解压安装OpenDaylight,版本选择Carbon 或 Beryllium,下载并解压安装Postman;
- 利用Mininet平台搭建下图所示网络拓扑,并连接OpenDaylight控制器;
-
构造拓扑
-
执行pingall,然后在ODL中查看拓扑:
- 通过Postman工具调用OpenDaylight提供的API下发流表,实现拓扑内主机h1和h3网络中断10s。
(二)进阶要求
- 查找资料,整理和记录ODL控制器主要的REST API文档,包括但不限于ODL提供的文档链接,获取拓扑的交换机、获取流表状态数量、获取特定交换机端口的状态、新增修改和删除流表等。
-
获取特定交换机端口的状态
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}
四、实验总结
- 遇到的问题
- 安装java时先是由于自己粗心没有找到java SE 8 的正确下载地址导致安装版本有问题,重新安装并配置环境变量后查询版本一直查询不到后发现是因为我的安装路径和老师粒子的安装路径不同,命令行输入pwd查看自己的正确路径后完成了安装。安装Postman时出现类似问题,没有找到正确的下载地址导致版本错误。
- 建立拓扑pingall后,主机均无法ping通,是因为没有打开ODL,打开ODL再pingall即可
- 个人心得
实验难度不算太大,问题大部分出在安装java和ODL的环境,而出问题的原因大部分是因为没有细心看老师的PDF。通过本次实验学习了ODL控制器的安装配置和它的使用方法,学习了使用Postman工具调用ODL API接口下发流表。通过查找资料,学习了ODL控制器主要的REST API文档,如:获取拓扑的交换机、获取流表状态数量、获取特定交换机端口的状态、新增修改和删除流表等。