总第13期
2018年5月刊
Practice    实践
Practice    实践
vBRAS在运营商城域网ITMS业务中的部署实践
文/陈安

ITMS (Integrated Terminal Management System, 终端综合管理系统),是指对宽带接入终端(CPE)的管理系统,实现对用户侧CPE(光猫终端、机顶盒等设备)的统一管理、业务统一分发、远程配置管理、版本管理、远程软件升级、终端状态管理、性能统计、故障诊断等功能。

在当前ITMS业务的承载网中,CPE终端通过二层连接到MSE,在MSE上开启IPoE认证(无需用户名密码),认证通过后分配IP,终端获得IP后连接到ITMS业务平台服务器,从而实现对终端的管理。在当前组网中,MSE开启了IPoE认证,为每个终端维护一个Session。由于终端数量巨大(1个宽带用户1个终端,通常是百万级),因此IMTS业务占用了大量MSE的Session资源。

对于ITMS业务而言,其业务特征是“大会话、小流量”。对于硬件形态的MSE来说,高吞吐是其优势,但是有限的Session资源常常成为短板,运营商会经常碰到吞吐还有很大空间,但Session已经满了。显然,MSE承载ITMS业务显然有点“大材小用”了。

基于x86的vBRAS则恰恰相反,得益于x86的强大计算能力,vBRAS的Session资源不再是瓶颈。通常情况下,vBRAS的Session的规格取决于CPU和内存,只要CPU和内存的资源足够,Session的规格就可以做到很大。对于“大会话、小流量”的ITMS业务而言,采用vBRAS来承载是非常合适的。

构建vBRAS资源池的ITMS承载网

城域网中MSE是分散部署的,数量相对较多,因此ITMS业务也是跟随MSE分散部署。vBRAS是软件,部署在x86服务器上,为了充分利用服务器的资源,会先对服务器进行虚拟化,并在1台服务器上部署多台vBRAS。而城域网内ITMS业务规模巨大,为了承载规模庞大的ITMS业务,需要构建vBRAS资源池。vBRAS资源池的业务承载能力与服务器资源数量相关,只要服务器资源足够,vBRAS资源池可以承载一个地市甚至是全省的ITMS业务。在实际部署时,以省为单位建设两个ITMS资源池,分担承载全省的ITMS业务,同时做到互为备份。可参考的组网方案如下:

图1 资源池整体组网解决方案

两个vBRAS资源池集中部署在某个地市,旁挂在城域网的两台CR下(资源池的出口)。对于本地市的业务,可则根据区域不同,分别由不同资源池承载,其他地市的业务,可选择相应的资源池承载。

由于资源池旁挂CR部署,使ITMS终端和vBRAS之间变成了三层组网,而ITMS业务要求vBRAS作为终端的网关,要给终端分配IP,要求终端和vBRAS之间是一个二层网络。通过引入VxLAN技术,在HJSW和vBRAS资源池之间构建二层Overlay网络,实现终端和vBRAS之间二层互联。无论是资源池所在的地市还是其他地市,均通过VxLAN构建的二层网络,将业务流量引入资源池。

vBRAS资源池旁挂CR部署,其内部组网如下:

图2 资源池内组网参考方案

基于ESTI MANO标准架构来构建vBRAS资源池,业务编排器调用NFVM和VIM创建vBRAS资源。vBRAS通过Fabric网络接入,在资源池出口部署PoolGW,Fabric为vBRAS和PoolGW提供二层通道,PoolGW作为资源池的出口和CR互连。

PoolGW是整个资源池的出口,需要屏蔽资源池内vBRAS的调整(扩容或者替换)对外部网络的影响。以vBRAS为基础进行划分,vBRAS往上是三层网络,往下则是二层网络。上行方向,vBRAS要运行BGP对外发布业务路由,若ITMS业务是在VPN内传输,则vBRAS还要运行MP-BGP。此时要求PoolGW作为RR和VPN RR,资源池内的所有vBRAS只和PoolGW建立IBGP和VPNV4邻居关系,不和CR建立邻居关系,这样就屏蔽了vBRAS的调整对CR的影响。下行方向,流量在HJSW上通过VXLAN Tunnel引入到vBRAS,此时vBRAS的调整会直接引起HJSW上VXLAN的相关配置调整。为避免这种情况,采用两段式VXLAN Tunnel的组网方案:将HJSW和vBRAS之间的VXLAN隧道拆成两段,HJSW和PoolGW建立VXLAN Tunnel,vBRAS和PoolGW建VXLAN Tunnel,由PoolGW实现两段VXLAN Tunnel的粘贴。此时HJSW只和PoolGW建VXLAN Tunnel,对vBRAS的调整不感知。

接下来介绍HJSW的业务分流功能。HJSW上承载了城域网的所有业务,需要将ITMS业务分流到vBRAS资源池,此时需要借助VXLAN的分流功能来实现。

城域网内的业务大部分都有其独立的QINQ规划,ITMS业务不例外,有自己专门的业务VLAN,即通过VLAN TAG可以唯一标识ITMS业务。HJSW通过VxLAN将数据报文转发到vBRAS,在封装VxLAN时,可以匹配ITMS的业务VLAN来封装VxLAN。无论ITMS的数据报文是单Tag还是双Tag,HJSW均可以只匹配业务VLAN来封装VxLAN,从而实现ITMS的业务分流需求。

vBRAS资源池的ITMS承载网的可靠性与备份

设备可靠性重点是PoolGW和vBRAS。PoolGW作为整个资源池的出口,可以通过IRF堆叠的方式实现高可靠,堆叠的另外一个好处是可以通过跨设备聚合的方式来确保互联链路的高可靠。

