北京凯发娱乐科技有限公司
地址: 北京市海淀西三环北路50号豪柏大厦C2座18—19层
电话: 010 - 88518768
传真: 010 - 88518513
网站: www.microshield.com.cn
邮件:ms-gb@microshield.com.cn
邮编:100048

金融行业QoS解决方案

金融行业广域网一般模型

  随着国内金融行业的迅猛发展,信息化已经成为支撑和促进金融行业稳定快速发展重要的基础,金融行业的数据大集中也成为一种趋势。数据大集中以后业务处理由分支机构定期向上级机构汇总转变为业务处理终端实时上报数据到总部,所有业务数据统一存放在集中的几个数据中心内,一般实践中都会采用两地三中心的容灾架构。数据大集中意味着统一管理,减少重复建设,数据的实时性,一致性和安全性得到保证,新业务的开发实施变得更为方便快捷。另外由于企业内部数据得到了有效整合,通过云计算和数据挖掘等技术可以在海量数据之上再进一步归纳分析,从而对企业和行业的各种决策提供数据参考。

 

  另一方面,数据大集中导致业务形态改变也对网络提出了新的挑战,具体包括集中存放的大数据的安全性和可靠性对网络设计带来的挑战;省级分支机构和市级分支机构通过广域网链路上传数据到数据中心时,有限的网络带宽资源和众多业务系统对带宽的需求之间的矛盾等等。广域网系统的健壮,安全和服务保障能力变得越来越重要, 本文档专注于介绍广域网的服务质量保障手段.

 

  金融行业的广域网一般是指租用运营商传输资源建设的,用于连接地理上分散的企业总部,总部数据中心和各级分支机构的专有网络,其链路类型一般为点到点链路,常见的链路形态包括ATM PVC, E1,MSTP等。以银行为例, 其广域网一般由营业网点,一级分行和总行三级节点组成。营业网点一般采用双E1线路或双MSTP线路双归上联至一级分行,一级分行一般采用双ATM PVC链路双归上联至总行核心路由器,为了提高链路使用效率, 两条上行链路之间一般采用基于业务的负载分担方式, 即办公业务选择一条上行链路, 生产业务则选用另一条上行链路, 通过路由设计使不同业务选用另一条上行链路作为备选的次优链路。

  图一金融行业广域网拓扑示意图

 

金融行业对服务质量保证的要求

 

  对于具体业务而言,网络服务质量表现为三个方面,即带宽,延时和抖动,网络设备则通过队列调度优先级,以及对接口带宽和缓存资源在队列间的分配来保障这三个指标。不同的金融业务对网络服务质量的要求并不一样,有的业务比如VOIP业务,对延迟和抖动很敏感,但能容忍少量包丢弃,有的业务则只需要保障一定的带宽,对延时和抖动不敏感。

 

  由于金融业务的重要性,一般情况下当业务规模接近链路带宽上限比如80%的时候用户就会进行带宽扩容, 这意味着正常状况下广域网链路不会阻塞,QoS策略也不实际生效。但是当双上行链路中的一条出现故障时, 所有业务都会收敛到单条链路上, 由于业务叠加可能导致上行链路阻塞, 这时需要通过技术手段来保障关键业务,在广域网设备上事先部署的QoS策略就会发挥巨大的作用。

 

CoSvs.QoS

 

  CoS(Class-of-Service)QoS(Quality-of-Service) 这两个词经常被混用,但两者其实并不一样。QoS是特定网络节点在拥塞时用于管理和分配带宽资源的工具集,而CoS则用于描述业务对服务质量的具体要求比如优先级,时延和抖动等。可以说QoS是用于管理网络资源来确保达成CoS目标的手段。本文也遵循这一习惯使用这两个词汇。

 

QoS部署前言

 

   对于QoS规划人员来讲,具体进行QoS规划之前时要了解两个前提

  1. QoS并不能创造带宽

QoS不能凭空生成带宽,只能通过在不同业务之间调配资源来保障一些业务,而代价则是损害另一些业务,所以当网络里拥塞成为常态时(IP网络通过统计复用来提高带宽利用效率不再有效时),网络管理员的第一要务是升级网络带宽而不再是调整QoS策略。

  1. QoS不是单个节点的行为,要在整条路径上部署才有效

