随着所有业务的IP化,并迁移到云中,运营商需要采用更先进的路径计算能力,以确保IP流量的路由效率。这是优化对网络投资回报的关键。
部分挑战在于对IP路由协议的分布式和自主操作。约束最短路径优先(CSPF)的路由协议,如OSPF和IS-IS应用Dijkstra算法来确定源地址和目的地址之间的最短路径。其结果是,在常用路由上的链路很容易变得拥塞从而造成网络高负载点,而其它未被充分利用的链路滞留了宝贵容量。
从你的带宽中获得更多的回报
优化网络利用率和业务收入是计算复杂度理论中NP-Hard的装箱问题。网络容量是有限的资源,当链路被填充流量后,它变得越来越难以适应更多的路径请求。网络的路由协议,如OSPF和IS-IS可以实现快速路由收敛,但路由器用于计算最佳路径的CPU和内存资源却有限。
集中式路径计算单元(IETF RFC4655)中对可用CPU、内存或路由收敛时间没有那样的限制。采用动态链路成本指标,它可以在线操作,并采用复杂的路径计算算法,以帮助网络嵌入式路由协议来发现能更有效地利用链路容量的路径。
引入集中式路径计算单元
路径计算单元(PCE)将软件定义网络(SDN)的范式应用在分离路径计算和路径信令功能。这使运营商能更好地控制自己的网络,加入实施客户策略的能力,并解决多厂商集成时引发的顾虑。
PCE可以被认为是集中式控制平面的一部分,用来作为分布式、网络嵌入式控制平面的补充。它使用各种开放和基于标准的协议,如PCE通信协议(PCEP - RFC5440)用于与底层路由设备接口和沟通路由决策(图1)。
网络拓扑、链路状态信息、已部署和已分配的容量都会由中央流量工程数据库(TED)所跟踪。集中式PCE可以采用复杂的路径计算算法来帮助优化分布式、网络嵌入式CSPF路由协议和受计算资源与快速收敛时间所约束的算法。同时,PCE的架构和接口是标准化的,实际的路径计算算法是开放的,因为不同的网络层面需要不同的优化算法。
可能有多个PCE和计算算法,以解决不同的层面或网络域的问题(例如, IP PCE为路由层和传输PCE为光层)。集中式PCE在正在兴起的分段路由架构的应用中扮演重要角色。通过减少状态信息和网络中的信令,分段路由改善了MPLS控制平面的可扩展性,但是必须依靠集中式PCE中的TED来维护每个服务的状态信息(在所分配的链路容量上)和计算源路由。
STAR路径计算算法
优化网络利用率要求路由算法满足2个目标:
- 效率 -- 消费尽可能少的总链路带宽来优化成本
- 均衡 -- 避免任何链路过载来消除拥塞和死锁
这两个目标可能相互矛盾,需要权衡。
为了容纳路径请求,低效的路由计算算法所得出的路由跳数会多于实际所需的最小跳数,这样可能会造成潜在的损失。同时,这也会消耗额外的网络资源,这些资源无法通过增加的收入来弥补,并会占用剩余链路容量而无法满足其它的链路请求。而且,如果链路容量完全耗尽,也可能会导致算出一条较长的路由,或因容量不足而拒绝新的路径请求,从而失去收入机会。
受约束的最短路径优先路由算法,如Dijkstra算法挑出跳数最少的路径,除非有链路管理指标或明确的路由约束指示。其结果是, CSPF带来了效率,但会以流量不均衡为代价。另一方面,最小最大算法,将优先选择轻载的链路。最小最大虽然获得了流量均衡,但可能会出现较长的路由,这也可能会对网络效率和创收造成负面影响。
当IP流量在可用的链路容量中得到较好的均衡时,网络中出现拥塞点的可能性就会降低,而更多的链路余量将可被用于吸收流量高峰和应对未来的需求增长。当更多的服务请求可以被路由时,则会相应带来更多的收益。
为了确定这些算法的相对效率,贝尔实验室对比了2个不同的网络拓扑:一个6节点的网络拓扑和一个59节点的网络拓扑。针对每个拓扑,定义了一个流量矩阵来表示流量需求,该需求来自于对所有服务请求总和的预测,而所有链路的容量被设置为能正好容纳所预期的需求。
在2个任意的端点之间生成容量可变的随机路径请求,该容量为在流量矩阵中所预测的总需求。路径请求由默认的CSPF路由算法(链路权重与链路容量设定成反比关系)和STAR路径计算算法来进行路由。
图2显示出针对59个节点的网络拓扑,在50%的路径请求被处理时的链路利用率。左侧图显示CSPF算法的场景中已经使用了超过75%的总链路容量(红色),其中一些链路已处于满载,而有一些链路(绿色)的利用率则远低于50%。
随着越来越多的路径请求被处理,原来已经很拥挤的链路将变得满载,这将导致后来的路径请求将被拒绝。而这些链路上现有的业务流量也将会由于增加了缓冲而需要等待更长时间。通常这会触发相应的操作,如重新均衡网络流量(这会导致业务扰动),或者在拥挤的链路上增加更多的容量。
上面右侧图显示,STAR算法使得链路负载的分布更为均衡,没有一条链路的负载超过75%,且大部分链路负载低于50%。在所有的链路上还有更多的余量用于接受更多的业务请求。由于所有网络流量在链路上分布均匀,因此就没有必要对流量进行重新均衡或对链路容量进行升级。
重要的问题是:更好地平衡链路利用率和避免拥塞能增加多少收益?
为了确定这一点,每一条成功被路由的路径请求将被计入业务收入,该收入是容量和拓扑距离函数,其中拓扑距离由被路由的路径所需的最小跳数来表示。例如,不管实际的路由所需要的跳数,2个端点之间一条最小为3跳的2 Gbps路径,将产生6个收入单位。
不能被路由的则无法带来任何收入。为了模拟业务扰动,每一条路径被赋予一个随机寿命,之后将其从网络中删除。
图3显示了5轮模拟运算的平均结果:
- 在6个节点的拓扑中,相对于CSPF算法所能接受处理的91%的业务请求,STAR算法可以接受97%的业务请求,其支持的流量所带来的收益比CSPF高12%。
- 在59个节点的拓扑中,相对于CSPF算法所能接受处理的87%的业务请求,STAR算法几乎可以接受所有业务请求,其支持的流量所带来的收益比CSPF高24%。
采用STAR算法的集中式PCE的应用
采用STAR的原则是优化网络利用率或“让网络加载更多业务”。STAR算法实现了更为均衡的链路利用率,通过更有效地组织业务流量来增加收益,这也使得在连接上获得了更好的端到端性能。
采用STAR算法的集中式PCE也可以作为在线流量工程工具,以补救的方式缓解高负载链路上拥塞。为了将业务扰动最小化,网络再均衡技术可以在负荷最重的链接上使用,这就可以限制需要重新路由的路径总量。STAR算法会自动挑出影响最大的重路由连接集合,并给出新路由的路径建议。
采用STAR算法的PCE还可以获得新的弹性业务功能,如按需带宽和带宽日历(bandwidth calendaring)。这些动态带宽业务会带来一定的网络扰动,这给均衡网络流量的STAR算法创造了机会。