APP下载

中国运营商互联网SDN部署实践

2015-03-16思科网络服务公司高级服务部SDN网络软件架构师王逊肖鹏常贺石林

通信世界 2015年9期
关键词:骨干网路由器路由

思科网络服务公司 高级服务部SDN网络、软件架构师 | 王逊 肖鹏 常贺 石林

江苏电信网络操作维护中心 高级工程师 | 束栋

中国运营商互联网SDN部署实践

思科网络服务公司 高级服务部SDN网络、软件架构师 | 王逊 肖鹏 常贺 石林

江苏电信网络操作维护中心 高级工程师 | 束栋

BGP TE controller利用SDN思想,将多种新型技术架构和传统BGP协议相结合,在保护原有网络投资和最大限度保持原有运维体系的基础上,成功实现了互联网流量操控,是中国运营商SDN部署的一次有益实践。

SDN(Software Defined Network)思想方兴未艾,各种新型技术架构、标准组织、协议规范不断在产生,发展和完善,为“软件操控网络”奠定了基础。与此同时,传统网络设备正在逐步更新体系架构和软硬件,增强对SDN的支持。在应用领域,SDN已经在以Google为代表的OTT进行部署,引起了广泛关注。OTT通过操控数据中心产生的业务流量,大幅提高骨干网链路利用率,节省了可观的带宽租用费用。但是在传统运营商互联网领域,由于流量成分复杂、网络规模庞大,鲜见成功先例。

本文介绍了基于SDN方式在运营商网络上对互联网流量调度的一次尝试,使用的是BGP流量调度控制器(BGP TE controller)。BGP TE controller融合了SDN理念,针对运营商互联网流量调度的特点和需求,以开源架构Open DayLight为基础,实现了对BGP流量的调度。该控制器已经在国内某运营商骨干网成功部署,实现网络和特定业务的平稳运行。这是国内首次通过SDN技术对互联网流量进行调度,是SDN在运营商骨干网商用的一次成功实践。

背景

2009年Martin Casado领导的项目组定义了Openflow协议,掀起了SDN的浪潮。随着近些年蓬勃发展,SDN思想已经超越了Openflow协议本身,向可编程设备、可编程网络的方向演进。

可编程设备是指支持编程语言(python、java等)通过API控制其正常运行的一类设备。这里的API也称为SDN控制器南向接口(设备北向接口),可以是设备厂商自定义的API(如:ARISTA公司 EAPI,或者思科公司的OnePK等),可以是开放SDN协议(如:Openflow 1.0/1.3、OpFlex、Netconf/YANG)访问接口,也可以是设备命令行接口(CLI)或标准路由协议(如BGP、IGP)会话等。

可编程网络是指使用SDN控制器对整个网络进行抽象、仿真、调度、监测的网络。业务应用通过调用SDN控制器北向接口对整体网络进行操控,实现业务保障、流量优化等目的。

近年来SDN控制器发展十分迅速,其中开源控制架构ODL(Open DayLight)便是其中的主要代表。ODL成立于2013年4月,由Linux Foundation管理,其成员包括IBM、思科、华为、中兴等30多家公司。ODL可以支持包括Openflow、Ovsdb、Netconf、BGP、PCEP等多种控制器南向接口。

Internet流量调度需求和挑战

通过SDN的部署,运营商可以实现快速、灵活业务部署,加速业务创新,优化流量模型,操控关键业务流量,充分利用运营商的管道资源,大幅提高运营商竞争力。

在流量调度方面,运营商通常采用BGP策略实现。常用的做法是运维人员登录到路由器上手工调整BGP路由策略,改变特定业务的流量流向。这样做费时、费力、实时性差、可靠性低。为了实现复杂网络环境中的实时、自动流量调度,必须使用专用的流量调度系统。在SDN场景下,可以利用网络的可编程特性实现上述功能。通过部署流量调度系统,将运营商、OTT服务商的互联网出口带宽资源池化,根据调度策略灵活、高效地进行流量分配,从而最大化利用现有的带宽资源,由“运维”向“运营”的方向转变。

在SDN应用场景中,运营商对互联网流量调度的需求可以总结为如下几点:

● 采用灵活、敏捷的调度方法,支持实时、动态流量调度;

● 使用开放、成熟的技术体系,尽量兼容现有设备,减少软、硬件升级和二次开发风险;

● 具备横向扩展能力,支持大规模网络;

● 可用性高,避免单点故障,控制器对网络的影响可控;

● 具备可视性,方便运维人员的维护、排障工作;

● 操作可回溯,发生异常之后可以快速回退。

