一、实验目的
-
能够独立部署 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
-
由图可见,h1 ping h2时h3也能收到数据包,h1 ping h3时h2也能收到数据包,说明L2Switch模块的功能同hub模块:为每一个交换机建立通配的洪泛规则,让交换机拥有集线器的功能。
四、个人总结
本次实验难度和实验五差不多,但是我遇到了大问题:无法安装ryu,在尝试了诸如更换网络、更换源、升级apt等多种方法后,我还是没能解决这个问题,且不知道到底是哪里出了问题,出于无奈我寻求了102192104林枢同学寻求了帮助,用他的电脑上已经配置好的ryu实验环境进行了操作,从而解决了这个问题。从我的实验截图中可以看到学号掺杂了102192102和102192104,故在总结在做出解释。在实验过程中进行h1 h2 ping连接时出现了unreachable的问题,估计是流表没有成功下发,重启虚拟机后解决了这个问题。