实验7:基于REST API的SDN北向应用实践

实验目的

  1. 能够编写程序调用OpenDaylight REST API实现特定网络功能;
  2. 能够编写程序调用Ryu REST API实现特定网络功能。

实验要求

(一)基本要求

    1. 编写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实现特定网络功能有了更加深刻的了解。

 

posted @ 2022-10-30 22:04  102299108  阅读(30)  评论(0编辑  收藏  举报