不过,SDN在运营商骨干网部署过程中也存在诸多挑战:

● 部署难度大

运营商骨干网规模大、设备类型和数量多,对S D N支持水平不一致。诸多新型协议栈如Openflow、OVSDB、Netconf等,需要对现网设备进行硬件更新、软件升级后才能支持。再加上SDN发展迅猛,新技术层出不穷,协议版本快速迭代,对设备的兼容性、互操作性要求不断提升。因此,全网实施SDN不仅难度大,而且还会进一步推高设备部署、维护成本。

● 可靠性、扩展性要求高

运营商骨干网设备数量多,涉及厂商多,国内三大运营商Internet骨干网及其海外网络设备数量从100到300台不等;大量的网间互联导致BGP peer数量庞大,中国电信与中国联通的网内互联以及运营商网间互联的BGP peer数量大约在500左右;Internet骨干网路由表项逐年增加,目前已经突破55万条。SDN技术必须要在如此大规模路由条目和设备数量条件下,实现可靠、平稳地操控。

● 运维体系压力大

网络运维体系是保证运营商提供服务的关键之一,它由3个主要元素组成——人、工具、流程。由于SDN引入了编程语言、API、DevOps等要素,对于传统运维人员来讲,知识更新会是一个很大的挑战;新技术的引入还将对现有OSS体系形成较大冲击,需要引入新的工具、流程,以及积累新的运维经验;此外,SDN的引入必然使得网络更加智能、更加自动化,因此服务的开通时间、事件的响应时间将会大大缩短,而这些都会对传统的运维流程产生较大影响。

图1 国内某运营商城域网结构示意图

Internet流量调度SDN部署实践

(一)国内某运营商流量调度需求

图1中的国内某运营商城域IDC(BGP AS号yyy)包含多台路由器,分属不同厂商,每台路由器包括十多条链路,分别与Internet骨干网接入路由器、城域网核心路由器、运营商IDC 路由器等多个路由器建立BGP互联关系。上述链路的接口类型、链路带宽、带宽利用率和扩容条件差异较大。

本次流量调度的目的是动态调整城域网IDC出口路由器的流量转发策略,BGP策略变更时减少对路由器配置的修改,同时在重大网络活动期间(例如“双11”)保障关键资源的访问(例如“OTT网站”)。

在上述提及的场景中,所涉及的IDC路由器有多个eBGP Peer连接到Internet骨干网,每个peer都有1条或者多条10G链路,缺省情况下去往互联网的流量分别通过多个Peer进行转发,峰值链路利用率都在80%以上。在BGP策略变更时往往需要通过多个维护窗口进行设备配置的修改;并且由于传输条件的限制,部分链路不能及时扩容,在重大网络活动期间,流量快速增加,导致端口拥塞、服务质量下降。使用手工进行BGP流量调度,网络节点和链路数量多、约束因素多、连接复杂,因而费时费力。

(二)BGP TE Controller设计实现

根据该运营商互联网流量调度具体需求,结合SDN思想和技术标准,我们设计并实现了BGP TE controller。BGP TE controller南向接口采用BGP协议、BGP flowspec、Openflow v1.3,北向提供RESTful接口和用户APP连接,系统架构如图2所示。

● Collector:通过BGP协议、BMP(BGP Monitoring Protocol)协议,收集BGP、IGP路由系统的邻居状态、路由信息。

● Injector:根据策略引擎发送的转发条目,进行环路检测、适配之后调用BGP协议栈发送BGP路由或者ODL RESTful接口发送Openflow条目到路由器上。南向接口目前已经支持BGP、BGP flowspec和Openflow 1.3。controller可以根据系统负载自动调整injector的数量,做到横向扩展。

● Monitor:可视化监控系统,通过对BGP系统进行实时监控、记录,帮助运维人员维护BGP TE controller系统。

● Policy engine:根据用户指定的转发策略生成转发条目,并通过RESTful接口将转发条目下发到BGP TE controller上。

安装了BGP TE controller的虚机被部署在运营商内部的云环境之上,通过IBGP协议和Openflow协议分别连接到城域IDC路由器上和运营商骨干上,这样BGP TE controller可以按照用户指定规则通过BGP、Openflow分发相应的转发策略,调度IDC出口路由器向指定的保障链路和eBGP peer发送流量。

通过BGP TE controller提供的API接口,运营商可以根据需求实时、动态调整每台IDC出口路由器的转发策略,从而避免了人工配置BGP策略带来的隐患,而且BGP协议兼容多厂商的设备,无需对现网设备进行硬件、软件升级;对于现网能够支持Openflow设备,BGP TE controller可以通过Openflow驱动路由器,替代传统的PBR(Policy based Routing)功能,通过 API的调用,可以方便、快速地修改转发策略。

