实验6:开源控制器实践——RYU
实验6:开源控制器实践——Ryu
一、实验目的
-
能够独立部署 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模块有何不同。
-
先输入指令
ryu-manager L2Switch.py
,接着建立拓扑,输入xterm h2 h3
-
h1 ping h2
- h1 ping h3
- Ryu 下查看拓扑流表
- Pox 下查看拓扑流表
可以发现 Ryu 无法查看具体流表,而 pox 可以。
四、个人总结
-
实验难度:和实验6差不多,属于验证性的实验
-
实验过程遇到的困难及解决办法:
实验过程中在终端输入指令 sudo mn --topo=single,3 --mac --controller=remote,ip=127.0.0.1,port=8080 --switch ovsk,protocols=OpenFlow10
,但是 ping 后显示
接着我输入指令 lsof -i:8080
,发现端口并没有被进程占用,说明拓扑建立有问题。
于是我换了个端口,就可以 ping 通了,就很神奇,也不知道为什么 8080 端口用不了。
- 实验心得
通过这次实验,我能够能够独立部署 Ryu 控制器,也能够理解 Ryu 控制器实现软件定义的集线器原理和 Ryu 控制器实现软件定义的交换机原理,进一步学习到了不同组件下,流表下发的操作。