要想保障用户业务端到端一致的QoS体验,QoS策略就需要在全网部署。只在一个节点部署QoS往往是无效的,因为在这个节点实施QoS策略产生的效果会被下一个无QoS策略节点的行为所覆盖。有一种情况例外就是当全网只在一个特定节点存在拥塞时。

 

DifferServ区分服务架构及Juniper实现

 

   今天的网络已经都统一在IP协议族的大旗之下,网络里承载的各种业务,包括各种各样的金融业务都承载在IP协议上,IP网络是基于统计复用的网络,不像传统基于电路交换的网络如电话交换网,IP网络会由于业务突发而拥塞。而IP协议设计之初并没有充分考虑过QoS处理,其不具备区分对待不同业务的能力, 换句话说IP协议从本质上来说是一个公平的协议, 它会尽力而为(Best Effort)且一视同仁地传输所有业务直到资源耗尽, 网络拥塞。当网络拥塞时, IP协议也会一视同仁的对所有业务报文进行丢弃, 通过这些报文的丢弃来触发TCP或应用内建的流控机制来调节相关业务数据流的发送速度。

 

  对于金融业务来说,各种业务之间却是不平等的,并不希望得到一视同仁的对待。例如有需要优先保障的各种生产业务以及可以容忍延迟和丢包的办公业务,与此对应也就要求承载金融业务的底层网络对不同业务提供不平等的保障,这种人为的不平等是通过网络设备的各种QoS手段来具体实施的。

 

  当前网络设备的QoS基本都是按照RFC 2475“Architecture for Differentiated Services”及其相关的一系列IETF 规范实现的。

 

  DiffServ体系架构的目的是为多个达成一致流量管理策略且连续的Differentiated Services Domain(又统称为Differentiated Services Region)来提供可扩展的服务质量保障, 它由在网络节点上实现的一整套功能集组成,主要包括业务分类(Classifiers), 流量调节器(Traffific Conditionals),逐跳转发策略(Per-Hop Behavior)和包头标记/重标记(Marking/Re-Marking)功能等。流量调节器中又包含流量测量(Meters),标记(Markers ),流量整形(Shapers)和丢弃管理(Droppers)四部分。DiffServ体系希望只在网络的边界节点上实现复杂的分类和调节功能,并通过在IP包头的 DS 字段做有限的标记来聚合林林总总的流量分类,从而减少下游沿途网络节点需维护的状态信息,下游沿途各网络节点继续根据头端节点所做的标记对有限的流量分类采取合适的逐跳转发策略。

 

  Juniper全系列网络设备包括交换机,路由器和防火墙产品线都集成了相同的,基于DiffServ规范架构的服务质量保障工具集。为助力金融企业在广域网上实施完整的DiffServQoS策略,Juniper解决方案的基本步骤包括业务分类(classifier)与队列分配,限速(policer),队列调度(scheduler),包丢弃策略和包标记或标记重写(mark/remark)等。

 

