《智慧网络协同组织机理》智慧网络可编程技术 小记

部分目录:

智慧网络可编程思想的提出及演进

  • 早期开放可编程思想
  • 控制与转发分离技术
  • 软件定义网络与网络功能虚拟化

智慧网络数据平面可编程技术

  • 数据平面实现平台
  • 数据平面协议无关性
  • 数据平面可编程灵活性

智慧网络可编程思想的提出及演进

早期开放可编程技术

Opensig开放信令

1995年开始,开放信令工作组专注于研究开放,可拓展,可编程的ATM,Internet和移动网络,第一次将可编程的思想加入网络设计。
主要思想:通过开放,可编程的网络接口访问网络硬件,在通信硬件和控制软件之间实施分离,并且将开放接口标准化。

后续的其他网络设计理论(如ForCES,MSF,GSMP等)都是基于该思想进行一系列的研究。

主动网络

同期,美国国防部高级计划署(DARPA)在未来网络发展方向研讨会上提出了主动网络(Active Network)这一新型的网络体系架构。
该架构首次提出“面向定制化服务可编程的网络基础设施”思想。

相关研究针对主动网络思想设计了两个主要模型:
一是可编程路由/交换机模型,利用Out-Of-Band方式将程序代码放置到网络节点中运行;
二是封装模型,用户利用In-Band方式将程序代码通过数据分组的形式传递到网络节点进行运行。

主动网络思想优点:有效可行,为未来网络的相关研究指引了方向。
缺点:缺乏大量的应用范例以及工业部署的需求,脱离硬件发展水平,难以推广。

小结

以上两种思想,本质上都是实现面向科研人员和终端用户的网络开放可编程,研究重点都放在了数据平面可编程化。
但是由于受到了软件及硬件技术的限制,仅能实现设备的可编程。

这两个思想,提出了 基于开放信令思想的数据平面和控制平面分离的基本网络架构体系

控制与转发分离技术

需求:网络规模不断扩大,集中式控制和更高可靠性的要求日益增长。
体系架构:控制层面的软件和分组转发硬件相分离。
挑战:控制平面和数据平面之间的开放编程接口设计,网络在逻辑上的集中控制。
相关研究工作:DCAN,ForCES,4D,NETCONF.

DCAN 权力下放的ATM网络控制

将大量网络设备的控制和管理功能和转发硬件本身解耦,交由第三方执行,硬件设备只进行转发。

ForCES

ForCES将网络设备内部架构重新定义为两个逻辑实体的集合:转发元件(FE),控制元件(CE).
FE负责使用底层硬件进行数据报文的处理,CE通过ForCES协议对FE处理数据报的过程进行控制。

4D

将网络高度层次化,分为决策平面,数据平面,分发平面,发现平面。
决策平面维护全局网络视图,利用分发平面和发现平面提供通信和信息的相关服务,数据平面用来转发分流。

解决了网络逻辑决策平面和分布式转发硬件过紧的问题。
但我个人认为,层次偏多,各个层次的实现以及层次之间的协调交互复杂性是很高的,实现困难。

NETCONF

NETCONF协议为网络设备提供了一个API,利用该API可以发送和接收可拓展的配置信息。
相当于主动网络的封装模型思想,用户通过In-Band方法以数据报的形式发送配置信息,底层硬件设备通过NETCONF提供的API接收并配置相关信息。

小结

该阶段的项目主要实现 面向网络管理者的可编程技术。
研究重点:控制平面可编程技术,实现网络级别的视图及控制。

控制与转发分离的架构,简化了网络设备管理及配置操作,实现网络控制的集中化与健壮性,为网络设备提供了开放的可编程API接口,提高了网络可编程能力,为软件定义网络的产生提供了理论和实践的基础。

软件定义网络与网络功能虚拟化

软件定义网络 SDN

2006年,在控制与转发分离的架构基础上,美国斯坦福大学的Clean Slate研究组针对企业网的安全需求,提出了面向企业网的管理架构,即SANE,首次实现了路由和接入在逻辑上的中央安全控制,以及更细粒度的流表转发策略。2007年,在针对SANE进行功能拓展的基础上提出了Ethane,SDN的前身,实现了基于流表进行报文转发的交换机。
在SANE和Ethane的基础上,Nick McKeown教授等人提出了OpenFlow,并大力推广SDN的思想。

SDN技术的本质是网络转发功能的可编程性,通过控制器作为可编程切入点,网络管理员通过网络应用层软件能够动态,快速,按需地进行网络编程。
OpenFlow作为第一个具有现实意义的SDN协议和原型实现,具有良好的实现性,使SDN更加实用。

基于OpenFlow的SDN可编程架构的关键组件包括OpenFlow交换机和控制器。
OpenFlow交换机负责数据转发功能,由流表,安全信道,以及OpenFlow协议三个部分组成。

