一、实验目的
- 能够独立部署RYU控制器;
- 能够理解RYU控制器实现软件定义的集线器原理;
- 能够理解RYU控制器实现软件定义的交换机原理。
二、实验环境
- 下载虚拟机软件Oracle VisualBox或VMware;
- 在虚拟机中安装Ubuntu 20.04 Desktop amd64,并完整安装Mininet;
三、实验要求
- 完成Ryu控制器的安装。
- 搭建下图所示SDN拓扑,协议使用Open Flow 1.0,并连接Ryu控制器。
- 通过Ryu的图形界面查看网络拓扑。
- 阅读Ryu文档的The First Application一节,运行并使用 tcpdump 验证L2Switch,分析和POX的Hub模块有何不同。
- h1 ping h2:
- h2 ping h3:
- 分析和POX的Hub模块有何不同:
二者均通过洪泛发送报文,但是L2Swtich的下发流表不可查看。
四、个人总结
- 实验难度:基础部分个人认为较为简单。整个实验下来并没有遇到太多的困难,仔细阅读实验指导书后,实验进行的较为轻松。
- 实验过程遇到的困难及解决办法:
- 问题1:拓扑构建完成后进行pingall指令,出现了连接失败的问题,使用tcpdump进行验证的时候,出现了100%丢包率现象
解决办法:先启用ryu控制器,而后打开Ryu验证L2Switch,最后再进行拓扑构建,即可使用tcpdump顺利验证实验结论。 - 问题2:在启用ryu控制器时出现了报错信息:ModuleNotFoundError: No module named 'ryu/ryu/app/gui_topology/gui_topology'
解决方法:观察报错信息发现是文件路径输入错误,在命令行终端输入指令时我是在/031902402/ryu的文件夹下进行访问的,这样输入上述指令时就会出现无法找到对应文件的问题,修改为在/031902402的文件夹下进行访问即可。
- 个人感想:在这个实验中初步学习了Ryu控制器的工作原理以及使用方法,收获颇丰,但在下一次实验中一些细节上的问题还用多多注意。