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

实验目的

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

实验要求

(一)基本要求
    1. 搭建下图所示SDN拓扑,协议使用Open Flow 1.0,并连接Ryu控制器,通过Ryu的图形界面查看网络拓扑。
    2.  建立拓扑sudo mn --topo=single,3 --mac --controller=remote,ip=127.0.0.1,port=6633 --switch ovsk
    3.  

       连接Ryu控制器 ryu-manager ryu/ryu/app/gui_topology/gui_topology.py --observe-links

    4.  

       通过Ryu的图形界面查看网络拓扑
      在浏览器中输入地址http://127.0.0.1:8080即可打开ryu的图形界面

    5.  

    6. 运行L2Switch ryu-manager L2Switch.py
      pingall可以ping通
    7.  

      • 开启主机终端 mininet>xterm h2 h3
      • 在h2主机终端中输入tcpdump -nn -i h2-eth0
      • 在h3主机终端中输入tcpdump -nn -i h3-eth0
      • h1 ping h2

 

 h1 ping h3

 

 运行结果:
运行ryu-manager L2xxxxxxxxx.py
mininet>dpctl dump-flows

 

 

个人总结
  1. 实验最开始就遇到了问题TypeError: cannot set 'is_timeout' attribute of immutable type 'TimeoutError',查找相关资料后通过pip install https://github.com/eventlet/eventlet/archive/master.zip解决了问题,当随后又出现了新的问题AttributeError: module 'collections' has no attribute 'MutableMapping',最后通过https://blog.csdn.net/lishuaigell/article/details/125221750该帖子中的修改相关路径文件中的collections.MutableMapping为collections.ac.MutableMapping成功解决。
  2. 通过本次实验学会了独立部署Ryu控制器;能够理解Ryu控制器实现软件定义的集线器原理以及Ryu控制器实现软件定义的交换机原理。

 

posted @ 2022-10-22 21:08  102299108  阅读(674)  评论(0编辑  收藏  举报