实验6:开源控制器实践——RYU

实验6:开源控制器实践——RYU

一、实验目的

  1. 能够独立部署RYU控制器;
  2. 能够理解RYU控制器实现软件定义的集线器原理;
  3. 能够理解RYU控制器实现软件定义的交换机原理。

二、实验环境

  1. 下载虚拟机软件Oracle VisualBox或VMware;
  2. 在虚拟机中安装Ubuntu 20.04 Desktop amd64,并完整安装Mininet;

三、实验要求

(一)基本要求

  1. 完成Ryu控制器的安装。

    显示版本

  2. 搭建下图所示SDN拓扑,协议使用Open Flow 1.0,并连接Ryu控制器。
    img
    搭建拓扑

    连接控制器

  3. 通过Ryu的图形界面查看网络拓扑。
    启动ryu控制器, 查看拓扑

  4. 阅读Ryu文档的The First Application一节,运行并使用 tcpdump 验证L2Switch,分析和POX的Hub模块有何不同。
    L2Switch.py

    验证功能
    h1 ping h2

    h1 ping h3

    查看流表

    结论:POX和Ryu都是洪泛转发,但是不同之处在于POX是直接向交换机下发流表,而Ryu是在每个Packet In事件之后,向交换机下发动作。

四、个人总结

遇到两个很大的问题,一个问题是ping不通,一开始以为是自己Ryu没有配置好甚至重装了一遍,后来在同学的帮助之下发现,是启动顺序的问题。先启动Ryu控制器再创建topo,然后最后还要重新创建topo,还有一个问题是路径问题,连接ryu的时候提示error:no moudle named,最后是通过一个一个路径找过去,最终才做到连接。学习了这次实验之后对于Openflow协议又有了更加深刻的认识,挺有难度的一个实验。

posted @ 2021-10-20 17:37  0lwx  阅读(69)  评论(0编辑  收藏  举报