实验7:基于REST API的SDN北向应用实践
实验目的
- 能够编写程序调用OpenDaylight REST API实现特定网络功能;
- 能够编写程序调用Ryu REST API实现特定网络功能。
实验要求
(一)基本要求
- 编写Python程序,调用OpenDaylight的北向接口实现以下功能
(1) 利用Mininet平台搭建下图所示网络拓扑,并连接;
搭建拓扑 命令行输入
Beryllium 版本 连接OpenDaylight
(2) 下发指令删除s1上的流表数据。
创建并编写delete.py文件
命令行输入
(3) 下发硬超时流表,实现拓扑内主机h1和h3网络中断20s。
创建并编写 timeout.py 文件
h1 ping h3
途中命令行输入
(4) 获取s1上活动的流表数。
创建并编写 getflow.py 文件
命令行输入
2. 编写Python程序,调用Ryu的北向接口实现以下功能
(1) 实现上述OpenDaylight实验拓扑上相同的硬超时流表下发。
创建并编写 ryu_timeout.py 文件
创建并编写 ryu_timeout.json 文件
关闭ODL控制器,关闭上次的拓扑并清除拓扑
启动ryu控制器
创建拓扑
h1 ping h3 , 运行
(2) 参考Ryu REST API的文档,基于VLAN实验的网络拓扑,编程实现相同的VLAN配置。
创建并编写 ryu_topo.py 文件
创建并编写 ryu_vlan.py 文件
关闭控制器,关闭上一次实验的拓扑并清除
启动Ryu控制器
创建拓扑
删除流表
运行
个人总结
本次实验过程相对繁琐,出现的问题障碍也比较多,遇到不会的就通过学弟的悉心指导,才能艰难地完成,完成这次实验对于本地端编写程序,对于如何调用OpenDaylight REST API与Ryu REST API实现特定网络功能有了更加深刻的了解。