sdn控制器

SDN课程阅读作业(2)

房东的猫 提交于 2019-12-05 20:39:51
SDN课程阅读作业(2) 作业链接 阅读文章《The Road to SDN: An Intellectual History of Programmable Networks》,并根据所阅读的文章,书写一篇博客,回答以下两个问题: 1.过去20年中可编程网络的发展可以分为几个阶段?每个阶段的贡献是什么? 业界的目标是使计算机网络更具可编程性有助于网络管理的创新,并降低部署新服务的障碍。回顾可编程网络的早期工作,将历史分为三个阶段,如下图所示: 每个阶段对历史都有自己的贡献: (1)主动网络(从20世纪90年代中期到21世纪初),它在网络中引入了可编程功能,以实现更大的创新 在20世纪90年代中期,由于网络协议标准化过程的缓慢,一些网络研究人员采用了一种开放网络控制的替代方法,大致是基于对独立PC重新编程相对容易的类比。具体地说,传统网络在任何意义上都不是“可编程”的,主动网络代表了一种激进的网络控制方法,通过设想一个编程接口(或网络API)来公开各个网络节点上的资源(例如,处理、存储和数据包队列),并支持构建应用于子集的定制功能,主动网络研究计划探索了传统互联网协议栈通过IP或异步传输模式(ATM)提供服务的根本替代方案。 主要贡献: 网络可编程性降低了技术创新的障碍;提出网络虚拟化,以及基于包头对软件程序进行复用;创建中间件编排统一的架构 (2)控制和数据平面分离

SDN课程阅读作业(2)

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

SDN课程阅读作业(2)

≯℡__Kan透↙ 提交于 2019-12-05 20:34:14
阅读文章《The Road to SDN: An Intellectual History of Programmable Networks》,并根据所阅读的文章,书写一篇博客,回答以下两个问题: 1.过去20年中可编程网络的发展可以分为几个阶段?每个阶段的贡献是什么? 在过去20年中可编程网络的发展可以分为以下三个阶段: 主动网络阶段(从20世纪90年代中期到21世纪初)     贡献:它在网络中引入了可编程功能,实现了更大的创新。    在20世纪90年代中期,由于网络协议标准化过程的缓慢,一些网络研究人员采用了一种开放网络控制的替代方法,大致是基于对独立PC重新编程相对容易的类比。具体地说,传统网络在任何意义上都不是“可编程”的,主动网络代表了一种激进的网络控制方法,通过设想一个编程接口(或网络API)来公开各个网络节点上的资源(例如,处理、存储和数据包队列),并支持构建应用于子集的定制功能,主动网络研究计划探索了传统互联网协议栈通过IP或异步传输模式(ATM)提供服务的根本替代方案。 控制和数据平面分离阶段(从2001年到2007年左右)    贡献:开发了控制和数据平面之间的开放接口。   由于传统路由器和交换机体现了控制和数据平面之间的紧密集成,这种耦合使得各种网络管理任务,如调试配置问题和预测或控制路由行为,变得非常具有挑战性。为了应对这些挑战

SDN课程阅读作业(2)

故事扮演 提交于 2019-12-05 20:34:01
文章链接 百度网盘链接 提取码:yav0 阅读文章《The Road to SDN: An Intellectual History of Programmable Networks》,并根据所阅读的文章,书写一篇博客,回答以下两个问题: 过去20年中可编程网络的发展可以分为几个阶段?每个阶段的贡献是什么? 在过去20年中,可编程网络的发展可以分为三个阶段,具体第一阶段为从200世纪90年代中期到21世纪初的Active Networking(主动网络)阶段,第二为从2001年到2007年左右的Separating Control and Data Planes(控制和数据平面分离)阶段,第三为2007年至2010年左右的OpenFlow API和网络操作系统(OpenFlow and Network OSes)阶段。 以下为各个阶段的贡献: (1)主动网络阶段 1.引入了网络可编程功能,降低了创新的障碍。 2.主动网络是第一批干净的网络架构方法 3.提供了平台的可移植性和一些代码安全 4.基于包头的网络数据化及其解复用能力 5.为MiddleBox编排提供统一架构的构想 (2)控制和数据平面分离阶段 1.提出控制面和数据面之间的开放接口 2.在逻辑上对网络进行集中控制 3.提出了两个概念:使用数据面的开放接口进行集中逻辑控制和分布式状态管理 4.为Openflow的创建奠定了基础

2019 SDN上机第5次作业

隐身守侯 提交于 2019-12-05 20:30:25
1.浏览RYU官网学习RYU控制器的安装和RYU开发入门教程,提交对于教程代码的理解: 描述官方教程实现了一个什么样的交换机功能? 实现了一个将接收到的数据包发送到所有端口的交换机功能 控制器设定交换机支持什么版本的OpenFlow? 控制器设定交换机支持OpenFlow 1.0 控制器设定了交换机如何处理数据包? 接收包并广播包 @set_ev_cls(ofp_event.EventOFPPacketIn, MAIN_DISPATCHER) #当Ryu收到OpenFlow交换机送来的packet_in消息时调用,set_ev_cls的第一个参数也声明了。 #set_ev_cls的第二个参数MAIN_DISPATCHER意味着当Ryu和交换机握手过程(即hello, features request/reply, Set Config等)完毕,才会调用packet_in_handler。 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(

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

2019 SDN上机第5次作业

霸气de小男生 提交于 2019-12-05 20:27:31
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): #设置想要向交换机协商的OpenFlow版本号 OFP_VERSIONS = [ofproto_v1_0.OFP_VERSION] #控制器会自动交换Hello包,协商版本号,接着协商完成之后,它再自动执行交换Features包,进行握手 def __init__(self, *args, **kwargs): super(L2Switch, self).__init__(*args, **kwargs) #

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

2019 SDN上机第5次作业

為{幸葍}努か 提交于 2019-12-05 20:20:15
1.浏览RYU官网学习RYU控制器的安装和RYU开发入门教程,提交你对于教程代码的理解,包括但不限于: 描述官方教程实现了一个什么样的交换机功能? 将packet_in转发到所有端口 控制器设定交换机支持什么版本的OpenFlow? OpenFlow 1.0 控制器设定了交换机如何处理数据包? 将Ryu和交换机negotiation之后的数据包转发到所有端口 2.根据官方教程和提供的示例代码(SimpleSwitch.py),将具有自学习功能的交换机代码(SelfLearning.py)补充完整 来源: https://www.cnblogs.com/zaynq/p/11945124.html