BGP TE controller具备以下特点:

● 部署复杂度方面

BGP协议是运营商网络设备上最成熟的协议之一,Internet骨干网所有路由器均支持该协议,互操作性非常好。使用BGP协议作为南向接口,不需要对现网设备的硬、软件进行升级即可进行SDN部署,大大降低了SDN的部署难度和成本。

● 高可用性和扩展性方面

用户的APP同时连接多个BGP TE controller;特定网络设备与多个controller建立BGP peer;每个controller向特定路由器发送相同路由条目,单台controller故障对路由器没有影响,由此实现了controller层面的冗余。多个BGP TE controller之间不需要任何心跳、数据库同步的动作,大大简化了系统设计,提高了软件的可靠性。多个controller采用Linux Container模式部署,通过虚拟化实现扩展性,支持大规模网络。在工作时,特定路由器中除了被操控的路由外,其他所有路由表项不受影响,仍然按照BGP协议运行原则自主运行,从而最大限度地确保controller对网络设备的影响被控制在一定的范围之内。BGP TE controller实现了高可靠性、高稳定性、高扩展性等关键特性。

● 运维体系方面

运维人员对BGP协议非常熟悉,传统的知识体系可以得到沿用,而且运维流程变化较小,对OSS的改造也比较简单。

综上所述,BGP TE Controller解决或规避了SDN部署中的诸多关键难题,使其部署和使用变得更加平滑。照控制器的策略进行流量转发。

图2 BGP TE controller系统架构图

图3 BGP TE controller部署拓扑图

对于重大事件保障的场景,通过BGP TE controller,用户将一条或者几条链路作为专用保障链路,去承载需要保障资源的流量,其余链路承载其他流量,例如该运营商在对某OTT网站“双十一”期间的流量保障,其基本调度策略如下所示:

● BGP TE controller发送和OTT网络相关路由,并且将该路由的出口指向特定路由器上的专用保障链路。

● 指定的路由器作为BGP peer接收到controller发出路由,然后按照该路由进行转发,实现OTT网络流量和其他互联网流量的分流。

● 如果去往OTT网络的流量持续增长,到达设定门限时,BGP TE controller可以动态地将更多链路纳入保障链路。

● 当特定路由器上链路资源不足时,通过BGP TE controller可以将OTT网络流量调度到其他路由器,并在新指定的路由器上开辟新的保障链路。

● 在保障结束后,controller可以自动或者人工撤销对路由策略的下发。

该控制器在该运营商骨干网中进行了成功部署,并取得了预期效果。SDN技术用于大规模互联网流量调度在国内尚属首次。

(四)演进方向

I2RS(Interface to the Routing System)框架的标准化目前正在迅速发展当中,controller可以通过标准化的I2RS接口直接收集、修改设备的转发表,从而实现更加灵活的调度策略;目前版本的ODL尚未支持BGP路由下发功能,当前的实现方式是通过ODL下发Openflow策略;随着ODL支持的南向接口不断丰富、成熟,如对BGP、I2RS等的支持,BGP TE controller会向以开源SDN controller ODL为基础,以BGP、Openflow、I2RS为南向接口的方向逐步演进。

结束语

(三)国内某运营商流量调度策略

对于BGP路由策略变更的场景,根据路由策略通过API调用BGP TE controller向指定的设备发送相关的BGP路由更新,使得由控制器发送的路由成为最佳路由(BGP best path),这样目标设备便会按

SDN的部署可以助力运营商加快业务创新,提高网络资源利用率,优化业务体验,增强市场竞争力,逐步实现从“运维”到“运营”的演进。本文介绍的BGP TE controller利用SDN思想,将多种新型技术架构和传统BGP协议相结合,在保护原有网络投资和最大限度保持原有运维体系的基础上,成功实现了互联网流量操控,是中国运营商SDN部署的一次有益实践。随着SDN产品、技术的不断完善,可以预见未来更多符合中国运营商应用场景和运维体制的新方案、新产品将不断涌现。

猜你喜欢

骨干网路由器路由
买千兆路由器看接口参数
有轨电车信号系统三层骨干网传输方案分析
探究路由与环路的问题
NGB骨干网中QoS 保证实现机制研究
你所不知道的WIFI路由器使用方法?
OTN和PTN技术在高速公路骨干网中的应用
通过骨干网对接入网业务进行保护的探讨
PRIME和G3-PLC路由机制对比
WSN中基于等高度路由的源位置隐私保护
eNSP在路由交换课程教学改革中的应用