实验4:开源控制器实践——OpenDaylight
一、实验目的
- 能够独立完成OpenDaylight控制器的安装配置;
- 能够使用Postman工具调用OpenDaylight API接口下发流表。
二、实验环境
- 下载虚拟机软件Oracle VisualBox或VMware;
- 在虚拟机中安装Ubuntu 20.04 Desktop amd64,并完整安装Mininet;
三、实验要求
(一)基本要求
1.配置JAVA环境,下载并解压安装OpenDaylight,版本选择Carbon或Beryllium;
2.下载并解压安装Postman;
3.利用Mininet平台搭建下图所示网络拓扑,并连接OpenDaylight控制器;
4.通过Postman工具调用OpenDaylight提供的API下发流表,实现拓扑内主机h1和h3网络中断10s。
(二)进阶要求
1.查找资料,整理和记录ODL控制器主要的REST API文档,包括但不限于ODL提供的文档链接,获取拓扑的交换机、获取流表状态数量、获取特定交换机端口的状态、新增修改和删除流表等。
1.获取当前所有拓扑结构
URL格式:http://IP:端口/restconf/operational/operational/network-topology:network-topology
URL示例:http://127.0.0.1:8181/restconf/operational/network-topology:network-topology
2.获取当前指定拓扑结构
URL格式:http://IP:端口/restconf/operational/operational/network-topology:network-topology/topology/TopologyID
URL示例:http://127.0.0.1:8181/restconf/operational/network-topology:network-topology/topology/flow:1
3.获取当前所有拓扑结构中的所有交换机节点的信息
URL格式:http://IP:端口/restconf/operational/opendaylight-inventory:nodes
URL示例:http://127.0.0.1:8181/restconf/operational/opendaylight-inventory:nodes
4.获取当前指定拓扑结构中的指定交换机节点的信息
URL格式:http://IP:端口/restconf/operational/opendaylight-inventory:nodes/node/交换机ID
URL示例:http://127.0.0.1:8181/restconf/operational/opendaylight-inventory:nodes/node/openflow:1
5.获取当前指定拓扑结构中的指定交换机节点中指定端口连接的信息
URL格式:http://IP:端口/restconf/operational/opendaylight-inventory:nodes/node/交换机ID/opendaylight-inventory:node-connector/连接ID
URL示例:http://127.0.0.1:8181/restconf/operational/opendaylight-inventory:nodes/node/openflow:1/opendaylight-inventory:node-connector/openflow:1:2
6.获取当前指定拓扑结构中的指定交换机节点中单个FlowTable的信息
URL格式:http://IP:端口/restconf/operational/opendaylight-inventory:nodes/node/交换机ID//table/FlowTable的ID
URL示例:http://127.0.0.1:8181/restconf/operational/opendaylight-inventory:nodes/node/openflow:1/table/0
7.获取当前指定拓扑结构中的指定交换机节点中单个FlowTable中指定Flow的信息
URL格式:http://IP:端口/restconf/operational/opendaylight-inventory:nodes/node/交换机ID//table/FlowTable的ID/flow/FlowID
URL示例:http://127.0.0.1:8181/restconf/operational/opendaylight-inventory:nodes/node/openflow:1/table/0/flow/L2switch-0
四、心得体会
通过本次实验完成了SDN环境的进阶安装,中间遇到许多问题,软件安装和运行java程序报错,网络连接超时等
OpenDayLight网页下载非常慢建议考虑其他途径安装,第一次的odl安装缓慢,中途强行退出可能导致后面再尝试安装失败,导致网页404
ryu超时解决办法:https://www.cnblogs.com/multhree/p/11938765.html
本次实验后对opendaylight有了初次使用的经验,并对postman的使用有了初步了解和收集资料了解到特殊URL和json格式流表的部分函数表达意思,明白了SDN网络的实现方式和SDN网络实现工具的利用,相信接下来的学习能让我对SDN有更深刻的理解