vBRAS是部署在虚机上的。众所周知,虚机的特点之一就是支持迁移。作为CT云的vBRAS资源池,网络稳定是最重要的考虑,而迁移会带来业务的震荡,同时迁移也涉及vBRAS接入网络的调整,因此在vBRAS资源池中,不采用迁移作为提高可靠性的方案。vBRAS支持IRF堆叠部署,可以选择采用堆叠方式部署vBRAS,实现vBRAS的高可靠。但是从ITMS业务角度而言,分钟级的业务中断通常是可接受的,而通过编排器生成1台新的vBRAS也是分钟级。

一种可行的可靠性方案是:若出现vBRAS单机故障,可以通过编排器迅速创建1台新vBRAS来接管故障设备的业务。在实际部署时,通常的做法是提前创建好备份vBRAS虚机,一旦出现vBRAS单机故障,则调整PoolGW的VXLAN Tunnel的配置,将Tunnel的目的地址由故障设备改成备份vBRAS,完成业务的切换。业务编排器能够对资源池内的vBRAS进行状态检测,但检测到某台vBRAS故障后,可设置策略,由编排器选择1台备份vBRAS,将业务切换到该vBRAS上。

组网的可靠性主要考虑一旦出现某个资源池故障的情形,业务如何快速切换到另一个资源池,即资源池间的业务备份问题。在正常的情况下,两个资源池的业务是负载分担的,由HJSW选择某个资源池,即选择对应的PoolGW建立VxLAN Tunnel,将流量导入到该资源池。可见,HJSW的VxLAN Tunnel配置是决定流量到哪个资源池的关键。若出现某个资源池故障,修改HJSW的VxLAN Tunnel配置,将Tunnel的目的地址改成正常资源池的PoolGW地址,并由PoolGW选择vBRAS虚机资源。一般来说,资源池内的vBRAS虚机不会空余很多,不能承载另一个资源池的所有业务,因此需要通过编排器增加足够的vBRAS虚机资源。

vBRAS资源池部署中的一些细节考虑

vBRAS部署在服务器上,因此选择什么样的服务器至关重要。服务器的选择主要考虑CPU和网卡,内存和硬盘等相对来说并不是非常关键。

目前部署的vBRAS通常是8vCPU类型,因此服务器的CPU核数至少是8核以上,主流常见的CPU有两路24核(每路12核)或者四路48核(每路12核)。以两路24核的CPU为例,通常部署两台8vCPU的BRAS,即每路部署1台vBRAS,这样每路剩余4核用于跑虚拟化软件。不建议在两路24核的CPU上跑三台vBRAS,如果跑三台vBRAS,此时虚拟化软件就会抢占vBRAS的cpu资源,导致vBRAS的性能变差。

为了保证vBRAS能够稳定运行,并在一定程度上提高vBRAS的性能,通常要求将vBRAS的vCPU和物理核进行绑定,确保vCPU不会“飘来飘去”(即在不同的物理核上跑)。vBRAS是运行在虚拟化软件上,因此需要在虚拟化软件上完成CPU绑定操作。

服务器自带的网卡一般是千兆类型,因此通常会选配万兆网卡来跑业务流量,推荐使用支持SR-IOV的网卡,这种网卡可以提高vBRAS的吞吐性能,例如Intel的82599网卡,该网卡包含两个万兆口。实际部署时,一台vBRAS独立占用1块网卡,两个网口分别用于上行和下行。若服务器部署了两台vBRAS,则需要安装两块82599网卡,分别给两台vBRAS使用。

在线路调整或者切换割接时,往往会出现终端在vBRAS上批量上下线的情况,由于终端数量庞大,这种突发冲击对vBRAS而言是不小的压力。为缓解批量上线的压力,需要对终端的上线速率进行控制,避免出现响应不及时导致终端重复上下线的问题。

ITMS采用IPoE认证,对于vBRAS来说,需要维护所有终端的Session信息,要求终端必须是“活着”的,但在正常运行过程中,终端和服务器之间并没有太多报文交互,不能保证有足够的流量来让vBRAS维持相应的Session而不老化。因此需要在vBRAS上开启终端保护探测功能,为兼容不同类型的终端,采用ARP探测方式,确保Session不老化。

根据当前的方案,PoolGW实现两端VxLAN Tunnel的粘贴,实现将来自HJSW的VxLAN Tunnel数据在到vBRAS的VxLAN Tunnel里转发。这种转发本质上还是数据包的二层转发,要求PoolGW学习终端和vBRAS的MAC,由于终端数量庞大,很可能超出设备的MAC规格限制,因此需要在相应的Tunnel里关闭MAC学习,确保MAC表规格足够。不学MAC后,报文将以广播方式转发,而ITMS业务流量相对较小,在设备的广播吞吐性能范围内,广播的转发方式是可以接受的。

另外,网管是运营商网络重要的组成部分,不可网管也就意味着不可运维,而可运维是方案或者产品能够实际部署的关键一步。对于vBRAS资源池而言,除了以传统SNMP和syslog与运营商现有网管系统对接外,服务器、虚拟化等新形态的网络资源也需要被管理。限于篇幅这里不再赘述。

结束语

当前,在“大会话、小流量”业务场景中,vBRAS毫无疑问是足够胜任的。而随着NFV技术的成熟和网卡性能的提高,vBRAS除了session能力强外,吞吐性能也越来越高。由10G到40G再到100G,相信在不久的将来,“大流量”的业务场景中,vBRAS也将得到广泛应用。

面向未来,网络重构的浪潮必将席卷整个运营商网络。

分享到
关闭