实验4:开源控制器实践——OpenDaylight
一、实验目的
1.能够独立完成OpenDaylight控制器的安装配置;
2.能够使用Postman工具调用OpenDaylight API接口下发流表。
二、实验环境
Ubuntu 20.04 Desktop amd64
三、实验要求
(一)基本要求
1.利用Mininet平台搭建下图所示网络拓扑,并连接OpenDaylight控制器;
打开ODL,启动完成后打开浏览器访问http://127.0.0.1:8181/index.html进入ODL图形化界面
在命令行中输入
sudo mn --topo=single,3 --mac --controller=remote,ip=127.0.0.1,port=6633 --switch ovsk,protocols=OpenFlow13
执行pingall在ODL中查看搭建好的拓扑
3.通过Postman工具调用OpenDaylight提供的API下发流表,实现拓扑内主机h1和h3网络中断10s。
(二)进阶要求
1.查找资料,整理和记录ODL控制器主要的REST API文档,包括但不限于ODL提供的文档链接,获取拓扑的交换机、获取流表状态数量、获取特定交换机端口的状态、新增修改和删除流表等。
1)获取拓扑的交换机
URL:http://127.0.0.1:8181/apidoc/explorer/index.html#!/network-topology(2013-07-12)/GET_network_topology_get_171
(2)获取指定交换机信息
URL:http://127.0.0.1:8181/apidoc/explorer/index.html#!/opendaylight-inventory(2013-08-19)/GET_node_get_5
(3)获取特定交换机端口的状态
URL:http://127.0.0.1:8181/apidoc/explorer/index.html#!/opendaylight-port-statistics(2013-12-14)/get_node_connector_statistics_post_0
(4)流表的增删改查
URL:http://127.0.0.1:8181/apidoc/explorer/index.html#!/opendaylight-inventory(2013-08-19)/GET_table_get_200
四、个人总结
此次实验内容并不是很难,通过此次实验让我熟悉了OpenDaylight的基本操作,并且熟悉使用Postman工具利用API接口发流表
在最开始打开OpenDaylight命令的时候应先执行 ./distribution-karaf-0.6.4-Carbon/bin/karaf //Carbon 版本使其运行才可以
最初主机h1和h3网络无法中断10s,查询资料后发现应该先执行h1ping h3操作后才Postman处选择动作PUT。通过老师的资料以及相关的资料学会了Postman模拟http请求下发硬超时流规则
idle timeout:软超时,如果值为非0,那么在对应的时间内如果没有数据包匹配,时间到该流规则将被删除;值为0不设软超时机制。
hard timeout:硬超时,如果值为非0,那么在对应的时间内不论是否有数据包匹配,时间到流规则都会被删除;值为0不设硬超时机制。