sdn

SDN课程阅读作业(2)

南楼画角 提交于 2019-12-06 05:07:45
一、过去20年中可编程网络的发展可以分为几个阶段?每个阶段的贡献是什么? 1.主动网络(从1990年代中期到2000年代初) 它在网络中引入了可编程的功能以实现更多的创新; 20世纪90年代初,主动网络研究项目探索了传统互联网栈通过IP或异步传输模式(ATM)或另一种主流网络提供的服务的根本替代方案。 为MiddleBox编排提供统一架构的构想。 2.控制平面和数据平面分离(2001年至2007年左右) 催生了两项创新:控制平面与数据平面之间的开放接口和在逻辑上对网络的集中控制 将控制功能转移到了单独的服务器上,这样逻辑上集中的路由控制器降低了标准的实施障碍,服务器技术的进步意味着单一的商品服务器可以存储的所有的路由状态,并为一个大型网络计算所有的路由决策 提出了两个概念,分别为使用数据面的开放接口进行集中逻辑控制和分布式状态管理 3.OpenFlow API和网络操作系统(从2007年到2010年左右) 它代表了广泛采用开放接口的第一个实例,广泛采用开放式接口和开发方法,使控制平面和数据平面分离具有可扩展性和实用性。 创建了全球网络创新环境,满足了网络研究社区的需求。 概括了网络设备和功能。OpenFlow规则可以基于13个不同的数据包头的任意一组定义流量上的转发行为。OpenFlow还推广了ruleinstallation技术,允许从预先安装粗粒度规则(即,对许多头字段使用

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类

SDN课程阅读作业(2)

空扰寡人 提交于 2019-12-06 05:03:53
1.过去20年中可编程网络的发展可以分为几个阶段?每个阶段的贡献是什么? 分为三个阶段,第一个阶段是主动网络(从20世纪90年代中期到21世纪初),它在网络中引入了可编程功能,以实现更大的创新;第二个阶段是控制和数据平面分离(从2001年到2007年左右),开发了控制和数据平面之间的开放接口;以及第三个阶段OpenFlow API和网络操作系统(2007年至2010年左右),代表了广泛采用开放接口的第一个实例,并开发了使控制数据平面分离可扩展且实用的方法。 在这里插入图片描述 (1)主动网络阶段的贡献: a、对主动网络的研究开创了可编程网络的概念,降低了网络创新的障碍 b、网络可虚拟化,以及基于数据包头对软件程序进行多路分解的能力 c、为middlebox编排提供统一架构的构想 d、提供了平台的可移植性和一些代码安全 e、主动网络是第一批干净的网络架构方法 (2)控制和数据平面分离阶段的贡献: a、提出控制面和数据面之间的开放接口 b、在逻辑上对网络进行集中控制 c、提出了两个概念:使用数据面的开放接口进行集中逻辑控制和分布式状态管理 d、为Openflow的创建奠定了基础,尤其是乙烷的简单开关设计成为最初OpenFlow API的基础 (3)OpenFlow API和网络操作系统阶段的贡献: a、为学生和科研人员实现新协议和新算法提供一个很好的试验平台 b

2019 SDN上机第五次作业

核能气质少年 提交于 2019-12-06 04:31:28
1.浏览RYU官网学习RYU控制器的安装和RYU开发入门教程,提交你对于教程代码的理解,包括但不限于: 描述官方教程实现了一个什么样的交换机功能? 功能:将接收到的数据包传送给所有端口。 控制器设定交换机支持什么版本的OpenFlow? OpenFlow v1.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) 如上方代码所示,新方法'packet_in_handler'已添加到L2Switch类。当Ryu收到OpenFlow packet_in消息时,将调用此方法。诀窍是“ set_ev_cls”装饰器

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 03:32:10
1.浏览RYU官网学习RYU控制器的安装和RYU开发入门教程: 描述官方教程实现了一个什么样的交换机功能? 官方的教程实现了一个将接收到的所有数据包发送到所有的端口的交换机功能。 2. 控制器设定交换机支持什么版本的OpenFlow? 支持OpenFlow v1.0 3. 控制器设定了交换机如何处理数据包? 当Ryu接收到消息中的OpenFlow数据包时调用下面的packet_in_handler方法。前面的set_ev_cls用来告诉Ryu什么时候调用packet_in_handler,它的第一个参数指示应该调用此函数的事件类型,第二个参数指示开关的状态(使用“MAIN_DISPATCHER”作为第二个参数表示仅在协商完成后才调用此函数)。 ev.msg是表示数据结构中的数据包的对象。 msg.dp是表示数据路径(开关)的对象。 dp.ofproto和dp.ofproto_parser 廑解析器是表示Ryu和switch协商的OpenFlow协议的对象。 OFPActionOutput类与数据包输出消息一起使用,以指定要从中发送数据包的交换机端口。此应用程序使用OFPP_FLOOD标志来指示应在所有端口上发送数据包。 OFPPacketOut类用于生成包输出消息。 如果使用OpenFlow消息类对象调用Datapath类的send_msg方法

SDN课程阅读作业(2)

