首页 > 其他分享 >实验6:开源控制器实践——RYU

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

时间:2022-10-29 00:14:44浏览次数:58  
标签:控制器 simple 流表 py 开源 switch handler RYU 13

基本要求(一)

1.搭建所示SDN拓扑,协议使用Open Flow 1.0,并连接Ryu控制器,通过Ryu的图形界面查看网络拓扑。

构建拓扑

连接ryu控制器

通过Ryu的图形界面查看网络拓扑,在浏览器中输入127.0.0.1:8080

2.阅读Ryu文档的The First Application一节,运行当中的L2Switch,h1 ping h2或h3,在目标主机使用 tcpdump 验证L2Switch,分析L2Switch和POX的Hub模块有何不同。

L2Switch

运行L2Switch.py

重新构建拓扑,并对h2、h3节点进行抓包

h1 ping h2

h1 ping h3

ryu下查看流表

pox下查看流表

对比可得,ryu下查不到流表,而在pox下可查看流表。

3.编程修改L2Switch.py,另存为L2xxxxxxxxx.py,使之和POX的Hub模块的变得一致?

L2212006156


运行L2212006156并查看流表

进阶要求(二)

1.阅读Ryu关于simple_switch.py和simple_switch_1x.py的实现,以simple_switch_13.py为例,完成其代码的注释工作,并回答下列问题:

simple_switch_13



a)代码当中的mac_to_port的作用是什么?

保存mac地址到交换机端口的映射

b)simple_switch和simple_switch_13在dpid的输出上有何不同?

simple_switch是直接输出dpid,而simple_switch_13是在dpid前端填充0直至满16位

c)相比simple_switch,simple_switch_13增加的switch_feature_handler实现了什么功能?

switch_feature_handler的作用是:将缺失流表项添加到流表中,当封包没有匹配到流表项时,就触发packet_in

d)simple_switch_13是如何实现流规则下发的?

在接收到packetin事件后,首先获取包学习,交换机信息,以太网信息,协议信息等。
如果以太网类型是LLDP类型,则不予处理。
如果不是,则获取源端口目的端口,以及交换机id,先学习源地址对应的交换机的入端口,再查看是否已经学习目的mac地址,如果没有则进行洪泛转发。
如果学习过该mac地址,则查看是否有buffer_id,如果有的话,则在添加流动作时加上buffer_id,向交换机发送流表。

e)switch_features_handler和_packet_in_handler两个事件在发送流规则的优先级上有何不同?

switch_features_handler下发流表的优先级比_packet_in_handler高。

个人总结(三)

       鉴于拓扑建立和ryu开启顺序本次有一定的难度,途中还有各种运行问题阻挠,导致最后攻克进阶也很困难,希望下次能顺利点

标签:控制器,simple,流表,py,开源,switch,handler,RYU,13
From: https://www.cnblogs.com/kazdel/p/16837875.html

相关文章

  • 实验6:开源控制器实践——RYU
    实验6:开源控制器实践——RYU一、实验目的能够独立部署RYU控制器;能够理解RYU控制器实现软件定义的集线器原理;能够理解RYU控制器实现软件定义的交换机原理。二、实验环......
  • 实验6 RYU
    实验6:开源控制器实践——RYU1.基础要求a)回答L2Switch和POX的Hub模块有何不同通过实验结果可知,相比于POX的Hub模块,L2Switch的相同之处在于二者实现的都是洪泛发送ICMP报......
  • 实验6:开源控制器实践——RYU
    实验6:开源控制器实践——RYU一、实验目的能够独立部署RYU控制器;能够理解RYU控制器实现软件定义的集线器原理;能够理解RYU控制器实现软件定义的交换机原理。二、实验......
  • 实验6:开源控制器实践——RYU
    实验6:开源控制器实践——RYU一、实验目的能够独立部署RYU控制器;能够理解RYU控制器实现软件定义的集线器原理;能够理解RYU控制器实现软件定义的交换机原理。二、实验环境......
  • 实验6:开源控制器实践——RYU
    一、实验目的能够独立部署RYU控制器;能够理解RYU控制器实现软件定义的集线器原理;能够理解RYU控制器实现软件定义的交换机原理。二、实验环境Ubuntu20.04Desktopam......
  • 实验6:开源控制器实践——RYU
    搭建拓扑:点击查看代码sudomn--topo=single,3--mac--controller=remote,ip=127.0.0.1,port=6633--switchovsk,protocols=OpenFlow10连接RYU控制器点击查看代......
  • 实验6:开源控制器实践——RYU
    一、实验目的能够独立部署RYU控制器;能够理解RYU控制器实现软件定义的集线器原理;能够理解RYU控制器实现软件定义的交换机原理。二、实验环境Ubuntu20.04Desktopamd6......
  • 实验6:开源控制器实践——RYU
    实验6:开源控制器实践——RYU一、实验目的1.能够独立部署RYU控制器;2.能够理解RYU控制器实现软件定义的集线器原理;3.能够理解RYU控制器实现软件定义的交换机原理。二、......
  • 实验6:开源控制器实践——RYU
    (一)基本要求1、搭建下图所示SDN拓扑,协议使用OpenFlow1.0,并连接Ryu控制器,通过Ryu的图形界面查看网络拓扑。2、阅读Ryu文档的TheFirstApplication一节,运行当中的L2Sw......
  • 实验6:开源控制器实践——RYU
    (一)基本要求1.搭建所示SDN拓扑,协议使用OpenFlow1.0,并连接Ryu控制器,通过Ryu的图形界面查看网络拓扑。构建拓扑sudomn--topo=single,3--mac--controller=remote,ip......