ryu

2019 SDN上机第5次作业

余生颓废 提交于 2019-12-06 07:59:17
1.浏览RYU官网学习RYU控制器的安装和RYU开发入门教程,提交你对于教程代码的理解,包括但不限于 (1)描述官方教程实现了一个什么样的交换机功能? 让交换机将接收到的数据包发送到所有端口的功能。 (2)控制器设定交换机支持什么版本的OpenFlow? OpenFlow v1.0 (3)控制器设定了交换机如何处理数据包? @set_ev_cls(ofp_event.EventOFPPacketIn, MAIN_DISPATCHER) def packet_in_handler(self, ev): msg = ev.msg dp = msg.datapath ofp = dp.ofproto ofp_parser = dp.ofproto_parser actions = [ofp_parser.OFPActionOutput(ofp.OFPP_FLOOD)] out = ofp_parser.OFPPacketOut( datapath=dp, buffer_id=msg.buffer_id,in_port=msg.in_port, actions=actions) dp.send_msg(out) 如上方代码所示,新方法'packet_in_handler'已添加到L2Switch类。当Ryu收到OpenFlow packet_in消息时,将调用此方法。诀窍是“ set_ev

2019 SDN上机第5次作业

笑着哭i 提交于 2019-12-06 06:44:20
1.浏览RYU官网学习RYU控制器的安装和RYU开发入门教程,提交你对于教程代码的理解,包括但不限于: 描述官方教程实现了一个什么样的交换机功能? 实现了一个将接收到的数据包发送到所有端口的交换机功能 控制器设定交换机支持什么版本的OpenFlow? OpenFlow 1.0 控制器设定了交换机如何处理数据包? @set_ev_cls(ofp_event.EventOFPPacketIn, MAIN_DISPATCHER) def packet_in_handler(self, ev): msg = ev.msg dp = msg.datapath ofp = dp.ofproto ofp_parser = dp.ofproto_parser actions = [ofp_parser.OFPActionOutput(ofp.OFPP_FLOOD)] out = ofp_parser.OFPPacketOut( datapath=dp, buffer_id=msg.buffer_id, in_port=msg.in_port, actions=actions) dp.send_msg(out) 当Ryu接收到消息中的OpenFlow数据包时调用packet_in_handler。set-ev-cls用来告诉Ryu什么时候调用packet_in_handler

2019 SDN上机第5次作业

好久不见. 提交于 2019-12-06 06:44:19
1.浏览RYU官网学习RYU控制器的安装和RYU开发入门教程,提交你对于教程代码的理解,包括但不限于: (1)描述官方教程实现了一个什么样的交换机功能? 添加一些功能使交换机能够将接收到的数据包转发到所有端口 (2)控制器设定交换机支持什么版本的OpenFlow? OpenFlow v1.0 (3)控制器设定了交换机如何处理数据包? 处理方式: 当Ryu收到OpenFlow交换机送来的packet_in消息时调用新增方法packet_in_handler set_ev_cls的第二个参数MAIN_DISPATCHER意味着当Ryu和交换机握手过程(即hello, features request/reply, Set Config等)完毕,才会调用packet_in_handler 之后定义packet_in数据结构对象,数据路径对象datapath,OpenFlow协议和解析过程;定义交换机的动作,如何发送数据包;定义Ryu向交换机发送的packet_out内容,最后发送消息 相关解释: @set_ev_cls(ofp_event.EventOFPPacketIn, MAIN_DISPATCHER)装饰器告诉Ryu何时应调用装饰的函数 第一个参数指示应调用此函数的事件类型。每次Ryu收到packet_in消息时,都会调用此函数。 第二个参数指示开关的状态

SDN上机第五次作业

你离开我真会死。 提交于 2019-12-06 05:04:09
2019 SDN上机第五次作业 1.浏览 RYU官网 学习RYU控制器的安装和 RYU开发入门教程 ,提交你对于教程代码的理解,包括但不限于: 1.1描述官方教程实现了一个什么样的交换机功能? 答:官方教程实现了一个将接收到的数据包发送到所有端口的交换机功能 1.2控制器设定交换机支持什么版本的OpenFlow? 答:控制器设定交换机支持OpenFlow 1.0 1.3控制器设定了交换机如何处理数据包? 答: @set_ev_cls(ofp_event.EventOFPPacketIn, MAIN_DISPATCHER) def packet_in_handler(self, ev): msg = ev.msg dp = msg.datapath ofp = dp.ofproto ofp_parser = dp.ofproto_parser actions = [ofp_parser.OFPActionOutput(ofp.OFPP_FLOOD)] out = ofp_parser.OFPPacketOut( datapath=dp, buffer_id=msg.buffer_id,in_port=msg.in_port, actions=actions) dp.send_msg(out) 如上方代码所示,新方法'packet_in_handler'已添加到L2Switch类

2019 SDN上机第5次作业

二次信任 提交于 2019-12-06 03:43:46
1.浏览RYU官网学习RYU控制器的安装和RYU开发入门教程,提交你对于教程代码的理解 1.1描述官方教程实现了一个什么样的交换机功能? 功能:将接收到的数据包传送给所有端口。 1.2控制器设定交换机支持什么版本的OpenFlow? OpenFlow v1.0 1.3控制器设定了交换机如何处理数据包? @set_ev_cls(ofp_event.EventOFPPacketIn, MAIN_DISPATCHER) def packet_in_handler(self, ev): msg = ev.msg dp = msg.datapath ofp = dp.ofproto ofp_parser = dp.ofproto_parser actions = [ofp_parser.OFPActionOutput(ofp.OFPP_FLOOD)] out = ofp_parser.OFPPacketOut( datapath=dp, buffer_id=msg.buffer_id,in_port=msg.in_port, actions=actions) dp.send_msg(out) 如上方代码所示,新方法'packet_in_handler'已添加到L2Switch类。当Ryu收到OpenFlow packet_in消息时,将调用此方法。诀窍是“ set_ev_cls”装饰器