蓝咒 提交于 2019-12-06 03:24:51
1.过去20年中可编程网络的发展可以分为几个阶段?每个阶段的贡献是什么? 可编程网络的发展可分为以下三个阶段 (1)主动网络(Active networking,20世纪90年代中期到21世纪初):在网络中引入了可编程功能,以实现更大的创新。 开创了可编程网络的概念,以此来降低网络创新的障碍。 主动网络是第一批干净的网络架构方法。 提供了平台的可移植性和一些代码安全。 网络虚拟化,以及基于数据包头对软件程序进行多路分解的能力。 为middlebox编排提供统一架构的构想。 (2)将控制面与数据面分离(Separating Control and Data Planes,2001年-2007年左右):开发了控制和数据平面之间的开放接口。 催生了两项创新:控制平面与数据平面之间的开放接口和在逻辑上对网络的集中控制。 将控制功能从网络设备转移到单独的服务器上。逻辑集中式路由控制器是通过开源路由软件的出现而实现的,它降低了创建原型实现的障碍。服务器技术的进步意味着单个商品服务器可以存储所有的路由状态并计算大型ISP网络的所有路由决策。着反过来又启用了简单的主备份复制策略,其中备份服务器存储于主服务器相同的状态并执行相同的计算,以确保控制器的可靠性。 提出了两个概念:使用数据平面的开放接口进行逻辑控制和分布式状态管理。 4D项目主张四个主要层:数据平面(用于基于可配置规则处理分组)、发现平面

2019 SDN上机第5次作业

元气小坏坏 提交于 2019-12-06 02:52:03
1.浏览RYU官网学习RYU控制器的安装和RYU开发入门教程,提交你对于教程代码的理解,包括但不限于: 描述官方教程实现了一个什么样的交换机功能? 该应用程序使用OFPP_FLOOD标志来指示应在所有端口上发送数据包。 控制器设定交换机支持什么版本的OpenFlow? OFP_VERSIONS = [ofproto_v1_0.OFP_VERSION] OpenFlow v1.0 控制器设定了交换机如何处理数据包? @set_ev_cls(ofp_event.EventOFPPacketIn, MAIN_DISPATCHER)#修饰器,告诉Ryu什么时候调用修饰的函数,用“ MAIN_DISPATCHER”作为第二个参数表示仅在协商完成后才调用此函数。 #当Ryu收到OpenFlow packet_in消息时,将调用此方法 def packet_in_handler(self, ev): msg = ev.msg#packet_in数据结构的对象 dp = msg.datapath#数据路径的对象 ofp = dp.ofproto ofp_parser = dp.ofproto_parser #dp.ofproto和dp.ofproto_parser是代表Ryu和交换机协商的OpenFlow协议的对象。 actions = [ofp_parser.OFPActionOutput

SDN课程阅读作业(2)

时光总嘲笑我的痴心妄想 提交于 2019-12-06 02:50:57
阅读文章《The Road to SDN: An Intellectual History of Programmable Networks》,并根据所阅读的文章,书写一篇博客,回答以下两个问题: 过去20年中可编程网络的发展可以分为几个阶段?每个阶段的贡献是什么? 发展阶段: 主动网络阶段(Active networking,20世纪90年代中期到21世纪初) 在网络中引入了可编程功能,降低了技术创新的障碍 提出网络虚拟化,以及基于包头对软件程序进行复用 为MiddleBox编排提供统一架构的构想 控制和数据平面分离阶段(Separating Control and Data Planes,从2001年到2007年左右) 使用数据平面的开放接口进行逻辑集中控制 在逻辑上对网络进行集中控制 OpenFlow API和网络操作系统(2007年至2010年) OpenFlow提供了多种多样的转发规则 OpenFlow的工作衍生出了网络操作系统的概念 分布式状态管理技术 网络虚拟化与SDN的关系? 网络虚拟化表示从底层物理设备分离的网络的抽象,网络虚拟化允许多个虚拟网络在共享基础设施上运行,并且每个虚拟网络可以具有比底层物理网络更简单(更抽象)的拓扑。例如,虚拟局域网(VLAN)提供了一个跨越多个物理子网的单一LAN的假象,多个VLAN可以在相同的交换机和路由器集合上运行。网络虚拟化

SDN课程阅读作业(2)

喜欢而已 提交于 2019-12-06 01:47:45
1.过去20年中可编程网络的发展可以分为几个阶段?每个阶段的贡献是什么? 分为的阶段 在过去20年中可编程网络的发展可以分为三个阶段,第一个阶段是主动网络(从20世纪90年代中期到21世纪初),它在网络中引入了可编程功能,以实现更大的创新;第二个阶段是控制和数据平面分离(从2001年到2007年左右),开发了控制和数据平面之间的开放接口;以及第三个阶段的OpenFlow API和网络操作系统(2007年至2010年左右),代表了广泛采用开放接口的第一个实例,并开发了使控制数据平面分离可扩展且实用的方法。 主要贡献 - 主动网络阶段 对主动网络的研究开创了可编程网络的概念,降低l了网络创新的障碍 SDN的最初动机通常引用了生产网络难以创新和提高可编程性的观点,其早期愿景大多集中在控制平面可编程性上,而主动网络则更多地集中在数据平面可编程性上。 网络可虚拟化,以及基于数据包头对软件程序进行多路分解的能力 主动网络产生了一个架构框架,描述了这样一个平台的组件。这个平台的关键组件是一个管理共享资源的共享节点操作系统(NodeOS)和一组执行环境(EEs),每个环境定义一个用于数据包操作的虚拟机,以及一组在给定EE内工作以提供端到端服务的活动应用程序(AAs)。 为middlebox编排提供统一架构的构想 尽管这一设想可能没有直接影响到最近关于NFV的工作