查看原文
其他

未来网络与网络操作系统发展综述

2018-03-02 远望智库 战略前沿技术

远望智库:与智者同行,为创新加速

专家库 | 人才库 | 企业库 | 项目库 | 投资机构库 | 招商信息库


本文转载自学术plus(ID:caeit-e)

作者:首都经济贸易大学,孙远芳,段翠华;中国石油大学(华东) 计算机与通信工程学院,张培颖

来源:《中国电子科学研究院学报》第12卷第6期


摘 要现有的互联网正在面临前所未有的挑战,比较严峻的问题包括互联网的安全问题和互联网资源的管控问题。由于目前互联网络存在的问题,未来网络技术的发展也面临许多严峻的挑战。本文总结分析了未来网络中的三种核心技术,包括:软件定义网络、网络操作系统和网络虚拟化技术,期望对国内未来网络技术的研究起到参考和帮助。


关键词: 未来网络;软件定义网络;网络操作系统;网络虚拟化;网络功能虚拟化

引  言


随着互联网技术的飞速发展,目前的运营商网络架构无法满足实际网络服务的需求,网络架构呈现僵化现象。目前互联网络面临许多严峻的挑战:第一,随着互联网用户需求的不断变化,传统的以IP网络层的体系结构无法持续;第二,互联网已经从最初的学术领域转变到商业领域,目前的安全问题无法满足商业应用需求;第三,传统的网络为了满足用户需求,运维和管理成本不断增加,由于目前的网络无法支持虚拟化的功能,导致已有的物理网络资源利用率不高。


未来网络技术的发展都是针对目前存在的问题,提出了许多网络体系架构进而能够提供“大众创业、万众创新”的未来网络基础设施服务平台。本文针对目前互联网的问题,对未来网络中的核心技术:软件定义网络、网络操作系统网络虚拟化技术3核心技术进行调研指出其研究的内容,存在的问题,并对未来网络核心技术的发展进行了展望。

1. 软件定义网络


1.1研究背景


随着网络技术的不断发展,互联网的功能由最初的资源共享转变为目前承载的公共基础设施服务。互联网在过去的几十年里取得了巨大的成功,同时也面临一些严重的挑战:在已有的互联网络架构上部署新的服务或协议非常困难,对互联网络资源的管控性较差,互联网络面临严峻的安全挑战等。软件定义网络的思想来源于斯坦福大学Nick McKeown教授牵头的实验室研究计划Clean Slate项目。Clean Slate项目作为学校的研究计划,倡导重建炉灶,革命性改进目前已有的网络体系架构。该项目最初选择的关键研究方向有五个,即:网络体系结构、异构应用、异构物理层技术、安全和经济与政策。


典型的商用SDN案例应该是Google搭建的B4网络系统,该工程主要用于数据中心之间的流量工程。Google数据中心之间传输的数据分为三类:第一类用户备份数据;第二类是数据中心之间存储访问;第三类是数据中心之间同步数据B4网络底层使用OpenFlow交换机,利用软件控制数据中心之间的流量工程,优化资源的利用率,取得了巨大的成功。该项目的成功极大地推动了SDN技术产业界的发展,目前SDN技术正在全球形成产业孵化的热潮

 

1.2体系结构


ONF(Open Networking Foundation)是由德国电信、Facebook、谷歌、微软、美国威瑞森电信和雅虎于2011年创立的一个非营利性组织。根据ONF的定义,SDN是一种新型的控制平面和数据平面分离的网络架构。数据平面和控制平面的分离有助于底层物理网络资源的虚拟化,以逻辑形式为上层应用提供服务;同时控制平面可以用软件定义的方式来控制网络资源,使得目前的网络更加智能。SDN的体系架构如下图所示:

ONF定义的SDN网络体系结构图