2019 SDN上机第5次作业

大兔子大兔子 提交于 2019-12-06 00:29:28
实验内容 1.浏览RYU官网学习RYU控制器的安装和RYU开发入门教程,提交你对于教程代码的理解,包括但不限于: 成功安装截图 描述官方教程实现了一个什么样的交换机功能? ​ 官方教程实现了一个将接收到的数据包发送到所有端口的交换机功能。 控制器设定交换机支持什么版本的OpenFlow? ​ 控制器设定交换机支持OpenFlow v1.0版本。 控制器设定了交换机如何处理数据包? from ryu.base import app_manager from ryu.controller import ofp_event from ryu.controller.handler import MAIN_DISPATCHER from ryu.controller.handler import set_ev_cls from ryu.ofproto import ofproto_v1_0 class L2Switch(app_manager.RyuApp): OFP_VERSIONS = [ofproto_v1_0.OFP_VERSION] def __init__(self, *args, **kwargs): super(L2Switch, self).__init__(*args, **kwargs) @set_ev_cls(ofp_event.EventOFPPacketIn,

2019 SDN上机第5次作业

馋奶兔 提交于 2019-12-05 20:55:24
1.作业要求: 浏览RYU官网学习RYU控制器的安装和RYU开发入门教程,提交对于教程代码的理解,包括但不限于: 1.描述官方教程实现了一个什么样的交换机功能? 2.控制器设定交换机支持什么版本的OpenFlow? 3.控制器设定了交换机如何处理数据包? 根据官方教程和提供的示例代码(SimpleSwitch.py),将具有自学习功能的交换机代码(SelfLearning.py)补充完整 代码链接:https://github.com/Emil-501/-RYUSwitch 在mininet创建一个最简拓扑,并连接RYU控制器 验证自学习交换机的功能,提交分析过程和验证结果 写下实验体会 作业博客链接:http://edu.cnblogs.com/campus/fzu/fzusdn2019/homework/10083 2.具体操作步骤与截图说明: 实验环境:VMware Workstation Pro14.1、ubuntu-16.04 (1)浏览RYU官网学习RYU控制器的安装和RYU开发入门教程,提交对于教程代码的理解,包括但不限于: 安装RYU控制器: a.描述官方教程实现了一个什么样的交换机功能? ​ 官方教程实现了一个将接收到的数据包发送到所有端口的交换机功能。 b.控制器设定交换机支持什么版本的OpenFlow? ​ 控制器设定交换机支持OpenFlow v1.0版本。

2019 SDN上机第5次作业

送分小仙女□ 提交于 2019-12-05 20:53:46
1.浏览RYU官网学习RYU控制器的安装和RYU开发入门教程,提交你对于教程代码的理解,包括但不限于: (1)描述官方教程实现了一个什么样的交换机功能? 添加一些功能使交换机能够将接收到的数据包转发到所有端口 (2)控制器设定交换机支持什么版本的OpenFlow? OpenFlow v1.0 (3)控制器设定了交换机如何处理数据包? 处理方式: 当Ryu收到OpenFlow交换机送来的packet_in消息时调用新增方法packet_in_handler set_ev_cls的第二个参数MAIN_DISPATCHER意味着当Ryu和交换机握手过程(即hello, features request/reply, Set Config等)完毕,才会调用packet_in_handler 之后定义packet_in数据结构对象,数据路径对象datapath,OpenFlow协议和解析过程;定义交换机的动作,如何发送数据包;定义Ryu向交换机发送的packet_out内容,最后发送消息 相关解释: @set_ev_cls(ofp_event.EventOFPPacketIn, MAIN_DISPATCHER)装饰器告诉Ryu何时应调用装饰的函数 第一个参数指示应调用此函数的事件类型。每次Ryu收到packet_in消息时,都会调用此函数。 第二个参数指示开关的状态

2019 SDN上机第5次作业

为君一笑 提交于 2019-12-05 20:28:18
本次作业将进行RYU控制器相关实践,了解RYU控制器开发方法。 实验内容 1.浏览RYU官网学习RYU控制器的安装和RYU开发入门教程,提交你对于教程代码的理解,包括但不限于: 官方代码 from ryu.base import app_manager from ryu.controller import ofp_event from ryu.controller.handler import MAIN_DISPATCHER from ryu.controller.handler import set_ev_cls from ryu.ofproto import ofproto_v1_0 class L2Switch(app_manager.RyuApp): OFP_VERSIONS = [ofproto_v1_0.OFP_VERSION] def __init__(self, *args, **kwargs): super(L2Switch, self).__init__(*args, **kwargs) @set_ev_cls(ofp_event.EventOFPPacketIn, MAIN_DISPATCHER) def packet_in_handler(self, ev): msg = ev.msg dp = msg.datapath ofp = dp.ofproto

sdn第五次作业

只谈情不闲聊 提交于 2019-12-05 20:20:35
1.浏览RYU官网学习RYU控制器的安装和RYU开发入门教程,提交你对于教程代码的理解,包括但不限于: 描述官方教程实现了一个什么样的交换机功能? 控制器设定交换机支持什么版本的OpenFlow? 控制器设定了交换机如何处理数据包? 2.根据官方教程和提供的示例代码(SimpleSwitch.py),将具有自学习功能的交换机代码(SelfLearning.py)补充完整 3.在mininet创建一个最简拓扑,并连接RYU控制器 来源: https://www.cnblogs.com/lhwblogs/p/11945106.html