SDN第七次实验

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

1.利用Mininet平台搭建下图所示网络拓扑,并连接OpenDaylight;

 

 2.编写Python程序,调用OpenDaylight的北向接口下发指令删除s1上的流表数据。 

3.编写Python程序,调用OpenDaylight的北向接口下发硬超时流表,实现拓扑内主机h1和h3网络中断20s。

 

 


4. 编写Python程序,调用OpenDaylight的北向接口获取s1上活动的流表数

 

 Ryu
(1) 编写Python程序,调用Ryu的北向接口,实现上述OpenDaylight实验拓扑上相同的硬超时流表下发。

超时代码:

#!/usr/bin/python import requests if __name__ == "__main__": url = 'http://127.0.0.1:8080/stats/flowentry/add' with open("./flowtable.json") as f: jstr = f.read() headers = {'Content-Type': 'application/json'} res = requests.put(url, jstr, headers=headers) print (res.content)

json:{ "dpid": 1, "cookie": 1, "cookie_mask": 1, "table_id": 0, "hard_timeout": 20, "priority": 65535, "flags": 1, "match":{ "in_port":1 }, "actions":[ ] }

 

 

 

(2) 利用Mininet平台搭建下图所示网络拓扑,要求支持OpenFlow 1.3协议,主机名、交换机名以及端口对应正确。拓扑生成后需连接Ryu,且Ryu应能够提供REST API服务。

 

  (3) 整理一个Shell脚本,参考Ryu REST API的文档,利用curl命令,实现和实验2相同的VLAN。

 

三。个人总结:本次的实验对于自己来说,难度比较大,尝试了很多次,并不清楚具体的问题出在哪里,反正结果就是和别人很不一样,python代码运行就是有一堆的错误,能提供帮助的同学的帮助下,只能勉强做完前面的实验,对于后面的实验实在是不知道这个bug是怎么弄出来的,把虚拟机开关机了也没啥子用,还特别卡的虚拟机,心态有点蹦,对于并不是对网络知识理论很熟的我,对于这个实验确实是搞不来了,这个花费的时间也很长,而且截止时间快到了,来不及再做下去,在有空闲的时间的时候准备再试一试。下次的作业也尽量提前去完成。

posted @ 2021-10-26 16:57  魏总的  阅读(40)  评论(0编辑  收藏  举报