如图1所示,ONF提出的SDN体系架构主要分为三层,最上层为应用层,包括各种不同的业务和应用;中间层为控制层,主要负责对数据平面的资源进行调度;最下层为基础设施层,主要负责数据处理、转发和状态采集。应用层与控制层之间的API接口由于其所处的位置在上面,因此称之为北向API接口;控制层与基础设施层之间的接口由于其所处的位置在下面,因此称之为南向API接口。

1.3关键技术


1) SDN网络交换协议


SDN网络协议必须满足简单、高效,通过能够对数据转发平面进行抽象,提供可编程的API接口,支持可编程的实现。OpenFlow协议长期以来一直是软件定义网络的管理和控制协议,该协议实现了控制设备可以对转发平面设备的表进行编程。流是交换机/路由器进行转发策略控制的核心数据结构,每个流表项包含三个域,分别是匹配、计数域和指令域。NETCONF协议,由RFC 6241定义,用于替代命令行界面、简单网络管理协议以及其他专用配置机制。管理软件可以使用NETCONF协议将配置数据编程写入设备,也可以从设备中读取数据。所有数据采用XML格式编码,通过SSL或传输层面向连接的安全协议,使用远程过程调用方式传输。


除了配置数据,设备还存储状态数据和信息,例如:包统计信息、运行中设备采集的其他数据等,这些信息控制软件只可以读取,但不能写入;候选配置数据存储是一个可选的设备性能。


NETCONF协议的命令集合由读取、修改设备配置数据,以及读取状态数据的一系列命令组成。命令通过RPCs进行沟通,并通过RPC应答。一个RPC回复必须响应一个RPC才能返回。一个配置操作必须由一系列RPC组成,每个都有与其对应的应答RPC。所选择的传输协议必须保证RPC按照发送顺序传递给设备,而且应答必须按照发起RPC的顺序被接收。除了从控制器向设备发送命令,设备也可以发出通知来告知控制器设备上的一些事件。


2) SDN网络控制器


SDN控制器是SDN网络的核心部分,主要功能是能够利用交换机上报的网络状态信息,构建全网资源视图,从而对网络交换机下达控制指令,对网络中的资源进行有效地调度,使网络更加智能化。SDN控制器应该能够提供2个方面的功能:一是提供集中式的编程环境,使开发者有统一的全局资源视图,忽略底层网络的实现细节;二是提供抽象的编程接口,应用程序将面向这些接口进行开发,从而控制网络流量的调度、获取网络的特征,使网络具有智能。


针对不同的网络开发环境,工业界和学术界已经提出了许多各种语言编写的SDN控制器。OpenDayLight(ODL)[3]是以开源社区为主导,利用JAVA语言实现的开源框架,旨在推动创新实践的实施以及软件定义网络透明化。面对SDN网络,ODL作为项目核心,拥有一套模块化、可插拔且极为灵活的控制器,还包括一套模块合集,能够执行需要快速完成的网络任务。Floodlight[4]是由Big Switch Networks基于apache协议用JAVA语言开发的一款OpenFlow控制器,被用于与交换机、路由器、虚拟交换机及其他支持OpenFlow标准的设备一起工作。RYU[5]是由日本NTT公司研发的一款开源SDN控制器,完全有Python语言实现,使用者可以在Python语言的基础上实现自己的应用,目前支持OpenFlow 1.0、1.2、1.3,同时支持在OpenStack上的部署应用。提供逻辑上集中式管理,通过API接口使得网络的管理更加便捷。POFController[6]是由华为公司采用BSD/Apache授权基于JAVA语言实现的OpenFlow控制器,提供了一个GUI管理界面,用于交换机的控制与配置。POF主要包括控制器和交换机两个原型文件,旨在提高OpenFlow的规范及支持无感知转发协议和数据包格式。POX是由斯坦福大学使用Python语言开发的基于OpenFlow的SDN控制器,是NOX的兄弟,它具有将交换机送上来的协议包给指定软件模块的功能。NOX是Nicira使用Python开发的首个提供尽可能通用接口的SDN控制器,用于构建网络控制应用的平台。


3) 小结


