实验6:开源控制器实践——RYU
一、实验目的
- 能够独立部署RYU控制器;
- 能够理解RYU控制器实现软件定义的集线器原理;
- 能够理解RYU控制器实现软件定义的交换机原理。
二、实验环境
Ubuntu 20.04 Desktop amd64
三、实验要求
(一)基本要求
- 搭建下图所示SDN拓扑,协议使用Open Flow 1.0,并连接Ryu控制器,通过Ryu的图形界面查看网络拓扑。
建立拓扑并连接RYU控制器
在火狐浏览器打开ryu图形界面,查看拓扑结构
- 阅读Ryu文档的The First Application一节,运行当中的L2Switch,h1 ping h2或h3,在目标主机使用 tcpdump 验证L2Switch,分析L2Switch和POX的Hub模块有何不同。
L2Switch模块代码展示
构建拓扑,运行L2Switch模块,同时开启h2和h3终端,使用tcpdump进行数据包监听
- h1 ping h2(观察到h2,h3都接收到数据包)
-
h1 ping h3(观察到h2,h3都接收到数据包)
- 通过dpctl dump-flows命令检查ryu的L2Switch模块和pox的Hub模块的区别
- 在连接ryu控制器,启动L2Switch模块后查看下发流表
-
在连接pox控制器,启动Hub模块后查看下发流表
-
RYU的L2Switch模块和POX的Hub模块都采用洪泛转发,但不同之处在于:
可以在pox的Hub模块运行时查看流表,而无法在ryu的L2Switch模块运行时查看到流表
- 编程修改L2Switch.py,另存为L2xxxxxxxxx.py,使之和POX的Hub模块的变得一致?(xxxxxxxxx为学号)
实验心得
- 本次实验的主要内容是能够独立部署RYU控制器、理解RYU控制器实现软件定义的集线器原理、能够理解RYU控制器实现软件定义的交换机原理。实验时环境配置和软件安装花了很多的时间。因为RYU的安装一直报错,实验难度总体不大,主要是安装RYU的时候出的问题比较多。
标签:控制器,L2Switch,Hub,开源,实验,模块,RYU
From: https://www.cnblogs.com/199989hl/p/16838493.html