本文向您展示了如何在银行业部署基于BGP协议的广域网流量调度的SDN控制器。内容简洁易懂,一定会让你眼前一亮。希望通过这篇文章的详细介绍,你能有所收获。
在真实用户环境中部署标清广域网解决方案时,经常会遇到以下问题:
需要购买新的硬件或软件CPE。虽然这一费用相对于购买传统设备有一定程度的节省,但接下来的人员培训、系统集成等费用也是不小的开支。
如何充分利用现有网络资源保障现有设备投资?
当调度器或SDN控制器出现故障时,如何充分利用现有网络资源提供一条逃生路线?
介绍了一种基于BGP协议的BGP热电控制器。Te controller集成了SDN概念,优化了企业和银行流量调度的特点和要求。通过BGP Flowspec协议发送流量调度策略,将流量调度到相关端口,通过BGP网段路由策略优化流量通过网络的路径。底层网络可以是用户现有的网络设备,通过软件升级支持流量规范和分段路由。该控制器已成功部署在国内某银行骨干网,实现了网络和特定业务的流量调度。
背景
可编程网元设备作为SDN网络的基础组件,需要提供不同层次(控制平面和管理平面)的API接口。SDN控制器通过这些API接口收集网络拓扑、资源信息和流量信息。基于这些信息,SDN控制器可以对网络进行抽象、模拟、调度和监控。自动网络编排系统通过SDN控制器的北行API接口操纵网络模型,从而完成网络服务的编排。可编程设备的基本模型如下图所示:
BGP Flowspec
如果需要根据IP数据包的七元组(源和目的IP地址、源和目的端口号、协议号、QOS标记和接口索引)来确定如何转发流量,传统方法是在路由器端口上配置PBR(基于策略的路由)。Flowspec是BGP IPv4地址族中的扩展地址族,可以封装用户的策略:待匹配的流量信息(如IP包的七元组)和匹配后要采取的动作(限流、重定向、更改QOS标签等)。),然后通过BGP发送到目标设备,从而无需配置设备,通过Flowspec实现PBR功能。具体功能见RFC5575[1]。
BGP Link-state
为了实现流量调度,控制器需要知道网络拓扑信息(网络节点、链路互联)、网络资源信息(节点、链路带宽等相关属性)。该信息通过IGP(OSPF/ISIS)协议传输,控制器需要加入IGP域或通过命令行登录设备来收集相关信息。这些方法不仅实现复杂,而且时效性差。BGP Link-state是BGP协议中的一个新的地址族,可以将实时网络拓扑和资源信息封装在IGP协议中,通过BGP传输给控制器。具体功能详见RFC7752[3]。此外,另一个新的rfc草案[4]可以通过BGP链路状态将每个服务请求策略的运行状态传输到控制器。
通过以上三种协议的扩展,使用单一的BGP协议就可以实现网络和资源信息的收集、流量调度策略的分发以及策略执行状态的反馈。此外,BGP监控协议可用于通过带内或带外网络实时监控设备中BGP的运行状态。此外,互联网对BGP的稳定性、可扩展性和多厂商互操作性进行了20多年的测试,现代BGP完全可以承担SDN底层控制协议的重任。
国内某银行广域网流量调度需求及挑战
某银行广域网设计为两地三个数据中心,自建骨干网。区域中心通过三条wan链路就近接入骨干网接入节点,传输链路租用国内三家运营商的线路,如下图所示:
简化的主干和分支网络模式如下图所示。
控制器怎样在银行业部署实践">
骨干网设计有三个逻辑平面,每个平面由多台核心以及接入路由器通过广域网线路互联组成,平面间有若干条广域网线路互联;骨干网运行OSPF协议,通过OSPF metric的调整正常运行条件下避免流量穿越平面;分行网络通过三台路由器就近连入骨干网,分行路由器间运行OSPF,与骨干网之间运行eBGP协议,通过eBGP协议的路由策略调整,三台路由器的到DC1,2,3的流量分别穿越平面1,2,3。
该用户的流量调度需求如下:
-
易学、易用、可控
尽量使用用户熟悉的网络技术,最大程度上降低用户学习曲线;同时需要有良好的用户操作界面,使得运维人员容易上手操作;调度策略的运行状态、效果应当清晰可见,方便运维人员管理控制,在控制器发生故障的情况下,需要利用现有网络协议作为逃生通道,避免因控制器脱网导致流量异常转发或者黑洞。
-
设计、部署难度大
该用户骨干网设备类型和数量较多,诸多新型协议栈如Openflow、Netconf、PCEP等,需要对现网设备进行硬件更新、软件升级才能支持。而且SDN发展迅猛,新技术层出不穷,协议版本快速迭代,对设备的兼容性、互操作性要求很高。
由于部分广域网链路租用了运营商的MSTP,MSTP线路会出现抖动的状况,因此控制器不仅需要快速感知网络拓扑的变化,而且要有效的处理链路抖动的场景;但如果完全依靠SDN控制器对实时的网络拓扑变化进行策略的调整,网络的运行对控制器的压力、依赖性会很大,控制器本身很够可能就变成了性能瓶颈,因此要充分的利用网络设备本身的处理能力与控制器各司其职;
上、下行流量走相同的路径这个需求比较挑战性,众所周知网络设备是按照逐跳转发的机制处理每一个IP包并不会识别某一对通讯端点的上下行流量,需要生成双向的流量调度策略才可以保证上、下行的流量走相同的网络路径,并且不能只按照基于目的地址的方式调度而是需要按照源、目的地址组合的方式进行流量调度
为了提供逃生通道,当控制器在线时,控制器发送的调度策略在目标设备上需要有最高的优先级,一旦控制器失联则网络设备需要删除控制器发送的策略并转换成为按照设备的路由表转发的方式,在这种方式下控制器的作用是对网络资源使用的优化,即:控制器的集中控制和网络设备分布式控制结合的方式,而不是类似Openflow的方式将控制器变成了网络的神经中枢。
-
与骨干网BGP RR(Route-reflector)的会话,启用了BGP Flowspec地址族,用于实时收集骨干网拓扑、资源信息
-
与分行的iBGP 会话,只启用了BGP Flowspec 地址族,根据IP的7元组将流量调度到与骨干网互联的广域网链路
-
与骨干网PE的iBGP会话,启用了BGP Flowspec以及SR-Policy地址族,将用户流量调度到不同SR-TE的路径上,从而实现按照用户指定SLA(时延、带宽、链路费用)穿越骨干网的需求
BGP TE控制器的基础使用场景如下图所示:
用户需要将分行1(IP地址a.a.a.0/24)R1路由器上到DC1的业务流量(IP地址b.b.b.0/24 应用端口:ccc)从平面1调度到平面2,业务需求走最小时延的网络路径。为了读者看清策略工作的原理,以下说明中对策略进行了一定的简化:
1. 控制器生成并下发两条SR-Policy策略
控制器通过BGP-LS收集网络拓扑和资源信息,并且按照用户的策略配置计算出从PE2到PE4的双向SR-TE Policy同时计算出位于平面2的保护路径,通过BGP SR-Policy将该策略下发到PE2和PE4当中(图中绿色粗线条),这样一旦在平面2中的主路径发生故障,路由器可以将流量快速的切换到保护路径上
2. 控制器生成并下发两条Flowspec 策略:
a. 策略1:匹配流量(源IP:a.a.a.0/24, 目标IP:b.b.b.0/24,目标端口:ccc),将流量重从定向到PE2。该策略通过Flowspec发送给R1
b. 策略2:匹配流量(源IP:b.b.b.0/24,源端口:ccc,目标IP:a.a.a.0/24),流量重从定向到PE2。该策略通过Flowspec发送给PE4
当流量进入R1当中,路由器根据Flowspec策略对IP包进行检查,如果不匹配Flowspec的条件则按照路由表进行转发,如果匹配了Flowspec的条件则将该数据包转发给PE2;数据包到达PE2后则进入SR-TE Policy通道到达PE4;在PE4上IP包按照本地路由表转发到DC1内部相关的路由器;下行流量与上行流量基本相同,这里就不再重复了。
由于双向的SR -TE Policy是通过控制器计算出来的,并且在流量入网的两端通过Flowspec限制了只有符合策略要求的流量才可以进入到相关的Policy,保证了双向流量穿行相同的网络路径。
当骨干网拓扑发生变化(如:广域网链路中断,或者路由器离线等)的处理:
通过BGP-LS控制器可以收集到实时的网络拓扑,控制器可以根据最新的网络拓扑计算并更新已经发布的Policy
当出现链路抖动的时,控制器会抑制策略更新的时间,在检测到链路稳定一段时间后再将新策略发送给相关路由器,从而避免了链路抖动对策略的稳定性带来的影响
当路由器收到了Flowspec、SR-Policy策略时,该策略是否能对流量生效还看该策略是否能通过路由器的有效性检查,例如:在上面例子中的Flowspec策略1,如果重定向的目标IP地址(PE2)无效的话(例如:分行连接PE2的链路中断、PE2下线 等),该策略就不能通过路由器的有效性检查,这个策略也就不会对流量产生任何影响。充分利用了这个机制的,控制器就不需要对任意网络的事件实时作出响应,如上例所示,如果当Flowspec策略1刚刚下发时PE2是有效的,策略1通过了路由器的有效性检查于是就可以对穿过路由器的流量进行调度;当网络运行一定时间后,由于故障导致PE2不可达,路由器会第一时间检测出这个事件的发生并且立刻将策略1变为无效状态,此时流量到达R1后会按照路由表进行转发,从而把网络的变化对流量的影响降低到了最低;而控制器检测到该事件的发生的时间会滞后于路由器几秒钟,控制器会重新计算相关的策略然后将新策略下发给相关设备;
BGP-TE控制器通过双向控制体现了SD-WAN的灵活性,实用性,必要性。不仅仅基于IP,而是可以基于应用端口的流量控制是很多金融行业客户的实际需求。目前市场上很多基于策略的SD-WAN解决方案,如IWAN,VIPTELA,VECOLOUD等需要通过策略实施逐跳控制,在存在核心网等多跳环型组网下,策略的配置和维护复杂。基于BGP协议的SD-WAN解决方案完美的将接入侧基于应用识别的策略控制和核心网MPLS TE技术结合,非常简洁的实现了金融用户复杂的流量控制需求。
SDN的部署可以助力银行网络加快业务创新,提高网络资源利用率,优化业务体验,增强市场竞争力,逐步实现从运维到运营的演进。本文介绍的BGP TE controller利用SDN思想,充分利用BGP协议的多种扩展技术(如:BGP Flowspec、Segment Routing Policy),在保护原有网络投资、最大限度保持原有运维体系基础上成功实现了广域网流量调度功能,是国内银行广域网流量调度SDN部署的一次有益实践。
上述内容就是BGP协议的广域网流量调度SDN控制器怎样在银行业部署实践,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/55816.html