业务分类(Classifier)

 

   业务分类(classifier)主要有两种方式:一种分类方式是基于数据包头多个特征字段的组合,比如IP包头的源地址,目标地址,端口号,协议号等信息组合,这种方式被称为Multi-Field(MF) Classifier。另一种是基于事先约定按照数据包头的标记(如DSCP或802.1p等)来进行分类,这种方式被称为Behavior Aggregate (BA) Classifiers,BA Classifier只适用于上一跳设备可被信任的环境。

 

  MF Classifier适用于部署在网络入口处,因为上一跳设备隶属别的网络,其包头标记比如DSCP或802.1p等不可信任,或是上一跳设备只是一台主机,而主机操作系统目前还缺乏标记数据包的成熟手段。因此在业务刚进入网络时,网络入口处第一跳设备会使用Multi-Field(MF) Classifier匹配包头各字段内容对业务进行分类。

 

  Juniper设备使用Firewall Filter(即业界通称的ACL) 来实现基于MF的 Classifier。Juniper独特的ASIC技术无需额外的TCAM帮助,直接在硬件执行的路由查询算法里同步集成了ACL查表功能,因此可以线速实现基于复杂条件组合的MF分类,  分类条件可基于IP包头的各种信息,如IP源/目的地址,IP源端口/目的端口,包长度,TTL值, TCP-Flags标记, Fragment-Flags标记, IP-Options标记, ICMP code/type和 ESP-SPI等等。

 

  对于金融行业的各类应用来说,其业务种类繁多,分类条件比较复杂,各种应用的端口号往往是一个范围,比如RTP/VOIP类应用的端口号在16384– 32767之间。对于传统使用TCAM来实现ACL的网络设备,如果ACL匹配一段端口范围如16384-32767则会消耗海量的TCAM资源,导致系统无法处理。Juniper设备独特的由ASIC驱动的硬件表查找算法可以方便的实现诸如端口范围(port range),嵌套ACL等复杂的包匹配操作,从而为MF Classifier提供更灵活强大的分类手段。

 

  当网络边缘的第一跳设备通过MF Classifier对业务分类并做完处理后,最后一个动作是按照本网络的流量管理策略约定给数据包打上相应标记,这样下游沿途设备就不用再维护复杂的Firewall Filter(ACL),而可以直接使用高效率的BA Classifier对业务进行分类。Juniper设备支持各种BA Classifier手段,包括基于IP包头的DSCP标记,IP Precedence标记,以太网帧的802.1p标记,MPLS数据帧的exp标记位等BA Classifier。

 

  业务分类(Classifier)的结果是把不同业务放入不同的硬件队列(Queue/Forwarding-Class),打上丢弃优先级标识(PLP)并实施以不同的QoS策略。Juniper设备接口通常可支持8个硬件队列,对于路由器的ATM接口,信道化接口等支持高级QoS特性的接口更可支持高达128K - 512K个硬件队列,可对海量的边缘业务分类进行良好的业务保障。

 

  默认配置下Juniper设备每接口开启了best-effort,expedited-forwarding,assured-forwarding,network-control四个队列, 但只对其中两个队列有默认的调度策略,即best-effort占95%的接口带宽和接口缓存资源,network-control占5%的接口带宽和接口缓存资源,这种通用默认配置不符合金融行业的复杂业务调度需要,往往需要在部署QoS时按照实际业务需求加以修改。

 

