实验6:开源控制器实践——RYU
实验6:开源控制器实践——RYU
一、实验目的
- 能够独立部署RYU控制器
- 能够理解RYU控制器实现软件定义的集线器原理
- 能够理解RYU控制器实现软件定义的交换机原理
二、实验环境
- 下载虚拟机软件Oracle VisualBox或VMware;
- 在虚拟机中安装Ubuntu 20.04 Desktop amd64,并完整安装Mininet;
三、实验要求
(一)基本要求
-
完成Ryu控制器的安装
-
在Ryu安装目录下执行ryu --version查看版本
-
搭建拓扑
sudo mn --topo=single,3 --mac --controller=remote,ip=127.0.0.1,port=6633 --switch ovsk,protocols=OpenFlow10 -
通过编辑保存 L2Switch.py 文件
-
拓扑可视化
-
tcpdump查看
-
h1 ping h2
-
h1 ping h3
-
可以看到均为洪泛转发
-
查看控制器流表,如下图:
-
看到没有流表,而使用pox的hub模块则会看到流表,如下图:
所以可以看到二者都是洪泛转发,但是不同之处在于POX是直接向交换机下发流表,而Ryu是在每个 Packet In 事件之后,向交换机下发动作。
四、个人总结
-
实验难度
基本要求不难。 -
实验过程遇到的困难及解决办法
一开始忘记创建L2Switch.py 文件,一直打开,也没啥区别,之后只创建了但是没有改,造成topo的h1h2h3都不能连通,得打开,才能顺利进行。 -
个人感想
本次实验本身不难,但是有许多小细节,整的到最后,花费了好多时间,最主要就是topo的问题,经常创建了但是不连通,在同学的帮助下我终于连通了,所以要多问问同学,在拓扑可视化方面遇到了一些问题,但还是很好的解决了。通过本次实验,我初步体会了ryu的使用,以及ryu与pox转发的流表的区别,能够理解RYU控制器实现软件定义的集线器原理,还能够理解RYU控制器实现软件定义的交换机原理,使得我对计算机网络的许多只是,当初懵懵懂懂的,现在就都明了了,果然动手使得记忆更加深入。