编者按

随着网络技术的发展,越来越多的分布式应用和不同类型的网络技术被部署到网络上,基于传统IP的网络体系结构正面临越来越多的问题,传统的优势正逐渐成为制约网络技术发展的瓶颈。


由于篇幅较长,文章将分成四篇进行讲解,本文为第一篇,欢迎关注阅读并留言讨论。





1、引言






随着网络规模的增大和新型网络应用的不断出现,网络流量呈指数级增长,给网络带来了负载不均衡,带宽消耗严重等一系列问题。单纯的扩容提速,不仅成本高,而且由于缺少系统性的流量管理机制,网络资源利用率低。此外,许多应用程序不仅需要带宽,还需要保证服务质量(quality of service,QoS),如端到端时延,抖动,丢包率等。因此根据网络的状态和需求找到一种实时的自适应的可定制路由是提高网络资源和服务质量的关键性因素。

在传统网络中,控制和转发紧耦合的网络架构与“尽力而为”的服务模式,需要在每个节点上执行特定的路由协议和算法以此来找到源到目的地的最佳路径。正是因为这个分布式体系,使得每个节点只有部分视图,导致很多全局性策略难以实施,所以很难进行智能路由。而软件定义网络SDN作为一种新的网络体系架构,通过将控制平面与数据平面分离,可以通过控制器获取网络拓扑的全部信息,实现对网络集中控制,降低了网络节点获取相邻网络节点信息的通信开销以及对网络资源的占用率。

同时由于SDN的可编程性,使得网络通过软件编程的方法,实现对网络的灵活控制,确保资源的优化分配。因而SDN提供了灵活高效的网络控制,简化了网络管理过程,使管理员可以通过网络编程的方法定义和控制网络,降低了为数据流提供路由优化服务的难度。




2、研究现状






2.1 SDN发展现状

SDN目前已被部署应用于一些新兴的网络环境,解决了传统网络架构难以克服的一些困难。例如,数据中心是SDN最早的应用场景。利用SDN的集中管控和网络可编程的特性,大幅度降低了数据中心的运维成本和网络设备的复杂度,使数据中心的网络性能得到了大幅提升。物联网中类型众多的网络设备的接入和网络协议的采用,使物联网的管理和控制也日益复杂。

最新的移动通信网络5G也利用SDN来降低运营成本,简化网络管理,开放无线网络编程接口,实现虚拟网络的分片隔离,引领了无线网络的发展趋势。SDN是面向下一代互联网的新生事物,其研究和应用均处于初级阶段。

在未来SDN大面积部署的过程中,其架构中各个平面的性能优化将是必然要面临的一类重要问题。控制平面是整个SDN体系结构的核心平面,其时延,带宽和吞吐量决定着整个SDN网络的性能,降低控制平面的时延,提升控制平面的带宽和吞吐量是优化控制平面性能的核心问题。数据平面负责全网的数据转发,降低设备复杂度,提高数据转发效率是数据平面优化环节的专注焦点。

2.2 SDN的体系结构

网络可编程,控制逻辑集中化和控制转发分离是SDN的三大特点。SDN实现了网络的自动化管理和控制,大幅降低了网络运行和维护的成本。开放网络基金会ONF提出的SDN体系架构由上至下分为应用层,控制层和数据层如图1所示,其中,应用层包含各种网络业务应用。网络用户无需了解网络底层的技术细节就可以通过编程来实现和部署多样化的网络应用。

控制层由负责产生全网控制逻辑的控制器组成。控制器维护全网状态信息,生成全网视图,根据全网视图制定并下发数据转发规则。数据层由若干交换机等网络元件组成,负责数据的处理,转发和状态的搜集。

除此之外,SDN架构还包括应用层与控制层之间的北向接口和控制层与数据层之间的南向接口。北向接口是为开发者提供网络高层逻辑抽象和业务模型的编程接口,实现了顶层应用与网络之间的信息交换。南向接口负责控制逻辑下发和网络状态的采集。


7月技术周|基于SDN网络的优化技术和QoS研究分析(一)

图1-SDN体系架构

2.3 SDN控制器发展现状

控制器是SDN的核心部件,近几年随着SDN的兴起也迎来了快速的发展,受到越来越多来自于学术界和工业界的关注,其技术也日趋成熟。

NOX是第一个SDN控制器,由Nicira开发,并于2008年开源发布。NOX在2010年以前得到广泛应用,不过由于其基于C++开发,开发成本较高,逐渐在控制器竞争中没落。所以后来其兄弟版本POX面世。POX是完全基于Python的,适合SDN初学者。但POX也有其架构和性能的缺陷,逐渐也被新兴的控制器所取代。目前,NOX/POX社区已不再活跃,其官网http://www.noxrepo.org也已废弃,不推荐在生产中继续使用它们。