SDN架构分为三层:数据平面,控制平面,应用平面。

  • 数据平面和控制平面提供CDPI,SDN控制数据平面接口,进行通信;CDPI具有统一的通信标准,主要采用OpenFlow作为南向通信协议。CDPI负责将转发规则从控制层的网络操作系统发送到底层网络设备,它要求能够匹配不同厂商生产的不同型号的网元设备,而并不影响控制层及以上的逻辑控制及策略部署。

  • 控制平面和应用平面采用SDN北向接口NBI进行通信,控制场面通过NBI允许位于应用平面的用户进行按需编程和自定义策略。NBI允许第三方开发个人网络管理软件和应用,为应用层面的科研人员和用户提供更多的选择。

  • 数据平面由交换机等网络元素组成,各元素通过不同规则相交互,形成数据平面的链路。

  • 控制平面包含逻辑中心的控制器,负责运行控制逻辑等策略,维护全网视图。并将全网视图抽象为网络服务,通过CDPI来对底层数据平面的链路及网元进行调用,通过NBI向应用层面的用户及科研人员提供可编程性,方便按需编程及自定义策略,订制私有化应用,实现对网络的逻辑管理。

  • 应用平面包含各种各样的基于SDN体系的应用,由于北向接口的存在,用户无需关注底层硬件的细节,通过简单且亲和于程序员的编程即可对网络部署策略,或者部署新应用。

在控制器中允许的网络操作系统NOS,实现了对于底层网络的集中式控制逻辑,同时为位于应用层面的应用程序提供了面向网络设备的标准化可编程接口。
比较出彩的控制器有:OpenDayLight,POX,Floodlight,Ryu,ONOS,NOX,Onix等等。

下文针对OpenDayLight控制器进行说明。
ODL控制器架构分为三层:南向协议插件,服务适应层(SAL),北向应用功能。
(1)南向协议插件作为控制层和数据层交互的接口,支持OF,BGP-LS,LISP等协议。
(2)SAL将南向协议插件功能转换为高层应用/服务功能。
(3)高层应用功能为应用提供了北向API.
SAL相当于一个转换层的作用,ODL控制器支持多种南向协议使得应用层的用户和开发者能够专注于SDN的API开发工作,而不用考虑与网络设备之间的通信协议以及底层硬件的细节。

总结

SDN继承了前期控制转发分离的思想,实现了网络可编程关键技术的实际部署,对于网络革新有以下意义:

(1)统一了网络设备的功能
传统网络设备根据不同的分组头字段进行流量的控制;而基于OpenFlow协议的SDN交换机则可以根据任意的协议报头,或者说分组头字段域进行匹配,实现了网络设备匹配域和转发行为的统一。
但是,个人认为,OpenFlow的缺点也恰恰在于分组头字段域匹配,并没有很好的实现协议无关性,在下发流表之前就固化了分组头匹配的规则,灵活性不足。
基于OpenFlow的SDN归一化了规则配置技术,将粗粒度的规则预配置转换为了反应式的细粒度规则配置

(2)提供了网络操作系统视图
不同于主动网络提出的节点操作系统,SDN的网络操作系统在逻辑上将网络分成三层,即转发层,状态管理层,逻辑控制层。能够对网络状态进行全局的抽象,为网络的管理者提供了网络级别的控制视图。

(3)实现了分布式网络状态管理技术
SDN控制平面和数据平面分离的架构导致网络状态管理面临挑战,为了实现可拓展性,可靠性和高性能,需要同时运行多个逻辑上集中的控制器,确保协同工作。

基于OpenFlow的SDN体系架构面临的挑战,在我看来有如下几点:
数据平面可编程性,按需配置底层网元,灵活的解析和协议字段匹配。
协议相关性。OF要求可以任意去修改报文中的每个字段,将报文送到任意的目的地,那么协议相关性就是目前迫切需要解决的问题了。
北向接口标准化。
控制层面东西向协议开发,层间控制器交互。
SDN具体应用的部署。
控制器集中式控制所带来的可拓展性问题。
多级流表的复杂逻辑实现。

协议无关所带来的灵活性,无疑会丧失了特殊协议特殊处理的简单性,带来的是更为复杂的处理逻辑;如何在灵活性和简单性之间权衡,P4是一种答案:通过P4语言描述底层复杂的处理逻辑,支持OpenFlow协议,解决了OpenFlow难以实现的底层解析数据报头以及灵活的匹配-动作流水线问题,实现了协议无关性又保证了一定的灵活程度;用户可以自定义底层解析,处理细节,实现了数据平面可编程性;又满足了OF修改任意字段的要求。

底层芯片对于OF的支持比较有限,不过Tb/s的高性能处理芯片提供了一种解决方案。

网络功能虚拟化 NFV

