「NETWORKING」- 业务可靠性:SPR(Smart Policy Routing,智能策略路由)

问题描述

云计算时代,越来越多的用户把关注点从网络的连通性转移到业务的可用性上,如业务的可获得性、响应速度和业务质量等。但是传统网络无法感知链路的质量和业务的需求,导致用户的业务体验较差;

解决方案

SPR(Smart Policy Routing,智能策略路由)就是在这一背景下产生的一种策略路由。它可以主动探测链路质量并匹配业务的需求,从而选择一条最优链路转发业务数据,可以有效地避免网络黑洞、网络震荡等问题;

原理简述

SPR 业务区分

SPR 可以根据协议类型,报文应用,报文信息区分不同流量;

不同业务可以设置不同的链路质量参数阈值,可以设置:
1)时延 D(Delay);
2)抖动时间 J(Jitter);
3)丢包率 L(Loss)
4)综合度量指标 CMI(Composite Measure Indicator):CMI 是基于时延,抖动,丢包综合计算得到的指标;

SPR 选路主要基于 CMI 值;

SPR 支持通过以下属性对业务进行区分:
根据协议类型区分:IP,TCP,UDP,GRE,IGMP,IPINIP,OSPF,ICMP;
根据报文应用区分:DSCP,TOS,IP Precedence,Fragment,VPN,TCP-flag;
根据报文信息区分:SRC-IP-ADDR,DST-IP-ADDR,Protocol,SRC-Port,DST-Port,SRC-IP-Prefix,DST-IP-Prefix;

SPR 根据 NQA 探测结果进行业务选路时,
CMI 值的计算公式:CMI=9000 – cmi-method,其中 cmi-method 缺省定义为:D+J+L
使用 NQA 探测,CMI 值越大越优

SPR 根据 IP FPM 探测结果进行业务选路时,
CMI 值的计算公式:CMI=D+J+L
使用 IP FPM 探测,CMI 值越小越优

SPR 探测链路和链路组

探测链路通过探针(NQA, IP FPM)获取链路参数的质量,SPR 根据探测链路的链路质量匹配业务需求,从而实现智能选路的需求;

SPR 以链路组的形式使用探测链路,一个链路组中可以有一条或多条探测链路;

SPR 的链路角色分为:
1)主用链路组
2)备用链路组
3)逃生链路。在 SPR 中,当业务无法从主用链路组和备用链路组中找到合适的链路传输数据时可以启用逃生链路;

SPR 业务选路

SPR 会定期获取 NQA 或 IP FPM 的探测结果,判断链路是否满足业务需求,如果不满足则触发链路切换;

SPR 业务选路过程如下:

1)根据 NQA 探测结果进行业务选路:

2)根据 IP FPM 探测结果进行业务选路

某些情况下,网络会出现时好时坏的情况,从而导致 SPR 频繁切换链路,严重影响业务体验。SPR 的抑制振荡功能可以有效的避免此类情况产生;

振荡抑制周期默认情况下不生效,周期值由用户自己配置。SPR 切换链路后,振荡抑制周期计时器开始计时,如果业务驻留链路的时间没有达到振荡抑制周期的时间,则 SPR 不会执行链路切换。振荡抑制周期超时后,如果在一个切换周期内链路还是不满足业务需求,则 SPR 将切换链路;如果在一个切换周期内链路质量变好,满足业务需求,则 SPR 不会切换链路;

使用 iMaster NCE 实现 SPR

使用 NCE 部署 SPR 时,提高全网站点规格,采用站点与应用策略分离及流量触发选路相结合的方式;

NCE 仅维护站点邻接信息和应用策略,SPR 配置由路由器创建。使用流量触发选路,按需生成 SPR 配置,避免设备创建大量配置,同时减少探测选路(基于 IP FPM)对设备 CPU 造成的冲击,有效减轻设备的负担;

NCE 可通过 SAC,基于应用分类业务流量;