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

2、网络虚拟化与SDN的关系?
网络虚拟化表示从底层物理设备分离的网络的抽象。网络虚拟化允许多个虚拟网络在共享基础设施上运行,并且每个虚拟网络可以具有比底层物理网络更简单(更抽象)的拓扑。例如,虚拟局域网(VLAN)提供了一个跨越多个物理子网的单一LAN的假象,多个VLAN可以在相同的交换机和路由器集合上运行。尽管网络虚拟化在概念上独立于SDN,但近年来这两种技术之间的关系变得更加密切。
网络虚拟化(从逻辑网络的角度抽象物理网络)显然不需要SDN。同样,SDN(从底层数据平面分离逻辑集中控制平面)并不意味着网络虚拟化。然而,有趣的是,网络虚拟化和SDN之间的共生关系已经出现,这已经开始催化几个新的研究领域。SDN和网络虚拟化主要有三种关系:
- SDN作为网络虚拟化的一种支持技术
云计算突出了网络虚拟化,因为云提供商需要一种方式,允许多个客户(或“租户”)共享同一网络基础设施。Nicira的网络虚拟化平台(Network Virtualization Platform,NVP)提供了这种抽象,而不需要底层网络硬件的任何支持。解决方案是使用覆盖网络为每个租户提供连接其所有虚拟机的单个交换机的抽象。然而,与先前在覆盖网络上的工作相比,每个覆盖节点实际上是物理网络的一个扩展——一个软件交换机(如Open vSwitch),它封装了发送到其他服务器上运行的虚拟机的流量。逻辑集中式控制器在这些虚拟交换机中安装规则,以控制如何封装数据包,并在虚拟机移动到新位置时更新这些规则。 - 用于评估和测试SDN的网络虚拟化
将SDN控制应用程序与底层数据平面分离的能力使得在应用程序部署到操作网络之前,能够在虚拟环境中测试和评估SDN控制应用程序。Mininet使用基于进程的虚拟化在同一物理(或虚拟)机上运行多个虚拟OpenFlow交换机、终端主机和SDN控制器,每个控制器都作为单个进程。使用基于进程的虚拟化允许Mininet模拟一个网络,在一台机器上有数百个主机和交换机。在这样的环境中,研究人员或网络运营商可以开发控制逻辑,并在生产数据平面的全面仿真上轻松地对其进行测试;一旦对控制平面进行了评估、测试和调试,就可以将其部署到实际的生产网络上。 - 虚拟化(“切片”)SDN
在传统网络中,虚拟化路由器或交换机是很复杂的,因为每个虚拟组件都需要运行自己的控制平面软件实例。相比之下,虚拟化“哑”SDN交换机要简单得多。FlowVisor系统使校园能够支持在承载生产流量的相同物理设备上进行联网研究的试验台。其主要思想是将业务流空间划分为“片”(PlanetLab的早期工作中引入的概念),其中每个片有一个网络资源共享,由不同的SDN控制器管理。FlowVisor作为hypervisor运行,向每个SDN控制器和底层交换机讲OpenFlow。最近的工作建议对家庭网络进行分层控制,以允许不同的第三方服务提供商(如智能电网运营商)在网络上部署服务,而无需安装自己的基础设施。最近的工作提出了用自己的逻辑拓扑和地址空间来表示软件定义网络的每个“片段”的方法。
2019 SDN课程阅读作业(2)的更多相关文章
- SDN课程阅读作业(2)
SDN课程阅读作业(2) 1.过去20年中可编程网络的发展可以分为几个阶段?每个阶段的贡献是什么? 答:可编程网络的发展分为三个阶段. (1)主动网络阶段 贡献: 1.对主动网络的研究开创了可编程网络 ...
- 【2019.11.27】SDN课程阅读作业(2)
过去20年中可编程网络的发展可以分为几个阶段?每个阶段的贡献是什么? Making computer networks more programmable enables innovation in ...
- 2019 SDN第一次阅读作业
目录 阅读 文章链接 阅读 阅读文章<软件定义网络(SDN)研究进展>,并根据所阅读的文章,书写一篇博客,回答以下问题(至少3个): 1.为什么需要SDN?SDN特点? 背景:传统网络的层 ...
- 2019 SDN上机第一次作业
2019 SDN上机第一次作业 1. 安装轻量级网络仿真工具Mininet 安装Mininet的步骤 - git clone git://github.com/mininet/mininet - cd ...
- 17秋 SDN课程 第一次作业
SDN第一次作业 你会选择作 网络编程 方向的程序员吗?为什么? 有可能.原因如下: 1.我的研究与网络密切相关: 2.SDN侧重软件实现,自然涉及socket等网络编程知识,属于基本功: 3.市场. ...
- 2019SDN课程阅读作业(2)
1.过去20年中可编程网络的发展可以分为几个阶段?每个阶段的贡献是什么? 分为三个阶段,第一个阶段是主动网络(从20世纪90年代中期到21世纪初),它在网络中引入了可编程功能,以实现更大的创新:第二个 ...
- 2017秋 FZU SDN 课程作业汇总
课程: SDN课程上机作业:SDN上机作业 参考作业: deepYY SDN作业: SDN作业 faberry的博客:faberry peiqiaoWang的博客:peiqiaoWang 相关博客汇总 ...
- 2019 SDN阅读作业
2019 SDN阅读作业 1.为什么需要SDN?SDN特点? 答:因为随着网络规模的不断扩大,封闭的网络设备内置了过多的复杂协议,增加了运营商定制优化网络的难度,科研人员无法在真实环境中规模部署新协议 ...
- 17秋 SDN课程 第五次上机作业
17秋 SDN课程 第五次上机作业 Project:https://github.com/Wasdns/new_balance Slide is available at https://github ...
随机推荐
- Django中一些常用的文档段落
1. Settings¶ STATIC_URL¶ MEDIA_ROOT¶ MEDIA_URL¶ AUTH_USER_MODEL¶ USE_I18N¶ USE_L10N¶ USE_TZ¶ (三者默 ...
- json文件 乱码问题 根本解决办法
1 工具→自定义:2 点击 命令 标签:3 在上方单选区选中 菜单栏,下拉列表选 文件:4 点击 添加命令5 在类别中,找到文件,在右侧找到高级保存选项,确定6 然后可以通过下移调整该选项在文件菜单中 ...
- Java IO---序列化和反序列化
一.序列化和反序列化介绍 什么是序列化和反序列化? 序列化就是将对象转换为字节序列的过程. 反序列化就是将字节序列恢复为对象的过程. 序列化的用途在哪? 通常情况下,序列化有两个用途: 将对象 ...
- 前端有用的CSS属性和JS方法
1.CSS属性: 透明属性(值越大越不透明): IE:filter:alpha(opacity:30) Google:opacity:0.3 层次属性(值大的会在上面): z-index:100 2. ...
- js多个参数(追加参数)
/** * 多个参数 * @param fn * @param args * @param scope */ function multipleArguments(fn,args,scope){ if ...
- 剑指前端(前端入门笔记系列)——DOM(元素大小)
DOM——元素大小 DOM中没有规定如何确定页面中与元素的大小,IE率先映入了一些属性来确定页面中元素的大小,以便开发人员使用,目前,所有主要的浏览器都已经支持这些属性了. 1.偏移量(单位为 ...
- 关于SQL中的 where 1 = 1 的用法
在项目中的常见的一个操作:在有关SQL的代码中加入where 1 = 1,关于它的用法,可以总结如下: 首先,where 1 = 1的用法往往是为了方便后续的给SQL增加where限制条件.如果实现加 ...
- 机器学习笔记7:矩阵分解Recommender.Matrix.Factorization
目录 1矩阵分解概述 1.1用在什么地方 1.2推荐的原理 2矩阵分解的原理 2.1目标函数 2.2 损失函数 2.3 通过梯度下降的方法求得结果 3 代码实现 参考地址: 贪心学院:https:// ...
- google批量搜索实现方式
本文主要记录一下最近所做的关于Google批量搜索的实现方式. 搜索目的: 获取关键词在某个域名下对应的Google搜索结果数 搜索方式: 关键词+inurl 例如:"爬虫" in ...
- spring data jpa 表关联设置用户表关联角色表配置
User 表: @ManyToMany(cascade = { CascadeType.MERGE }) @JsonIgnore @JoinTable(name = "UserRole&qu ...