sdn控制器

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的工作

2019 SDN阅读作业(2)

十年热恋 提交于 2019-12-06 00:56:13
1.过去20年中可编程网络的发展可以分为几个阶段?每个阶段的贡献是什么? 可编程网络的发展可以分为以下三个阶段: (1)主动网络(Active networking,20世纪90年代中期到21世纪初): * 引入了网络可编程功能,以实现更大的创新。 * 主动网络是第一批干净的网络架构方法。 * 提供了平台的可移植性和一些代码安全。 * 网络虚拟化,基于包头的网络数据化及其解复用能力。 * 为MiddleBox编排提供统一架构的构想。 (2)将控制面与数据面分离(Separating Control and Data Planes,2001年-2007年左右): * 催生了两项创新:控制和数据平面之间的开放接口以及在逻辑上对网络进行集中控制。 * 将控制功能转移到了单独的服务器上,这样逻辑上集中的路由控制器降低了标准的实施障碍,服务器技术的进步意味着单一的商品服务器可以存储的所有的路由状态,并为一个大型网络计算所有的路由决策。 * 提出了两个概念:分别为使用数据面的开放接口进行集中逻辑控制和分布式状态管理。 (3)OpenFlow API和网络操作系统(OpenFlow and Network OSes,2007年-2010年左右): * 为学生和科研人员实现新协议和新算法提供一个很好的试验平台 * 代表了广泛采用开放接口的第一个实例

SDN课程阅读作业(2)

|▌冷眼眸甩不掉的悲伤 提交于 2019-12-06 00:39:14
阅读文章《The Road to SDN: An Intellectual History of Programmable Networks》,并根据所阅读的文章,书写一篇博客,回答以下两个问题: 文章《The Road to SDN: An Intellectual History of Programmable Networks》中文版 1.过去20年中可编程网络的发展可以分为几个阶段?每个阶段的贡献是什么? 文章原文: In this section, we review early work on programmable networks. We divide the history into three stages, as shown in Figure 1. Each stage has its own contributions to the history: active networks (from the mid-1990s to the early 2000s), which introduced programmable functions in the network to enable greater to innovation; control and data plane separation (from around 2001 to 2007)

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,

2019SDN课程阅读作业(2)

拈花ヽ惹草 提交于 2019-12-05 23:40:14
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上机第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消息时,都会调用此函数。 第二个参数指示开关的状态