Ryu是日本NTT公司推出的SDN控制器框架,它基于Python开发,模块清晰,可扩展性好,逐步取代了早期的NOX和POX使用ryu-manager启动应用。

Floodlight基于Java开发,具有良好的架构和性能,也是早期最流行的SDN控制器之一; 由于Floodlight更新迭代速度较慢,特别是OpenDaylight诞生以后,Floodlight已经丧失了原先的优势。

OpenDaylight是Linux基金会管理的开源SDN控制器,依托强大的社区支持和功能特性,已成为最受瞩目的开源SDN控制器。OpenDaylight(ODL)高度模块化、可扩展、可升级、支持多协议。北向接口可扩展性强,REST型API用于松耦合应用,OSGI型用于紧耦合应用。引入SAL屏蔽不同协议的差异性。南向支持多种协议插件,如OpenFlow 1.0,OpenFlow 1.3,OVSDB,NETCONF,LISP,BGP,PCEP和SNMP等。底层支持传统交换机、纯Openflow交换机、混合模式的交换机。ODL靠社区的力量驱动发,支持工业级最广的SDN和NFV使用用例。ODL每6个月推出一个版本,经历的版本为Hydrogen、Helium、Lithium、Beryllium、Boron、Carbon等。

ONOS是一个开源SDN网络操作系统,主要面向服务提供商和企业骨干网。ONOS的设计宗旨是满足网络需求实现可靠性强,性能好,灵活度高等特性。此外,ONOS的北向接口抽象层和API使得应用开发变得更加简单,而通过南向接口抽象层和接口则可以管控OpenFlow或者传统设备。ONOS集聚了知名的服务提供商(AT&T、NTT通信),高标准的网络供应商(Ciena、Ericsson、Fujitsu、Huawei、Intel、NEC),网络运营商(Internet2、CNIT、CREATE-NET),以及其他合作伙伴(SRI、Infoblox),并且获得ONF的鼎力支持,通过一些真实用例来验证其系统架构。

2.4 QoS研究现状

Internet Engineering Task Force (IETF)定义了各种类型的QoS体系结构来支持QoS配置。集成服务模型(IntServ)基于每个流(per-flow)的概念。它利用资源保留协议(RSVP)为终端用户提供QoS服务。在IntServ模型中,通过端到端路径显式地保留资源,因此所有路由器都将网络状态存储到服务中。

因此,它存在可伸缩性和复杂性问题。为了缓解这种可伸缩性问题,研究人员提出了区分服务模型(DiffServ),该模型基于流聚合,利用逐跳流程。它根据信息包头中的服务类型(ToS)字段对传入流进行分类(使用预配置类)。由DiffServ相同地对待相同类别的数据包,因此它难以为各个流提供定量的QoS。它在简单性方面很强,但在保证方面却很弱。多协议标签交换技术(MPLS)是另一种用于通过标签技术减少复杂路由表查找的技术。所有这些优点和缺点表明,当前的QoS体系结构在为服务提供商,企业或最终用户提供QoS支持方面并不是真正成功的。

在现有传统网络体系结构中支持端到端服务质量(QoS)是一个持续存在的问题。尽管来自学术界和行业的研究人员都提出了许多解决方案来解决QoS限制,当前网络的版本,其中许多要么失败,要么未实现。

近年来,由于SDN网络的兴起,对于真正实现QoS机制起到了良好的促进作用。得益于上述诸如逻辑集中,全局网络视图,可编程性等诸多优点,SDN可以动态地优化流管理和资源。此外,每个流(per-flow)或应用程序级别的QoS配置对于网络工作管理员来说变得更容易和可行。

由于这些原因,SDN网络吸引了公司,大学,数据中心和服务提供商的注意,并将其部署到他们的网络工作中。谷歌的私有WAN (B4)连接了世界各地不同地理位置的谷歌数据中心,是在具有上述目的的大型网络中采用SDN的例子之一。


关于九州云99Cloud


九州云成立于2012年,是中国早期从事开放基础架构服务的专业公司。公司成立八年,秉承“开源 · 赋能变革”的理念,不断夯实自身实力,先后为政府、金融、运营商、能源、制造业、商业、交通、物流、教育、医疗等各大行业的企业级客户提供高质量的开放基础架构服务。目前拥有国家电网、南方电网广东公司、中国人民银行、中国银联、中国移动、中国电信、中国联通、中国资源卫星、eBay、国际陆港集团、中国人寿、万达信息、东风汽车、诺基亚等众多重量级客户,被用户认可为最值得信赖的合作伙伴。

7月技术周|基于SDN网络的优化技术和QoS研究分析(一)