实验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打开图形界面是空白的就没有截图。