SDN网络的核心思想是通过控制平面向数据转发平面下达指令,使网络更加高效智能。SDN控制器大部分采用开源技术实现,主流语言包括:JAVA、Python和C/C++等。目前,基于SDN的网络实验平台的搭建成为学术界和产业界研究的热点,也正在成为网络运营商和网络服务商所关注的热点之一。


2. 网络操作系统


软件定义网络技术的发展促进了支持SDN技术的网络操作系统的发展,目前业界比较有代表性的开源网络操作系统有ONOS和ODL,下面分别对其进行详细介绍。


2.1 ONOS操作系统


ONOS项目的目的是创建一个用于通信服务供应商的软件定义网络的操作系统,它以可扩展性、高性能性和高可用性作为其设计原则[7]。2014年12月5日,Open Networking Lab (ON.Lab)与其它工业界合作伙伴(AT&T和NTT Communications等)公开了ONOS系统的源代码,建立了它的开源社区[8]。2015年10月14日,ONOS项目加入Linux基金会,成为该基金会下的合作项目[9]。该项目使用JAVA语言编写,提供了一个基于Apache Karaf OSGi容器的分布式SDN应用平台。ONOS作为一个具有相同软件栈的节点集群工作,并且可以容许部分节点失效而不会失去对网络行为的控制。


ONOS在很大程度上依赖于OpenFlow等标准协议与模型,它的系统架构却并不直接与它们绑定,而是为应用开发者提供了自己的高端抽象和模型,这些模型可以在应用运行时进行扩展[10]。为了防止系统与某个特定的设置或控制协议绑定,任何与具体协议代码库相关联并且直接与网络环境交互的软件都被特意隔离开,称为一个驱动。与此类似,任何与集群间通信协议直接交互的软件也被隔开,称为一个存储。ONOS平台为应用程序提供了一系列高层抽象,应用可以通过这些抽象了解网络的状态,并借此控制网络交通流。可以通过REST API或GUI加载和卸载应用,而无需重启集群或其中的各个节点。ONOS应用管理子系统承担着在集群中分发应用并确保所有节点都在运行相同的软件。


2.2 ODL操作系统


ODL是一套以社区为主的开源SDN框架,由Linux协会联合业内18家企业在2013年初创立,其目标是作为SDN架构中的核心组件,使用户能够减少网络运营的复杂度,扩展器现有网络架构中硬件的生命期,支持SDN新业务和新能力的创新[11]。


ODL针对及企业服务提供商数据中心和WAN模块化开放的SDN平台,不仅能支持各种各样的用户,还可以支持各种各样的应用案例。ODL每6个月就会进行一次大的更新,目前发布的是其第四个版本[12]。目前,ODL包括十二个项目,每一个项目都有自己的代码库(OpenDaylight项目列表)。这些项目中与OpenFlow相关的项目的有controller、openflowjava和openflowplugin。ODL屏蔽底层,网络应用于应用,打造统一开放的SDN平台,目标是打造一个SDN网络操作系统。ODL包括OSGI、MAVEN、INFNINISPAN、SAL等核心技术[13]。


2.3 NOX/POX操作系统


NOX[14]是斯坦福大学实现的开源的操作系统,是最早支持openflow的控制器。NOX采用C++编程语言实现,具有管控SDN网络的基本功能。NOX的功能相对单一,拓展性和稳定性有很多不足的地方。但作为最早期的操作系统,NOX为后来的控制器架构提供了优秀的实例,规范了编程的架构,在早期的SDN发展过程中起到了重要作用。开发人员根据NOX实例实现了NOX的升级版操作系统POX。POX采用Python编程语言语言编写,具有简洁易懂的特点,是入门者接触SDN的首要选择。POX在实际应用中发展快速,是运营商和研究机构在SDN操作系统领域的主要选择之一。


2.4 Floodlight操作系统


Floodlight[15]操作系统Big Switch Networks公司开发的基于java的openflow操作系统。是一款广泛应用的企业级的开源操作系统,具有性能高和可靠性高等特点。Floodlight可以对大规模的路由器和交换机等支持openflow的接入点进行合理的控制,同时由于Floodlight的跨平台特性,因此也被广泛应用在各种终端之上。