限速(Policer

 

   在设备入接口处除了做业务分类外,一般还会按照实际业务需要对业务进行限速(Policer),虽然在设备出接口处做队列调度和限速也可达成类似的效果,但限速在入接口处实施可以避免不必要的流量进入设备从而占用设备处理资源,因此一般的QoS部署中都是在入接口处做限速而在出接口处做队列调度。

 

  Policer可以被分配到物理或逻辑接口以对所有进出物理或逻辑接口的流量进行限速,也可以被分配给firewall filter(ACL)以对符合匹配条件的业务报文进行限速。Policer甚至还可以被作为MF Classifier的一个处理部分,用于对超出限速标准的流量不丢弃而只进行Classifier分类,比如分配到优先级最低或丢弃策略最激进的分类中去。JUNOS默认使用基本的令牌桶对流量进行测量和限速,同时也支持单速率三色(srTCM)或双速率三色(trTCM)令牌桶对流量进行限速和着色。

 

队列调度(Scheduler

 

   网络带宽资源和设备的系统资源都是有限的,调度器(scheduler)负责在不同队列之间分配这些有限的资源。Scheduler将接口的带宽(transmit-rate)和缓存(buffer)资源分配给不同队列,Scheduler 还负责将队列调度优先级和丢弃策略(drop profiles)关联到不同队列。

 

  JUNOS系统按照队列调度优先级的高低来决定为各队列服务的次序,其中”strict-high”队列是被绝对保障的低延迟队列(LLQ), 任何时候只要”strict-high”队列中有报文就会被优先转发,它不参与其它队列的排队, 因此适合于对延迟敏感的应用比如IP电话等。而为了防止其他队列被”strict-high”队列饿死,一般部署中也会通过给”strict-high”队列加入rate-limit限速来限制其吃光所有带宽资源。

 

  除了”strict-high”队列外的其它队列将按照 deficitweighted round robin (DWRR)机制来分配带宽资源。Deficit Weighted Round Robin (DWRR) 队列调度机制是由M. Shreedhar和G. Varghese 于1995年提出的,它克服了传统WRR队列调度机制只计算包数目而不考虑包长度,从而在变长包环境下速率测量不准确的缺陷。同时也克服了WFQ基于流的队列调度机制过于复杂因而不适用于高速接口,且无法让用户自定义队列调度策略,无法适应多变的业务需求环境的不足。

 

丢弃管理策略(drop-profile

 

   由于TCP以及很多应用都内建了流控机制,当它们检测到报文开始丢失时都会自动降速。为了避免接口队列(缓存)满了之后的尾丢弃(tail drop)引起全球同步(global synchronization)效应, 现代网络设备都会部署某种形式的RED丢弃管理功能,在接口队列(缓存)占用率到达一定阀值时提前优先丢弃一部分不重要的报文(丢弃优先级高的报文)。JUNIPER设备使用weight random early detection (WRED) 来管理流量拥塞时的丢弃行为。

 

  前面内容里提到的Classifier(分类器)除了将数据报文分配到某个业务分类(forwarding-class)之外还会赋予该数据报文一个packet loss priority (PLP)值。Juniper设备中PLP取值范围是low,medium low, medium high或 high,系统默认值为”low”。而对于每个队列最多可使用4个”drop profiles”来管理丢弃:根据不同PLP值和协议类型(TCP或non-TCP)匹配数据报文进行激进程度不同的丢弃处理。

 

  下图2是两个典型的JUNOS丢弃管理策略(drop-profile) 示意图,左图是segmented模式的丢弃管理策略,表示在队列占用率0%-25%时匹配该策略的数据包丢弃率为0%,在队列占用率25%-50%时包丢弃率为25%,在队列占用率50%-75%时包丢弃率为50%,在队列占用率75%-90%时包丢弃率为75%,在队列占用率90%-100%时包丢弃率为100%。右图是interpolated模式的丢弃管理策略,其曲线更平滑,管理员只定义了两个数据点:在队列占用率50%时匹配该策略的数据包丢弃率为25%,在队列占用率75%时匹配该策略的数据包丢弃率为50%,JUNOS会自动以这两个点为基点,生成丢弃策略从0%到100%的64个数据点。

  图2:JUNOS丢弃管理策略示意图

 

标记和标记重写(rewrite)

 

   Rewrite 规则用于将报文发送给下一跳设备以前重新标记报文头部的DSCP, IP precedence, MPLS EXP或IEEE 802.1p 标志位,以保证全网(一个DS Domain或DS Region)按照统一的QoS策略来处理业务数据。这个手段是网络设备处理完数据报文前所实施的最后一个QoS手段。Juniper特有的ASIC硬件逻辑能以线速处理各种高速端口里数据报文的标记或重写。

 

  综上所述,完整的Juniper设备QoS处理流程如下图3所示:

    图3:Juniper设备QoS处理流程

 

Juniper广域网QoS解决方案

 

   下图为金融行业广域网QoS解决方案具体部署样例,  以某银行广域网为例:

 

  如上图可看出典型的金融行业广域网络经过扁平化改造以后,结构上只有三个层次:营业网点,一级分行和总行。

 

  部署QoS策略时业务分类在网络边缘节点完成,即营业网点的接入交换机EX4200VC会根据连接各业务系统的交换机端口号或根据业务报文头部的特征信息(MF Classifier)对业务流量进行分类,由于网络带宽富裕,入接口不做限速。在EX4200VC上联广域网路由器的出接口部署保护性的队列调度策略,比如IP电话业务分配到VOIP队列,优先级为strict-high(LLQ), 但限速至200Kbps以免把别的队列饿死,200Kbps带宽按照G.729a的语音编码方式约可保障5路IP电话业务。其余生产或办公业务按照业务特性可再聚合划分到金,银,铜三个保障级别,分配到三个不同的硬件队列,网络设备之间的信令如ospf,bgp等单独占用一个硬件队列如”network-control”来保障。剩下其它未分类的流量都分配给”best-effort”队列。上述队列按照25% :20% :30% : %5 :20% 的比例按照DWRR调度机制来分配接口服务完strict-high队列后剩余的带宽。最后EX4200VC按照事先约好的标记策略比如DSCP code-points为所有从出接口转发出给SRX240上联路由器的业务报文打上相应的标记。

 

  EX4200VC的下一跳设备SRX240在入接口处按照事先约定的标记策略如DSCP code-points通过BA Classifier对进入设备的流量进行分类并分配队列,在出接口处按照与EX4200VC类似的队列调度策略对出接口带宽进行动态分配,同时按照相同的标记策略把从出接口转发往一级分行M10i下联路由器的业务报文进行重标记。

 

  营业网点SRX240路由器的下一跳设备M10i路由器在连接SRX240的线路/接口上按照事先

 

  约定的标记策略如DSCP code-points等通过BA Classifier对进入设备的流量进行分类并分配队列,在出接口处按照与EX4200VC/SRX240类似的队列调度策略对出接口带宽进行动态分配,同时按照相同的标记策略把从出接口发往分行内部核心交换机的业务报文进行重标记。

 

  M10i的下一跳设备EX8208交换机在连接M10i的接口上按照事先约定的标记策略如DSCP code-points等通过BA Classifier对进入设备的流量进行分类并分配队列,而在连接本地业务系统的接口上则根据连接各业务系统的交换机端口号或根据业务报文头部的特征信息(MF Classifier)对业务流量进行分类,在出接口处按照与EX4200VC/SRX240/M10i类似的队列调度策略对出接口带宽进行动态分配,同时按照相同的标记策略把从出接口发往上联路由器M10i的业务报文进行重标记。

 

  EX8208交换机的下一跳设备M10i上联路由器在连接EX8208的接口上按照事先约定的标记策略如DSCP code-points等通过BA Classifier对进入设备的流量进行分类并分配队列,在出接口处按照与EX4200VC/SRX240/M10i/EX8208类似的队列调度策略对出接口带宽进行动态分配,同时按照相同的标记策略把从出接口发往总行路由器MX960的业务报文进行重标记。

 

  报文到达MX960后就到达总行数据中心的业务系统了,由于数据中心内部一般不会有带宽瓶颈,所以这段网络可不部署队列调度策略。也跟根据需要部署保护性的调度策略,以防数据中心网络被异常流量冲击时能区分并保障关键业务。

 

  上述只是业务流量上行方向的QoS策略部署,下行反方向也应部署一致的QoS策略,本文不再赘述。

 

Juniper广域网QoS解决方案特点

  • Juniper路由器,交换机和防火墙产品的QoS实现都遵循了一致的DiffServ架构,概念清晰,容易理解和实施。
  • 整网部署Juniper产品线时网络内设备之间具有良好的互操作性和统一的配置界面。在没有整网部署Juniper设备的用户网络内,Juniper设备与第三方厂商设备之间虽然配置不一样,但也可实现基于DiffServ架构的良好互操作性。
  • Juniper特有的ASIC技术为大规模复杂QoS部署提供了强大而灵活的硬件基础,在部署复杂QoS业务时不影响业务的线速转发
  • 虽然由于篇幅所限,本文并没有讨论JUNOS QoS具体配置命令,但由于JUNOS层次化风格的配置命令中QoS相关的配置都在与接口配置无关的”Class-of-Services”层次下, 方便实现不同设备间QoS配置语句最大程度的复用
  • JUNOS支持直接通过命令行直观监控所有接口流量实时变化的数据, 为现场实施和运维人员提供了很好的QOS调试工具

 

总结

 

  在金融行业网络服务质量保障领域,瞻博网络能够提供全面成熟的解决方案。瞻博网络的服务质量保障解决方案具有基于工业标准的良好互操作性,易于部署和实施。通过独特的系统架构为用户提供无与伦比的性能和功能集,使企业能够充分利用网络平台来支撑各种业务开展。

在线客服
请Q我吧:10892204
请Q我吧:1011057695
请Q我吧:17206935
请Q我吧:2893423048
在线客服