赵恒 袁博 范亮
摘要:提出了一种新的承载网络架构,其最主要的特点是控制和承载分离。还根据当前软件定义网络(SDN)技术发展的水平、现有宽带网络网关(BNG)设备的实现以及电信承载网络自身的特点,提出了电信承载网和BNG设备向SDN架构演进的阶段性发展步骤,并对其中的一些细节进行了详细探讨。SDN网络的逐步部署必将加速互联网技术革新的步伐,为未来电信网络注入更多活力。
关键词:软件定义网络;电信承载网;宽带网络网关
Abstract: This paper introduces a new bearer network architecture that splits controlling and bearing. We analyze current software-defined network (SDN) technology and bearer network characteristics and propose steps for migrating the bearer network and broadband network gateway (BNG) devices to SDN architecture. Gradual deployment of SDN networks will accelerate the speed of technological innovation of the Internet, and this will give more vitality to future communication networks.
Key words: SDN; bearer network; BNG
传统的电信是封闭型网络,这种封闭体现在电信网络只对运营商自身开放,所有的数据报文的转发特点由运营商自行定义,网络对互联网业务不可见。但是互联网服务提供商,例如谷歌和腾讯等越来越向虚拟运营商靠拢,并且有自己的骨干网络,宽带用户有可能只是借助运营商网络接入虚拟运营商的骨干网络,而互联网业务往往是通过TCP/HTTP等有端到端连接特性的网络通信协议承载的,并需要提供用户到用户、用户到业务服务器之间的端到端的业务保障,因此封闭网络不利于未来的网络发展。
传统的电信网络也是一种刚性网络,这种刚性体现在每个网络承载设备例如宽带网络网关(BNG)都无法动态定义支持的功能模块,且单个承载设备具备几乎全部的网络层控制面和转发面功能。而在现网中根据部署位置及在网络中扮演的角色不同,往往各个设备只需使用其中一部分的功能,冗余的功能占用了系统资源,限制了设备能力的最大化使用。同时,承载设备软硬件耦合度大会导致业务创新速度放缓,另外互联网业务的创新速度已经远远超越承载设备的升级速度。为支撑新的商业模式(向互联网业务提供商提供业务保障、后向收费),软硬件松耦合、加快承载设备软件特性升级速度以适应互联网业务的发展成为运营商的一种潜在需求[1]。
因此为了适应未来网络的发展,运营商针对传统的电信网络和设备架构提出了虚拟化的思想,包括网络功能虚拟化(NFV)、网络虚拟化(NV)以及软件定义网络(SDN)等技术。这些思想的主要目标是为了让电信网络和设备承载的业务更加符合未来网络的发展趋势,让运营商网络更加开放并更具弹性。但是不论是NFV、NV还是层次化BNG,都是借鉴了 “业务控制和转发分离”的思想,都符合SDN的架构设计思路,因此SDN可以是达成这些虚拟化技术的实现方式之一,研究电信承载网向SDN化发展则成为业界的热门话题。BNG设备是电信承载网的核心设备之一,是连接用户、网络和业务的纽带,部署的功能最为复杂,因此研究BNG向SDN架构化发展是十分重要的。
SDN技术的使用起源于数据中心交换机,其核心思想是控制和承载分离。而传统的BNG采用的是控制和承载集中的技术,并通过设备之间的协议交互和设备的配置来进行数据报文转发行为控制,如图1所示。传统的BNG设备的控制面协议处理包括基础路由和VPN协议、用户接入认证计费相关协议、业务层协议等,而在SDN架构中SDN控制器通常只处理基础路由协议,上层的协议功能由SDN 应用层处理。
1 全球运营商宽带网演进
思路
全球的一些主要运营商和厂商很早就开始对BNG设备的SDN化思路进行探讨,图2是欧盟SDN项目中德国电信提出的电信网络及BNG设备向SDN演进的一个思路,宽带接入服务器(BRAS)是BNG设备中和宽带用户接入相关的模块。
如图2所示,在欧盟SDN项目的思路中,承载网的接入汇聚层可以率先使用SDN 控制和交换机来完成网络流量的转发。SDN控制器作为网络层的控制设备,包含了例如普通路由、VPN以及MPLS等转发基础协议的应用,并通过SDN控制器下发到 Switch 形成SDN转发流表。但是对于BNG中负责宽带接入的BRAS功能模块,德国电信认为该功能只是作为SDN承载设备支持的一个功能模块,SDN控制器无需处理宽带接入的协议,而是由SDN 承载设备自己处理宽带接入协议,SDN控制器仅仅是起了通过BRAS 管理控制消息在SDN承载设备开启和关闭这个功能的作用。
在欧盟和德国电信的承载网SDN演进思路中,整个网络须从接入汇聚网入手逐渐朝SDN化发展。SDN是新兴技术,实际商用中还面临着许多未知的问题,因此需要从对全网影响较小的接入汇聚网络入手,逐步进行验证和推广。虽然中国电信网络和德国电信的网络结构存在着很大差异,但是德国电信的思路也同样适用于中国电信承载网络的发展。电信承载网SDN化的演进是一个逐步的过程[2-3]。
欧盟和德国电信认为:在BNG设备中,路由、MPLS和VPN等转发相关的功能协议是最先可以实现SDN APP化的协议模块。因为这些协议模块标准化程度高、在现网中运行相对稳定,而且实际网络中很少出现转发拓扑频繁改变和大规模协议频繁震荡的情况,SDN控制器完全有能力进行协议处理和转发拓扑计算。基于同样的原因,由于BRAS功能中用户接入上下线频繁,单位时间内宽带接入协议处理量巨大,如果对BRAS功能贸然进行整体剥离并形成独立的APP交由SDN控制器统一处理,可能会带来不可预知的问题。因此在SDN网络中SDN控制器只负责通过BRAS 管理 APP动态开启SDN承载设备的BRAS功能,并不对BRAS涉及到的接入协议进行处理。
欧盟和德国电信的BNG设备SDN化架构发展的要求,体现了一种谨慎的思路:BNG设备由于支持的功能复杂,因此应该先将数据转发相关的功能协议作为SDN APP处理,而BRAS宽带接入这种协议状态变化频繁的功能在SDN设备中的处理应更加谨慎。
2 电信承载网SDN化发展
思路
运营商的电信承载网络如果需要从封闭的刚性网络转变为SDN架构的弹性可定义网络,需要根据自身的特点进行合理的演进路线规划。承载网络有极高的可靠性和实时性要求,同时运营商网络中的大量网络设备仍然是全功能的刚性网络设备,这些特点决定了电信承载网不可能马上转变为一个可定义的、弹性的业务驱动网络,需要从网络结构的转变开始,经历几个必要的阶段,如图3所示。
(1)第1阶段主要是利用现有网络设备已开放的接口,构建SDN的层次化组网。在该阶段,运营商的主要目标是初步构建可以通过SDN APP对承载设备进行控制的层次化网络,从而为更多的协议和业务APP化做准备。在该阶段,可以利用现有网络承载设备已经开放和定义的业务控制接口对部分承载业务进行动态的控制。
目前,承载设备在刚性的承载网中开放的接口有限。因此在国际标准方面,宽带论坛(BBF)和国际电信联盟通信标准化组织(ITU-T)分别定义并开放了承载设备转发行为相关接口。此类接口现阶段针对的都是宽带用户的QoS策略控制功能,运营商则利用这些控制接口并根据现网智能管道的QoS应用需求,部署了类似SDN控制器的策略平台和类似APP的开放策略控制等相关业务,来达成初步构建符合SDN网络结构模型的目的。
(2)第2阶段主要是将电信承载网部分功能SDN APP化。在这个阶段,运营商的电信承载网进一步分层化发展,把更多的业务抽象出来作为SDN APP,电信承载网则向更多的互联网业务开放除去QoS以外的承载相关的控制接口。此时运营商已经开始试商用虚拟化网络的一些技术,因此在这个阶段,承载设备的部分功能和软件模块已经可以定制,运营商承载网络为互联网络提供更多的差异化服务,并且依据这些服务对互联网业务和运营商本身业务提供更多的接口。但是在这个阶段,网络设备并没有做到控制与承载完全分离。基于对高可靠性的要求,部分交互频繁业务仍然是融合在承载设备上,对于部分与整网拓扑相关或者使用程度不频繁的业务,可以先从承载设备中剥离出来、以独立的SDN APP的形式作为整网共享的业务功能。这个阶段类似于德国电信提出的那种网络结构。
(3) 第3阶段主要是使电信承载网完全SDN架构化。在德国电信的SDN网络架构中,BNG的BRAS业务模块由SDN承载设备本身处理。但是BRAS功能提取作为SDN APP,有利于运营商整体通过单独的BRAS APP服务器服务于多个SDN承载设备,有利于节约运营商的投资,并且更符合SDN控制和承载分离的要求。
运营商的电信承载网最终完全做到了向控制和转分离的架构转变,包括BRAS在内各类网络业务分别以独立的APP的方式从承载设备中剥离出来,并通过运营商统一的SDN控制器来实现对承载网络业务的集中控制。
在这个阶段,运营商承载网络既做到业务控制和承载分离,又要支持某些业务的按需定制。SDN APP可以通过业务定制来明确不同承载设备需要支持的业务类型,并且通过开放程度的不同来允许互联网运营商的APP对承载设备做出有条件的管道化定制。
3 BNG设备SDN化发展思路
根据运营商网络演进的阶段不同,BNG设备向SDN架构的演进并非可以一蹴而就,BNG设备也分3个阶段完成SDN化的过程。
(1)第1阶段可以实现BNG初步支持SDN框架。在这个阶段,BNG路由设备使用现有的QoS策略接口支持对承载的控制,而BNG设备和运营商的SDN控制器(此时应该仅仅是QoS策略平台对接)之间使用比较成熟的南向接口协议,例如Radius协议或者Diameter协议;北向接口对互联网可以触发策略更改的APP开放,方便需要互联网业务的需求修改管道的带宽,如图4所示。
由于该阶段BNG利用的是现有接口来完成一种SDN架构的控制雏形,路由器本身的软件和硬件架构不做任何改进,因此BNG本身已经实现该阶段所需要支持的功能。BNG需要完善的是:根据相应的标准更全面地支持QoS的策略接口,并且把对策略和计费支持更完善的Diameter作为统一南向接口协议。
同时在这个阶段路由器厂商尝试初步支持SDN使用最广泛的OpenFlow协议,以此来改变简单的转发面行为。虽然OpenFlow协议本身对路由器支持不够完善,并且路由器现有的硬件架构并不统一,但是在这个阶段可以使用OpenFlow已完善的简单路由功能,并可以通过路由器增加垫层来对OpenFlow协议解析。这时路由器的架构是混合结构,OpenFlow只改变路由器NP处理的某个简单的处理过程。
在图4中,SDN控制器分为支持基础SDN控制器功能的网络管理子层和支持对业务进行编排计算等处理的业务编排子层。业务编排子层的资源管理用来管理BNG上的资源,而策略管理生成策略库,策略库的内容再映射到APP以实现APP对于策略的选择。互联网APP可以通过策略触发APP来选择策略管理库的内容,从而对BNG承载接入的宽带用户进行策略控制[4]。
(2)第2阶段可以实现BNG支持混合式SDN架构。在现有的BNG软硬件架构中,主要业务协议的处理位于主控单元,数据转发单元和部分业务协议的处理功能位于接入业务的线卡上。在向SDN架构的BNG演进过程中,较为理想的情况是取消原有主控和线卡上的业务协议处理模块,统一定义为SDN APP。但实际上由于BNG功能模块十分复杂,而且SDN化APP必须要考虑电信网络本身具有的一些特点,因此在没有解决所有可能出现的问题前,在SDN技术应用的初期,可以将现有路由器所有功能模块统一剥离作为独立与承载设备的SDN APP,但这种方式存在3个方面的风险。
(a) 传统架构的电信网络设备主控和线卡之间的通信控制消息,不但包括对转发面的控制,也包括协议处理模块之间的交互。因此如果要APP化现有SDN的业务协议处理的功能,不但要支持转发流表的下发,还需要解决和定义业务协议处理模块之间的进程间通信的问题。出于对实时性和可靠性的考虑,这种进程间的通信不能通过SDN控制器来转接,否则会增加进程间消息交互时延并增加了故障点。同时这种进程间通信业不应该是设备商私有的,应该定义统一的流程和格式。
(b) 在传统的承载设备在设计实现上,没有采用将所有的业务协议处理模块一同放置于主控板卡的设计思路。这主要是因为部分协议比较复杂,并具有一定并发规模和性能处理要求。
采用分布式处理则更加满足希望业务的处理性能要求,很典型的例子是BNG的PPPoE拨号接入功能。PPPoE协议的处理功能必须在线卡中才能保证同时处理大规模并发的PPPoE用户拨号请求,如果所有线卡对宽带用户的PPPoE请求处理都位于主控的话,同一个主控需要处理多个线卡的协议,这样以来必定会产生性能瓶颈。同样,在这类协议模块被剥离并实现SDN APP化后,这类“协议APP”需要并发处理多个承载设备的PPPoE协议。这对APP的性能要求非常高,需要首先进行验证确保达到可用后,才能够APP化该类协议的模块。
(c) 传统BNG设备中用于保证电信网络50 ms的、高可靠性的协议处理也位于线卡。如果这类协议处理位于主控的话,协议报文在线卡和主控之间的往返必然带来较大的时延,从而影响设备的高可靠性。例如在承载网络中保证链路和节点可靠性的双向转发检测(BFD)协议,必须处于线卡处理才能保证其实时性。如果SDN APP化这类协议,那么处理过程就会由SDN承载设备直接交互变为增加和SDN控制器的中转,这不满足50 ms可靠性处理要求。
由于上述原因,在第2阶段BNG开始逐步向SDN架构演化时,BNG考虑分离原有的软件架构中的部分协议处理模块,把部分业务的处理从原有集中式的BNG路由器架构中分离,其余的业务仍然在BNG保留原有的分布式处理方式。因此,在第2阶段应该首先区分BNG哪些业务可以率先SDN APP化,如图5所示。
根据现网业务部署的规律,专家建议将不发生经常性业务震荡的协议模块率先实现APP化,如路由协议、VPN业务等类似的拓扑学习功能,在网络部署初期的拓扑学习完成之后,不会发生经常性的拓扑变化进而导致路由震荡,在新增业务或新设备新入网时拓扑发生变化时也只需要进行按需的一次性通告。该类业务在SDN APP化后可以管理全网拓扑,减少路由协议在承载设备之间的交互,同时也可以加快该SDN控制器下挂所有SDN承载设备的路由收敛,当远端发生路由震荡事件时,可以通过SDN控制器迅速通知该SDN控制器管理下的所有设备。
其次,某些业务模块与其他软件处理模块的耦合度也不高,现网使用率低或者不存在大量业务同时并发,此类业务可以率先APP化,例如系统管理、配置管理等网络中的其他使用频率不高的业务。对于此类业务,可以把相应的控制层面的内容作为SDN APP,并通过APP和SDN控制器来触发转发面的临时改变。
同时,在这个阶段,对于BNG设备上原有的可以通过License控制或动态加载,或是原有的类似热补丁的业务,也应该全部剥离后上移成为SDN APP,这样可以更好地将对应的功能进行整体动态控制,从而节约大量的人力。
第2阶段的模型如图6所示,可见路由和VPN管理、网络管理、业务定制功能已经上移到SDN APP层,因此相应的SDN控制器的业务编排子层增加了对应业务编排的功能。业务编排子层的作用是类似于传统BNG中和具体协议无关的某类业务统一管理的功能,例如路由和VPN拓扑管理、全局用户管理等。APP应该对SDN承载设备进行区分,但是业务编排子层的业务控制,需要根据APP的类型来区分哪些是整网全局的,哪些是和不同SDN承载设备有关的。例如路由拓扑的业务编排是与全局相关的,但是对于宽带用户接入的APP和用户管理的业务编排,则需要区分其具体对应于哪个承载设备。
在这个阶段中,SDN APP和SDN控制器需要合理分配自身的资源,并且一个SDN控制器可以下挂很多SDN承载设备,因此SDN APP所在的服务器以及SDN控制器本身对于处理资源的分配就成为了这个阶段研究的重点之一。SDN APP所在的服务器及SDN控制器不但需要协调不同类型的APP间的资源分配,也需要协调不同SDN承载设备的资源分配。
同时,SDN控制器需要重点解决路由和VPN协议的拓扑收敛问题,现有集中式架构的路由器,路由协议的收敛是通过路由邻居逐次传递,而在路由协议SDN化的阶段由于路由APP已经抽象并上移,因此可以通过相同路由协议的SDN APP内部通信,或通过SDN控制器的路由和VPN的拓扑管理来加快收敛过程。
(3)第3阶段中BNG可以采用完全的SDN架构。在这个阶段,SDN已经完全解决了SDN APP和SDN承载设备之间的可靠性问题,可以支持大规模业务的并发,满足现网频繁业务震荡的要求。同时,APP之间的通信机制得到了完善和统一,具有耦合性的各个独立APP之间的消息通道的高可靠性得到提升,能够满足实际业务的需求,此时的结构如图7所示。
在这个阶段,SDN的承载设备保留了硬件相关的管理上报功能,以及网络节点链路可靠性的相关功能。网络节点和链路毫秒级可靠性的处理(例如主备链路)由SDN承载设备直接处理,并根据处理结果通知SDN转发面。
由于APP之间的通信已经规范化,例如PPPoE和认证模块可以直接进行消息交互,这种方式比通过SDN控制器进行消息交互更具效率。同时由于APP的处理性能得到保障,SDN APP也可以支持同一SDN控制器下的多个承载设备的大规模协议处理。这种形态应该是BNG 基于SDN结构化的一种最终形态。
4 结束语
文章提出了BNG向SDN架构演进的阶段化发展思路。基于BNG设备本身的特点和运营商的电信承载网的特定要求,文章提出了运营商网络在向SDN化发展的每个阶段的设备架构模型。这套架构演进模型对SDN技术在电信承载网的部署、推动BNG设备最终实现理想化的控制和转发分离架构都有指导性作用。同时,文章针对BNG在SDN化发展过程中可能遇到的问题做出了探讨和分析,有利于后续基于SDN架构的BNG设备的开发和商用。
参考文献
[1] Open Network Foundation. Software-Defined Networking: TheNewNormforNetworks[R]. 2012.
[2] D.Stiliadis,et. Software Driven Networks: Use Cases and Framework[EB/OL]. http://www.amazon.com/SDN-Software-Networks, 2011.
[3] 林闯,贾子骁,孟坤. 自适应的未来网络体系架构[J]. 计算机学报. 2012,35(06): 1077.
[4] 赵慧玲,冯明,史凡. SDN——未来网络演进的重要趋势[J]. 电信科学. 2012,28(11):1-5.