2012年,为了应对电信网络部署的封闭性,私有性带来的可操作性和管理成本的挑战,20多个全球最大的电信网络服务商组成的ISG(行为规范组)与欧盟电信标准协会ETSI提出了NFV。
本质上,NFV基于云技术,通过虚拟和整合传统的专用网络设备功能,利用控制平面的技术对底层网络数据流路径进行动态的编程,支持数据流按需经过功能/服务集合,使网络获得更高的灵活性,加速新服务的部署,同时降低管理和资金的成本。

与SDN不同的地方在于,NFV认为底层网元不应该只是一个简单的哑的转发设备,应该是一个连接多种智能模块,更加整合,支持定制化功能处理的设备。
智慧网络设备架构应该具备三个特性:

  1. 未来的数据平面架构应该实现网络和通用处理硬件之间的深度整合;
  2. 新型网络设备应该允许第三方自由安装数据平面的功能;
  3. 应该同时支持传统网络任务和新型应用。

我个人对它的解读是:
未来的数据平面架构把零散的网元彼此衔接,联系更加紧密,从而实现资源共享和协同工作,同时允许第三方对数据平面自由地按需编程,按需安装功能;支持从传统网络设备架构逐渐过渡到智能网络设备架构。

目前针对未来网络的设备硬件架构的实现方法还存在比较大的争议:
一种观点认为应该使用标准化大容量设备来完全取代现有的专用硬件;
另外一种观点认为应该将专用硬件和通用线速卡混合使用。

这两种观点都有优势以及不足之处,硬件资源和性能之间的平衡是首先要考虑的事情。

SDN控制平面,是一个可以部署任意的网络控制程序的 开放可编程平台,允许不同的开发者对网络和转发决策进行细粒度的开发和控制。
但是,广义SDN将网络决策,全局视图,流控制等全部放在控制平面,造成了控制平面的压力过大,而数据平面只是一个哑的简单的用于交换的平面;Google的B4数据中心部署的案例说明了在数据平面部署某些功能的需要。
Risso F等人认为,未来网络中,数据平面的可编程化,比控制平面可编程化更加重要,这使得用户能够更加容易的感受到数据平面的用户可定制能力。

与SDN不一样的是,NFV更加关注合并和优化网络中间件之间的数据流量,利用运行在虚拟化标准服务器上实现各种网元功能,实现了灵活的数据平面可编程性,缓解了网络功能管理的面临的严峻成本,可靠性,复杂性问题。
换句话说,NFV更加注重底层流的状态和优化策略,在一个虚拟化服务器上实现和统一管理各种功能。
但是,NFV仍然面临 动态控制,电信级顽健性,开放性和互操作性等挑战。

NFV + SDN

针对上面的SDN和NFV的优势及不足,ONF开放网络基金会产生了将二者融合的想法,发布了NFV和SDN融合的方案,该方案采用SDN控制平面与转发平面,以及集中式控制的思想架构,为NFV提供了合理高效的网络连接方式。
通过SDN技术能够将网络节点的功能进一步拆分,使转发功能和业务功能分离:业务功能多采用NFV的大容量服务器实现,转发功能采用OF交换机实现。
该方法采用SDN的思想,构建可扩展的弹性基础设施,来实现NFV的部署;在SDN架构的应用层引入了NFV的编排功能,构建了电信级别的可编程网络:实现了网络资源利用率最大化,网络配置管理简单化,网络升级更新快速化,以及网络功能开放可编程化。

附:SDN与NFV网络发展殊途同归

摘自:《冲破定制化网络 SDN/NFV两派系殊途同归》

SDN由美国斯坦福大学的教授们首次提出,在长期发展中形成了相关的协议、组织以及网络架构和标准,并得到厂商的关注,逐渐形成了自己的产业群体;而NFV则是由全球范围内的电信运营商发起,以解决实际需求为目的成立了工作组,并对外发布了《网络功能虚拟化白皮书》。

一个是带有学术基因的“学院派”技术,一个是接地气儿的“需求导向型”技术,SDN与NFV虽有着截然不同的发展路径和技术特征,但两者最终都旨在改善电信网络的灵活性和通用性,是相互补充、互不替代的关系。

具体而言,SDN是一种跨设备级的技术,不仅只体现在IDC或企业网中的某一台设备上,其通过改变网络控制层与转发层的逻辑关系,将为下一代网络带来更多、更新的功能,比如针对不同的业务客户群,通过改变节点设备的转发流表,优化不同的业务流。而NFV则属于产品级的技术,通过改变单台设备功能的承载形态进而影响整个网络架构,比如在城域网中,将原本存在于统一集成网关设备中的路由、多媒体以及安全等网络功能转移到通用服务器上运行,以便降低成本、更好地响应用户的需求。

小结

基于网络抽象的智慧网络可编程化,它实现了集中的网络控制,自动化简单化网络配置管理,可定制化的网络服务;提高了网络的灵活性,使网络易于管理和升级。

2016/10/18

posted @ 2016-10-16 22:57  Wasdns  阅读(547)  评论(0编辑  收藏  举报