Floodlight不仅仅是一款SDN操作系统,还包含一系列基于Floodlight的模块化的上层应用。这些控制器层的应用帮助开发人员更好的管控SDN网络,并通过REST API向应用层提供管控信息。Floodlight可以同时处理 OpenFlow 和非 OpenFlow 混合网络,实现对多种 OpenFlow 交换设备组成的网络的管理。因为FloodLight 优秀的管控能力,使得它成为多个重量级SDN项目中的核心。

3. 网络虚拟化技术


3.1网络资源虚拟化


未来网络要满足管控性、灵活性、可扩展性等需求,网络资源虚拟化切片技术成为试验床中非常核心的技术,可以根据不同的试验网络需求对物理网络中的计算资源、存储资源、网络资源进行切片式的抽象与管理。网络资源虚拟化技术从理论走向实践的过程中,必然要解决“流量识别与标识”、 “虚拟节点抽象”和“虚拟链路抽象”这三个核心问题,本节从这三个方面对网络资源虚拟化技术进行概述[16]。


3.1.1 流量识别与标识

网络虚拟化平台首先要实现的功能是对不同的试验用户进行隔离,解决该问题需要识别不同用户的网络流量,并对其进行网络标识。对网络流量的识别一般由接入设备完成,识别的策略有面向主机的和面向业务的。接入设备对网络流量识别后,需要对网络流量进行特别的标识处理,以便后续的设备能够对其进行特殊的处理,保证多个不同用户之间的流量能够互相隔离,互不干扰。目前流量的识别与标识方法有:基于vLan的标识方法和基于vxLan的标识方法。


3.1.2 虚拟节点抽象

虚拟节点抽象主要用于向用户描述虚拟化的节点模型,包括:“一虚多”模型和“多虚一”模型。前者“一虚多”模型是指每个底层物理节点可以虚拟化多个虚拟节点,即每个SN节点可以承载多个VN节点的请求。这种情况比较常见:在传统网络上一台物理交换机逻辑上被VLAN分为多个虚拟交换机;有些厂家的路由器可以模拟多台虚拟路由器。在每个物理节点上承载的虚拟节点之间的CPU资源、存储资源和转发表等互相独立,互不干扰。后者“多虚一”模型是指多个物理设备中的资源整合,向用户提供一个虚拟的逻辑设备。


3.1.3 虚拟链路抽象

虚拟链路抽象主要用于向用户描述虚拟化的链路模型。每个虚拟链路可以对应一条实际的物理链路,也可以映射到多条实际的物理链路。在虚拟化试验平台中,虚拟链路要满足各种各样的用户需求,因此虚拟链路的映射要能够针对各种服务质量要求,完成物理链路的映射,满足不同用户的性能指标要求。


3.2 网络功能虚拟化


为了应对网络虚拟化服务带来的频繁更新配置用以满足不同的虚拟网络用户的实际需求,网络功能虚拟化技术被提出用以解决这个问题。网络功能虚拟化是由服务提供商推动,主要目的是为了加快引进网络上的新服务。通信服务提供商已经提供了专用的X86硬件设备,网络功能虚拟化使其可以频繁快速地更新网络配置,提供新的服务功能。


如果说网络虚拟化技术为我们带来了通过网络创建通道、同时利用每一条传输流进行服务的思路,那么下一步就是让这条通道承载相应的服务。网络功能虚拟化主要针对网络模型的四到七层功能进行虚拟化处理,常见功能:防火墙、IDS/IPS目前比较著名的防火墙及IDS/IPS系统供应商包括PLUMgridEmbrane公司。


网络功能虚拟化的目的是通过通用的X86设备的强大性能在建立虚拟网络通道上,构建部署特定的虚拟服务,可以节省大量的手工配置与技术培训的繁琐细节,这些功能的设置都可以通过软件定义的方式来完成。许多网络虚拟化的服务提供商都开始加快实施网络功能虚拟化服务,因为很多用户不希望同时购买两个不同厂家的服务。

