一、实验目的
- 能够独立部署RYU控制器;
- 能够理解RYU控制器实现软件定义的集线器原理;
- 能够理解RYU控制器实现软件定义的交换机原理。
二、实验环境
Ubuntu 20.04 Desktop amd64
三、实验要求
(一)基本要求
- 搭建下图所示SDN拓扑,协议使用Open Flow 1.0,并连接Ryu控制器,通过Ryu的图形界面查看网络拓扑。
- 阅读Ryu文档的The First Application一节,运行当中的L2Switch,h1 ping h2或h3,在目标主机使用 tcpdump 验证L2Switch,分析L2Switch和POX的Hub模块有何不同。
通过Ryu的图形界面查看网络拓扑
2.阅读Ryu文档的The First Application一节,运行当中的L2Switch,h1 ping h2或h3,在目标主机使用 tcpdump 验证L2Switch,分析L2Switch和POX的Hub模块有何不同。
-
-
L2Switch和POX的Hub模块的不同
相同之处:两个模块使用的是洪泛转发ICMP报文,所以无论h1 ping h2还是h3,都能收到数据包。
-
不同之处:L2Switch下发的流表无法在mininet上查看,而Hub可以查看,如图
-
- 编程修改L2Switch.py,另存为L2xxxxxxxxx.py,使之和POX的Hub模块的变得一致?(xxxxxxxxx为学号)
实验心得:在本次实验中,通过阅读RYU文档并查看相关模块的源代码,了解了RYU控制器的工作原理,并比较了RYU的L2Switch模块与POX的Hub模块的异同。本次的实验基础部分难度较低,最开始安装RYU时,基本上根据老师的实验指导书一步一步来,即可顺利完成,同时实验操作与前两次操作ODL和POX控制器差不多,因此能较为快速地完成对应步骤,而进阶部分则难度较大,尤其在阅读源码部分进度较慢。不过,虽然阅读源码的过程有些痛苦,但在过程中,查阅相关材料,结合源码进行阅读,也使得我对RYU的控制机制有了更为形象和深入的认识。