实验6:开源控制器实践——RYU
一、实验目的
- 能够独立部署RYU控制器;
- 能够理解RYU控制器实现软件定义的集线器原理;
- 能够理解RYU控制器实现软件定义的交换机原理。
二、实验环境
Ubuntu 20.04 Desktop amd64
三、实验要求
(一)基本要求
- 搭建下图所示SDN拓扑,协议使用Open Flow 1.0,并连接Ryu控制器,通过Ryu的图形界面查看网络拓扑。
- 使用命令在lab6中搭建拓扑图:
启动控制器
![]()
- 通过Ryu的图形界面查看网络拓
2.阅读Ryu文档的The First Application一节,运行当中的L2Switch,h1 ping h2或h3,在目标主机使用 tcpdump 验证L2Switch,分析L2Switch和POX的Hub模块有何不同。
- 运行ryu:
重新搭建拓扑图
![]()
对p1和p2进行抓包,在目标主机中验证验证L2Switch
![]()
![]()
3.编程修改L2Switch.py,另存为L2xxxxxxxxx.py,使之和POX的Hub模块的变得一致?(xxxxxxxxx为学号)
![]()
![]()
(三)实验小结
- 本次实验总体会有点复杂,在查看了RYU的资料对部分代码有了理解,RYU控制器在下发流表时和POX控制器都是对数据包进行泛洪转发,而且RYU不能查看对应流表项,在操作硬超时部分时,需要将openflow的版本改为1.3,并且在测试icmp时,再开启硬超时代码,就可以实现主机之间硬超时访问。
- 通过Ryu的图形界面查看网络拓
- 使用命令在lab6中搭建拓扑图:







浙公网安备 33010602011771号