4. 未来核心趋势


1) 未来网络核心技术关注不同用户需求


未来网络不再是新经济新领域独有的产品,最终它会成为承载一切的重大基础设施服务,类似水、电等资源一样,各行各业的用户都会利用未来网络实现自己的需求,或在未来网络上进行创新应用。所以各种各样的用户未来都会接入互联网,未来网络应该关注不同用户的需求,例如:数据备份需求的用户更关注的是流量的价格,不关心网络带宽时延等性能指标;实时转播的用户更关心的是网络的实时带宽需求;医疗控制领域关心的是网络的时延性能参数等。因为未来网络应该更多关注不同的用户,能够支持为不同的用户提供各种各样的服务。


2) 未来网络核心技术关注应用创新


随着国家大众创业,万众创新口号的提出,目前的产业界都在进行改革,都准备在未来网络的应用上创新,利用未来网络创新技术,改革已有的产业盈利模式,提高企业的运营收益[16-18]。目前工业界和产业界都在进行网络创新,但同时面临一些严峻的挑战,例如:未来网络的安全问题、未来网络的资源管理调度问题等。

一网打尽系列文章,请回复以下关键词查看:

创新发展:习近平 | 创新中国 | 创新创业 | 科技体制改革 | 科技创新政策 | 协同创新 | 成果转化 | 新科技革命 | 基础研究 | 产学研 | 供给侧

热点专题:军民融合 | 民参军 | 工业4.0 | 商业航天 | 智库 | 国家重点研发计划 | 基金 | 装备采办 | 博士 | 摩尔定律 | 诺贝尔奖 | 国家实验室 | 国防工业 | 十三五 | 创新教育 | 军工百强 | 试验鉴定 | 影响因子 | 双一流 | 净评估

预见未来:预见2016 | 预见2020 | 预见2025 | 预见2030 | 预见2035 | 预见2045 | 预见2050 |

前沿科技:颠覆性技术 | 生物 | 仿生 | 脑科学 | 精准医学 | 基因 |  基因编辑 | 虚拟现实 | 增强现实 | 纳米 | 人工智能 |  机器人 | 3D打印 | 4D打印 | 太赫兹 | 云计算 | 物联网 | 互联网+ | 大数据 | 石墨烯 | 能源 | 电池 | 量子  | 超材料 | 超级计算机 | 卫星 | 北斗 | 智能制造 | 不依赖GPS导航 | 通信 | MIT技术评论 | 航空发动机 | 可穿戴 | 氮化镓 | 隐身 | 半导体 | 脑机接口

先进武器:中国武器 | 无人机 | 轰炸机 | 预警机 | 运输机 | 战斗机 | 六代机 |  网络武器 | 激光武器 | 电磁炮 | 高超声速武器 | 反无人机 | 防空反导 | 潜航器 |

未来战争:未来战争 | 抵消战略 | 水下战 | 网络空间战 | 分布式杀伤 | 无人机蜂群 | 太空站 |反卫星

领先国家:俄罗斯 | 英国 | 日本 | 以色列 | 印度 

前沿机构:战略能力办公室 | DARPA | Gartner | 硅谷 | 谷歌 | 华为 | 俄先期研究基金会 | 军工百强

前沿人物:钱学森 | 马斯克 | 凯文凯利 | 任正非 | 马云 | 奥巴马 | 特朗普

专家专:黄志澄 | 许得君 | 施一公 | 王喜文 | 贺飞 | 李萍 | 刘锋 | 王煜全 | 易本胜 | 李德毅 | 游光荣 | 刘亚威 | 赵文银 | 廖孟豪 | 谭铁牛 | 于川信 | 邬贺铨 |

全文收录:2016文章全收录 | 2015文章全收录 | 2014文章全收录 

其他主题系列陆续整理中,敬请期待…… 


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存