扶奉超,谢元宝
(中国电信股份有限公司广州研究院,广东 广州 510630)
vCPE中CPE与云平台连接建立方法
扶奉超,谢元宝
(中国电信股份有限公司广州研究院,广东 广州 510630)
SDN(软件定义网络)和NFV(网络功能虚拟化)技术已成为当前的研究热点。vCPE(虚拟用户驻地设备)的主要思路是将原来的CPE一分为二,保留原有用户侧CPE的二层功能,而将三层功能以及业务处理功能上移至云平台中。采用此方法,不仅可以简化原有CPE实体网关设备,降低用户操作维护的难度,同时也可降低上门服务概率,并为用户提供增值服务。研究了vCPE中用户侧CPE如何与网络侧云平台建立连接的问题。通过采用VxLAN和NvGRE技术,在实现用户侧CPE与云平台建立二层通信的同时,对现有海量CPE的改动较小。
宽带接入网;CPE;SDN;NFV;VxLAN;NvGRE
SDN和NFV技术已成为业内讨论和研究的热点。SDN针对的是网络问题,其核心思想是将网络的控制平面和转发平面相分离,并开放网络的北向接口,实现网络可编程[1];NFV技术是将网络设备虚拟化,用通用x86服务器实现传统的专用电信设备功能,实现软硬件解耦,从而降低设备成本[2]。SDN技术和NFV技术的快速发展为接入网终端设备CPE(customer premise equipment)的虚拟化提供了基础。
CPE也称为家庭网关,是家庭网络与外部网络的接口单元,处于接入网的边缘。CPE的功能是为家庭用户提供三重业务,即数据、语音和视频业务。运营商通过NAT(网络地址转换)为家庭网络提供IP地址,而在其后的家庭内网对运营商并不可见。当家庭网络出现问题时,运营商有时需要提供上门到户的技术服务,可能造成维修成本高的问题。然而在很多情况下,网络的问题可能是内网的问题,与运营商提供的网络无关。因此开放家庭网络给运营商,方便运营商进行远程问题诊断与解决,可有效降低CPE的上门运维成本。此外,开放内网也可以让运营商为用户提供更多增值业务,如家长式上网管理等。
vCPE可以解决上述问题。vCPE的核心思想是保留CPE原有的无线接入和交换等二层功能,而用云平台的基础设施实现三层功能和业务处理功能,也就是说把三层的功能上收至网络侧。原有的CPE被分为家庭网络侧部分和云平台部分。本文把家庭网络侧保留桥接功能的实体叫做CPE-B,把CPE中位于云平台侧的具有三层网关功能的部分称为CPE-G。云平台的CPE-G采用NFV技术,用通用的x86服务器搭建虚拟化平台,为每个用户按需分配资源。然而实现CPE-B和CPE-G的连接是个难题。一方面,为了实现NAT等三层功能,CPE-B与CPE-G最好处于同一个VLAN。一般情况下,CPE-B连接的家庭网络是个二层局域网,CPE-G是位于城域网或骨干网的云端的二层网络。CPE-B连接至CPE-G的接入网络可能要跨越运营商的三层网络。在这样的情况下,CPE-B如何与CPE-G建立二层通信是个难题。另一方面,引入vCPE后,为了CPE-B与CPE-G建立通信,可能需要对原有海量CPE进行改造,工程量巨大,实现难度极高。因此如何在利旧现有的海量CPE设备的基础上,实现CPE-B与CPE-G的通信也是个难题。
业内在CPE-B与CPE-G如何连接建立二层连接的问题上鲜有研究。就目前所能够获得的研究成果中,仅BBF(Broadband Forum)的TR-315标准[3]从另外的角度讨论了CPE-B与CPE-G连接建立的问题。与本文侧重点不一样,TR-315标准研究的是采用 overlay技术连接 CPE-B与CPE-G时,AAA服务 器和 BNG (broadband network gateway)等需要满足的要求。而本文侧重于如何具体用overlay技术建立CPE-B与CPE-G的连接,同时寻求合适的隧道端点以利旧已有CPE。
本文主要针对CPE-B和CPE-G的连接问题展开研究。通过引入VxLAN和NvGRE(network virtualization using generic routing encapsulation)隧道技术,并探索合适的隧道端点,实现在利旧已有CPE的基础下,建立CPE-B和CPE-G的二层连接。此外本文总结了vCPE的标准化进展和研究进度。
CPE在接入网中的位置如图1所示,其中ITMS+(增强型终端综合管理系统)是CPE业务的部署和控制平台,也是CPE设备的远程管理平台。通过TR-069协议,ITMS+既可以实现对CPE上的数据、语音、视频等功能进行部署、管理和控制;也可以实现对CPE的远程状态管理、配置、故障管理和软件升级等[4]。EMS(网元管理系统)负责CPE的无源光纤网络(PON)接口物理层和链路层的配置和管理。
图1 CPE在接入网中的位置
采用虚拟化后,vCPE的网络拓扑如图2所示。通过把防火墙、NAT、DPI(deep packet inspection,深度分组检测)、DHCP、DNS等三层功能转移到网络侧的CPE-G,简化原有CPE网关实体的功能,并使得CPE-B支持即插即用的功能。CPE-B仅保留原有二层的Ethernet端口、VLAN端口、Wi-Fi端口和DHCP客户端等功能,特殊情况下,也可能保留少部分三层功能。
图2 vCPE示意
在本文中,基于overlay的隧道技术是指利用IP网络为underlay网络,并以二层网络为overlay网络建立隧道连接。vCPE如何跨越IP网络建立二层连接的问题可以通过overlay的方法解决,如图3所示。采用此种方法可以利用IP网络的灵活性。VxLAN技术和NvGRE技术是目前虚拟网络中应用最多的隧道技术,有着良好的应用前景。目前在宽带接入网技术方面,PON不仅具有高容量的优势,而且具有高可靠性。近年来PON技术得到了迅猛发展,是未来最为看好的宽带接入网技术[5]。鉴于以上原因,本文的接入网均以PON为例。接下来详述用于CPE-B与CPE-G连接的VxLAN技术和NvGRE技术。
图3 CPE-B与CPE-G连接示意
3.1 VxLAN技术在vCPE中的应用
VxLAN不仅可以解决VLAN号12 bit的限制问题,还可以利用IP网络固有的灵活特性[6]。应用VxLAN建立隧道的方法比较简单,对基础网络改动较小,因此本文采用VxLAN技术建立CPE-B至CPE-G的二层通信。
3.1.1 VxLAN技术的实现过程
VxLAN是一种L2 over UDP的隧道技术。与一般的隧道技术一样,都需要两端有隧道的端点。在VxLAN中,隧道的端点称为VTEP (VxLAN tunneling end point,VxLAN隧道终端),其中CPE-B侧的VTEP记为B-VTEP,CPE-G侧的VTEP记为G-VTEP。VxLAN中的VTEP存有两个可达信息MAP表,以确定上行封装过程中的目的地址,分别是VTEP L2 table和VLAN to VNID map。VLAN to VNID map将underlay网络中的VLAN号映射至overlay网络的VNID。而VTEP L2 Table是将MAC地址、VNID和所在的VTEP一一对应。因此,在上行链路VTEP封装时,通过VLAN to VNID map表,从VLAN ID查询到对方VNID,然后根据对方MAC地址和VNID得到对方所在的VTEP的IP地址;而源端,以自身所在的VTEP的IP地址为源地址,而不是用户自己的IP地址。通过这样的方式,可以完成隧道的封装。VTEP解封装时,其过程与之相反。
隧道实现过程如下。
首先,在CPE-B和CPE-G中部署VTEP后,B-VTEP把用户的Ethernet数据帧(frame)封装到UDP报文中,并送到IP网络,把这个过程称为上行链路的封装。然后,在IP网络中,经过封装的数据报文通过路由从B-VTEP传递到另一个VTEP,最后送到G-VTEP。最后在G-VTEP中进行解封装的操作,并将符合以太网格式的用户数据送到用户。把这个过程叫做下行链路的解封装操作。在这个过程中,利用VNID(VxLAN network identifier)区分不同的用户和业务。可以通过VNID实现用户/业务的精细管理粒度。VNID有24 bit的编码空间,约为16 MB,大大超过VLAN的12 bit的编码空间[6]。
3.1.2 VxLAN技术隧道端点的实现方案
可以看到,在采用VxLAN隧道技术后,需要在原有underlay网络增加VTEP,而中间的其他网络可以保持不变。此外,也可以增加SDN控制器,利用SDN控制器管理VTEP间的路由和流量控制,由于篇幅有限,本文不讨论此种方案。由于接入网络需要满足带宽需求和业务需求各异的用户,因此接入网的形态呈现多样化,很难用统一的网络满足所有用户的需求。于是VTEP的部署位置也有多种选择,以下是部署VTEP的几种方案[7]。
B-VTEP部署的方案有以下3种。
(1)方案1
将B-VTEP部署在CPE侧,保留CPE部分三层功能,更新现有CPE功能,增加VxLAN隧道功能。
(2)方案2
将B-VTEP部署在OLT侧。CPE-B仅保留二层功能,在OLT增加VxLAN隧道功能。
(3)方案3
将 B-VTEP部署在 BRAS(broadband remote access server,宽带远程接入服务器)侧。CPE仅保留二层功能,在BRAS增加VxLAN隧道功能。
G-VTEP部署的方案有以下两种。
(1)方案1
将G-VTEP部署在BRAS侧。
(2)方案2
将 G-VTEP部署在 CPE-G侧的 CPE-MUX(CPE multiplexer)内。CPE-MUX是指CPE-G的入口点,负责将CPE-B映射至CPE-G[4]。
考虑到简化CPE和利旧现有接入网络中处于路由模式和桥接模式的CPE,本文认为将B-VTEP放置于OLT侧或BRAS侧是更好的方案,相应地,可以根据实际情况将G-VTEP部署于BRAS侧或CPE-G侧的CPE-Mux。也就是说B-VTEP更适合采用方案2和方案3。原因如下。
首先,如果B-VTEP采用方案1,则需要现有处于路由模式下的CPE增加VxLAN隧道功能,且需要保留其部分三层功能。其次需要对现有的海量CPE进行升级改造或者替换,因此存在成本高和可行性差的问题。最后桥接模式下的CPE不具备三层功能,无法建立VxLAN隧道,因此无法实现利旧。
总的来说,虽然B-VTEP采用方案 1可以保持现有接入网设备不变,但存在以上的缺点,而采用方案2和方案3尽管需要改造接入网以增加VxLAN功能,但可行性更高,实现难度更小。因此本文认为B-VTEP更适合采用方案2和方案3。
虽然目前现有的CPE、OLT和BRAS等还不支持VxLAN协议,近期看来用VxLAN技术实现CPE-B至CPE-G的连接的方案成熟度还不够,但随着VxLAN应用越来越广泛并已有跨IDC(internet data center)实现二层互联互通的成功经验,长远看来,用VxLAN技术建立CPE-B与CPE-G的二层连接是未来趋势。
3.2 NvGRE技术在vCPE中的应用
NvGRE是一种L2 over L3的虚拟网络的隧道封装协议,并且也提供了24 bit的网络标识号,不受限于VLAN的4 096(12 bit)的限制[8]。基于GRE(通用封装协议)的NvGRE具有良好的兼容性,但也有弊端。为了提供描述带宽利用率粒度的流,传输网络需要使用GRE头,但是这导致NvGRE不能兼容传统负载均衡,这是NvGRE与VxLAN相比最大的区别也是最大的不足。与此同时,在实现CPE-B与CPE-G间隧道端点间的路由和流量控制时,VxLAN可以采用基于多播和泛洪的分布式方式,也可以采用集中控制器的方法,而NvGRE必须采用类似于SDN的集中控制器的方法。尽管采用集中控制器的方法具备更好的拓展性,但这需要专用的软件和硬件支持,这也是NvGRE面临的挑战之一。同样,vCPE中采用NvGRE建立隧道时,对于隧道端点的选择也有多种方式,类似于上述VxLAN中隧道端点的选择,本文不赘述。NvGRE和VxLAN均可实现CPE-B和CPE-G的二层连接,具体采用哪一种技术取决于各个厂商的利益考虑。以目前的情况来看,VxLAN应用更为广泛,应用前景更好。
目前业内正在积极开展vCPE研究。在标准化组织方面,最为积极的是BBF组织,于2016年6月份发布了vCPE技术标准[4],主要规范了vCPE技术要求和管理要求等方面。需要注意的是,业内大多处于解决方案探索和设计阶段,进展较为缓慢,需要得到解决和统一规范的问题还很多,因此vCPE离现网部署还有一定的距离。除了上文所述的CPE-B与CPE-G的连接问题,还有以下问题需要进一步探讨。
(1)安全性问题
由于CPE不再由家庭侧或企业侧一个单独的专用设备实现,而是将其大部分功能部署于云端。而云端的资源是按需共享的,不属于某个用户专用,因此遭受DoS、ALG的风险也将提高。在部署vCPE时,必须解决这些问题。
(2)实时业务QoS保证的问题
CPE网络虚拟化后,由于将原家庭LAN侧的网络协议、配置管理和控制机制上收到网络侧,一些对实时性要求较高的业务(如语音、视频等)的控制信令需要从本地发送到网络侧的vCPE进行处理,与在本地CPE处理的方式相比,此类实时性要求较高的业务体验有可能受到上下行带宽拥塞的影响,因此网络虚拟化后需要为此类业务提供专门的QoS保障机制。
(3)隐私问题
引入vCPE会使得家庭网络暴露给网络侧,网络侧甚至可以根据需要对用户流量进行镜像和分析。家庭设备不再像传统方式隐藏于驻地侧NAT功能下,因此会带来一些隐私性的问题。
(4)管理维护问题
原有CPE是通过ITMS+进行相应的远程控制、配置管理、故障管理、性能管理等。引入网络虚拟化后,会对原有的管理方式造成影响,因此需要对TR-069协议进行相应的调整。
(5)认证问题
原有的CPE设备必须通过OLT(optical line terminal,光线路终端)和BRAS的PPPoE认证才能上网,引入网络虚拟化后,可能需要定义新的业务开通流程,与传统认证方式的兼容也是个难题。
(6)交互协议问题
虽然CPE-B仅保留较简单的二层协议功能,但考虑到网络侧有远程配置、故障管理等实际需要以及部分业务的交互需要,所以需要提供CPE-G到CPE-B之间的交互协议,具体采用哪种方式与vCPE部署位置有一定的关系,还需要进一步研究[9]。
将CPE的三层功能上收至网络侧可简化CPE。这种瘦终端加云网络的架构可以降低终端投入成本,同时支持即插即用,简化用户的操作。同时对运营商来说,不仅可以管理家庭内网,减少上门服务率,降低运维成本,还能为用户提供多样化的增值服务。本文主要阐述了 CPE-B至CPE-G的连接方法,通过选择合适的隧道端点,在利旧现有桥接模式和路由模式的CPE的同时,以对现有接入网络最小的改动的代价来实现CPE-B至CPE-G的连接。本文还总结了vCPE研究进展及所遇到的问题。由于vCPE研究领域较新颖,业内还未开发出相应支持overlay技术的CPE和OLT等设备,验证CPE-B至CPE-G的连接方法的性能较为困难。因此本文仅从理论上进行了分析,未来的研究中将进行更多的实验验证。
[1]郑毅,华一强,何晓峰.SDN的特征、发展现状及趋势[J].电信科学,2013,29(7):84-88. ZHENG Y,HUA Y Q,HE X F.Characteristics,development and future of SDN[J].Telecommunications Science,2013,29(7): 84-88.
[2]ETSI.Network functions virtualization(NFV):management and orchestration:ETSI.GS NFV-MAN 001 V1.1.1[S].2014.
[3]BBF.Network enhanced residential gateway issue 1:BBF.TR-317[S].2016.
[4]中国电信集团公司.中国电信智能家庭网关技术规范: QCT2603-2015[S].2015. China Telecom Corporation.Technical specification for smart home gateway of China Telecom:QCT2603-2015[S].2015.
[5]沈成彬,王成巍,蒋铭,等.下一代PON技术的进展与应用[J].电信科学,2010,26(8):1-7. SHEN C B,WANG C W,JIANG M,et al.Progress&application of next generation PON technology [J].Telecommunications Science,2010,26(8):1-7.
[6]WEERASINGHE J,ABEL F.On the cost of tunnel endpoint processing in overlay virtualnetworks [C]//IEEE/ACM 7th InternationalConference on Utility and Cloud Computing (UCC),December 8-11,2014,London,UK.New Jersey:IEEE Press,2014:756-761.
[7]MORAVCIK M,SEGEC P,PALUCH P,et al.Clouds in educational process[C]//2015 13th International Conference on Emerging eLearning Technologies and Applications(ICETA), November 26-27,2015,Kezmarok,Slovakia.New Jersey:IEEE Press,2015:1-7.
[8]王瑾,张沛.公众客户网关虚拟化对网络运维的影响 [J].邮电设计技术,2015(2):24-27. WANG J,ZHANG P.The influence of virtualized customer premise equipment to the network[J].Designing Techniques of Posts and Telecommunications,2015(2):24-27.
扶奉超(1991-),女,中国电信股份有限公司广州研究院数据通信工程师,主要从事宽带接入网技术及其虚拟化的研究工作。
谢元宝(1989-),男,中国电信股份有限公司广州研究院移动通信工程师,主要从事LTE网络关键技术的研究工作。
Method of connection establishment between CPE and the cloud platform
FU Fengchao,XIE Yuanbao
Guangzhou Research Institute of China Telecom Co.,Ltd.,Guangzhou 510630,China
SDN and NFV technology have aroused more and more attention.The main idea of vCPE is to split the CPE into two parts and to make the L3 functions up to the network.Through this method,CPE can be simplified and the difficulty for subscribers to operate and maintain CPE can be reduced.For operators,vCPE can reduce the probability of on-site service,and can provide value-added services for subscribers.The problem of connection between the CPE and the cloud platform was studied.By using VxLAN and NvGRE,the L2 connection between CPE and cloud platform could be established,and at the same time,the change to existing huge CPEs was small.
broadband access network,customer premise equipment,software defined networking,network function virtualization,VxLAN,NvGRE
TP393
A
10.11959/j.issn.1000-0801.2016285
2016-10-08;
2016-11-11