实验4:开源控制器实践——OpenDaylight
一、实验目的
1.能够独立完成OpenDaylight控制器的安装配置;
2.能够使用Postman工具调用OpenDaylight API接口下发流表。
二、实验环境
1.下载虚拟机软件Oracle VisualBox或VMware;
2.在虚拟机中安装Ubuntu 20.04 Desktop amd64,并完整安装Mininet;
三、实验要求
(一)基本要求
1.配置JAVA环境,下载并解压安装OpenDaylight,版本选择Carbon 或 Beryllium;
2.下载并解压安装Postman;
3.利用Mininet平台搭建下图所示网络拓扑,并连接OpenDaylight控制器;
- 构造上述拓补,并测试连通性
4.通过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/apidoc/explorer/index.html#!/opendaylight-inventory(2013-08-19)/GET_table_get_211
获取特定交换机端口的状态
http://127.0.0.1:8181/apidoc/explorer/index.html#!/opendaylight-port-statistics(2013-12-14)/get_node_connector_statistics_post_0
四、个人总结
- 本次实验难度本身不是很大,仅仅是对于ODL控制器的初步连通操作即流表的控制操作。但是在这之前的环境安装需要花费很大一部分时间完成,比较难的部分也就是Java环境配置和OpenDaylight控制器的插件安装,Java环境配置的问题主要在与Oracle账户的申请问题,貌似无法用国内的邮箱账号进行申请,无奈之下只好网上查询一些公开可用的账户。再者就是在于环境变量的配置操作与教程当中的出入很多,上网查了不少解决方案。而OpenDaylight控制器的插件安装问题出在插件名的更迭,在查询了相关插件名列表查询指令后,勉强完成了安装。最后就是实验操作时虚拟内存不足导致的卡顿重启问题,这边是设置了50G的虚拟内存,不过貌似还是会导致虚拟机和主机的卡死。
- 这次试验仅仅是对于控制平面的相关初步操作,还需在后续课程中学习更多。