实验6:开源控制器实践——RYU

实验6:开源控制器实践——RYU

一、实验目的

能够独立部署RYU控制器;
能够理解RYU控制器实现软件定义的集线器原理;
能够理解RYU控制器实现软件定义的交换机原理。

二、实验环境

下载虚拟机软件Oracle VisualBox或VMware;
在虚拟机中安装Ubuntu 20.04 Desktop amd64,并完整安装Mininet;

三、实验要求

(一)基本要求

1.完成Ryu控制器的安装。

2.搭建下图所示SDN拓扑,协议使用Open Flow 1.0,并连接Ryu控制器。


①搭建拓扑

②连接Ryu控制器

3.通过Ryu的图形界面查看网络拓扑。

4.阅读Ryu文档的The First Application一节,运行并使用 tcpdump 验证L2Switch,分析和POX的Hub模块有何不同。

①阅读文档The First Applications 一节(https://ryu.readthedocs.io/en/latest/writing_ryu_app.html)
自行编写L2Switch.py代码并用命令ryu-manager L2Switch.py运行


②运行并使用tcpdump(方法同POX)
h1 ping h2,h2 和 h3 都接收到h1发送的ICMP报文

h1 ping h3,h2 和 h3 都接收到h1发送的ICMP报文

对比可知,Hub和L2Switch实现的都是洪泛发送ICMP报文,L2Switch下发的流表无法查看,而Hub可以查看。

四、个人总结

本次实验整体上和实验5差不多,只是将POX换成了Ryu,在拓扑连接时我的mininet一直显示Destination host unreachable,h1无法发
送内容出去,百度上五花八门的解决办法都试了不行,挣扎了一天还是不行。第二天运行了ryu内置的simple_switch.py文件发现可以正常
运行,后面重新从官网复制了L2Switch的代码,再用ryu-manager打开突然又可以了,不太懂什么状况。实验中要先打开ryu-manager再创建
topo,这点很重要。默认端口参考了同学的,从8080改成了6633,至于8080行不行没有去实践,之前pingall
不通好像不是端口问题,不过最终是以6633端口完成了实验。
Ryu打开图形界面是空白的就没有截图。

posted @ 2021-10-10 15:12  林枢  阅读(149)  评论(0编辑  收藏  举报