实验6:开源控制器实践——RYU
实验6:开源控制器实践——RYU
一、实验目的
- 能够独立部署RYU控制器;
- 能够理解RYU控制器实现软件定义的集线器原理;
- 能够理解RYU控制器实现软件定义的交换机原理。
二、实验环境
- 下载虚拟机软件Oracle VisualBox或VMware;
- 在虚拟机中安装Ubuntu 20.04 Desktop amd64,并完整安装Mininet;
三、实验要求
(一)基本要求
-
完成Ryu控制器的安装。
显示版本
-
搭建下图所示SDN拓扑,协议使用Open Flow 1.0,并连接Ryu控制器。
搭建拓扑
连接控制器
-
通过Ryu的图形界面查看网络拓扑。
启动ryu控制器, 查看拓扑
-
阅读Ryu文档的The First Application一节,运行并使用 tcpdump 验证L2Switch,分析和POX的Hub模块有何不同。
L2Switch.py
验证功能
h1 ping h2
h1 ping h3
查看流表
结论:POX和Ryu都是洪泛转发,但是不同之处在于POX是直接向交换机下发流表,而Ryu是在每个Packet In事件之后,向交换机下发动作。
四、个人总结
遇到两个很大的问题,一个问题是ping不通,一开始以为是自己Ryu没有配置好甚至重装了一遍,后来在同学的帮助之下发现,是启动顺序的问题。先启动Ryu控制器再创建topo,然后最后还要重新创建topo,还有一个问题是路径问题,连接ryu的时候提示error:no moudle named,最后是通过一个一个路径找过去,最终才做到连接。学习了这次实验之后对于Openflow协议又有了更加深刻的认识,挺有难度的一个实验。