济群IT服务|派克斯专网

技术资讯
网站首页 > 技术资讯

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

2016-03-22 22:29:27 济群IT服务|派克斯专网 阅读

SDN(Software Defined Network)思想方兴未艾,各种新型技术架构、标准组织、协议规范不断在产生,发展和完善,为“软件操控网络”奠定了基础。

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

与此同时,传统网络设备正在逐步更新体系架构和软\硬件,增强对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在运营商骨干网部署过程中也存在诸多挑战:

部署难度大

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

可靠性、扩展性要求高

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

运维体系压力大

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

Internet流量调度SDN部署实践

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

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

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

图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所示。

图2 BGP TE controller系统架构

图2 BGP TE controller系统架构

  • 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部署中的诸多关键难题,使其部署和使用变得更加平滑。

 

使用微信扫描下方二维码关注济群IT服务官方微信(也可微信搜索:Jiquninfo或济群IT服务)。
 

1526381435936715.png       1526381064848586.png


济群IT服务|派克斯专网 服务专线:400-690-1812