实验6:开源控制器实践——RYU
实验6:开源控制器实践——RYU
一、实验目的
- 能够独立部署RYU控制器;
- 能够理解RYU控制器实现软件定义的集线器原理;
- 能够理解RYU控制器实现软件定义的交换机原理。
二、实验环境
- 下载虚拟机软件Oracle VisualBox或VMware;
- 在虚拟机中安装Ubuntu 20.04 Desktop amd64,并完整安装Mininet;
三、实验要求
(一)基本要求
- 完成Ryu控制器的安装。
-
搭建下图所示SDN拓扑,协议使用Open Flow 1.0,并连接Ryu控制器。
sudo mn --topo=single,3 --mac --controller=remote,ip=127.0.0.1,port=6633 --switch ovsk,protocols=OpenFlow10
连接ryu控制器:
ryu-manager ryu/ryu/app/gui_topology/gui_topology.py --observe-links
-
通过Ryu的图形界面查看网络拓扑。
-
阅读Ryu文档的The First Application一节,运行并使用 tcpdump 验证L2Switch,分析和POX的Hub模块有何不同。
运行L2Switch.py
h1 ping h2
h1 ping h3
均为洪泛转发ICMP报文
和POX的HUB模块的区别之处是L2Switch下发的流表无法查看,而使用HUB模块则会看到流表。
四、实验心得
本次实验的主要内容是能够独立部署RYU控制器、理解RYU控制器实现软件定义的集线器原理、能够理解RYU控制器实现软件定义的交换机原理。实验时环境配置和软件安装花了很多的时间。因为RYU的安装一直报错,实验难度总体不大,主要是安装RYU的时候出的问题比较多。
- 问题
- 一开始下载ryu的时候运行到第(4)小步和第(5)小步安装的时候一直安装不了,就输入密码完成的时候就卡住不动了,过几分钟出现红色的英文,看不懂。后面问已经安装好的同学,解决办法是在安装的命令后加上阿里云的镜像站的网站,安装就成功了。
- 一开始在建立拓扑的时候说是文件存在,可能是虚拟机比较卡,重启一下再次建立拓扑成功。然后在RYU目录下写PY文件的时候权限不够,不知道是什么原因,最后去别的文件夹下写进来,然后用sudo MOV指令移动进去了。
- 收获
- 本次实验上次实验的步骤和流程类似,使用起来感觉是差不多的,学习到新的RYU控制器的使用以及理解了原理。