针对IP网络优化的路径计算

原文链接:http://www.alcatel-sbell.com.cn/Default.aspx?tabid=351&ArticleID=4722 【感谢作者分享】


摘要
  • 集中式路径计算单元可以优化路由效率
  • 贝尔实验室的STAR算法可以优化链路利用率,避免拥塞
  • 采用了STAR算法的集中式PCE可以使得通过承载更多的流量来获得更多的收入

随着所有业务的IP化,并迁移到云中,运营商需要采用更先进的路径计算能力,以确保IP流量的路由效率。这是优化对网络投资回报的关键。

部分挑战在于对IP路由协议的分布式和自主操作。约束最短路径优先(CSPF)的路由协议,如OSPF和IS-IS应用Dijkstra算法来确定源地址和目的地址之间的最短路径。其结果是,在常用路由上的链路很容易变得拥塞从而造成网络高负载点,而其它未被充分利用的链路滞留了宝贵容量。

从你的带宽中获得更多的回报

优化网络利用率和业务收入是计算复杂度理论中NP-Hard的装箱问题。网络容量是有限的资源,当链路被填充流量后,它变得越来越难以适应更多的路径请求。网络的路由协议,如OSPF和IS-IS可以实现快速路由收敛,但路由器用于计算最佳路径的CPU和内存资源却有限。

Path computation for IP network optimization

集中式路径计算单元(IETF RFC4655)中对可用CPU、内存或路由收敛时间没有那样的限制。采用动态链路成本指标,它可以在线操作,并采用复杂的路径计算算法,以帮助网络嵌入式路由协议来发现能更有效地利用链路容量的路径。

引入集中式路径计算单元

路径计算单元(PCE)将软件定义网络(SDN)的范式应用在分离路径计算和路径信令功能。这使运营商能更好地控制自己的网络,加入实施客户策略的能力,并解决多厂商集成时引发的顾虑。

PCE可以被认为是集中式控制平面的一部分,用来作为分布式、网络嵌入式控制平面的补充。它使用各种开放和基于标准的协议,如PCE通信协议(PCEP - RFC5440)用于与底层路由设备接口和沟通路由决策(图1)。

 

Alcatel-Lucent: Centralized Path Computation Element

图1. 集中式路径计算单元

 

网络拓扑、链路状态信息、已部署和已分配的容量都会由中央流量工程数据库(TED)所跟踪。集中式PCE可以采用复杂的路径计算算法来帮助优化分布式、网络嵌入式CSPF路由协议和受计算资源与快速收敛时间所约束的算法。同时,PCE的架构和接口是标准化的,实际的路径计算算法是开放的,因为不同的网络层面需要不同的优化算法。

可能有多个PCE和计算算法,以解决不同的层面或网络域的问题(例如, IP PCE为路由层和传输PCE为光层)。集中式PCE在正在兴起的分段路由架构的应用中扮演重要角色。通过减少状态信息和网络中的信令,分段路由改善了MPLS控制平面的可扩展性,但是必须依靠集中式PCE中的TED来维护每个服务的状态信息(在所分配的链路容量上)和计算源路由。

STAR路径计算算法

优化网络利用率要求路由算法满足2个目标:

  • 效率 -- 消费尽可能少的总链路带宽来优化成本
  • 均衡 -- 避免任何链路过载来消除拥塞和死锁

这两个目标可能相互矛盾,需要权衡。

为了容纳路径请求,低效的路由计算算法所得出的路由跳数会多于实际所需的最小跳数,这样可能会造成潜在的损失。同时,这也会消耗额外的网络资源,这些资源无法通过增加的收入来弥补,并会占用剩余链路容量而无法满足其它的链路请求。而且,如果链路容量完全耗尽,也可能会导致算出一条较长的路由,或因容量不足而拒绝新的路径请求,从而失去收入机会。

受约束的最短路径优先路由算法,如Dijkstra算法挑出跳数最少的路径,除非有链路管理指标或明确的路由约束指示。其结果是, CSPF带来了效率,但会以流量不均衡为代价。另一方面,最小最大算法,将优先选择轻载的链路。最小最大虽然获得了流量均衡,但可能会出现较长的路由,这也可能会对网络效率和创收造成负面影响。

当IP流量在可用的链路容量中得到较好的均衡时,网络中出现拥塞点的可能性就会降低,而更多的链路余量将可被用于吸收流量高峰和应对未来的需求增长。当更多的服务请求可以被路由时,则会相应带来更多的收益。

为了确定这些算法的相对效率,贝尔实验室对比了2个不同的网络拓扑:一个6节点的网络拓扑和一个59节点的网络拓扑。针对每个拓扑,定义了一个流量矩阵来表示流量需求,该需求来自于对所有服务请求总和的预测,而所有链路的容量被设置为能正好容纳所预期的需求。

在2个任意的端点之间生成容量可变的随机路径请求,该容量为在流量矩阵中所预测的总需求。路径请求由默认的CSPF路由算法(链路权重与链路容量设定成反比关系)和STAR路径计算算法来进行路由。

 

Alcatel-Lucent: CSPF versus STAR link utilization after 50% of requests

图2. 在50%业务请求的情况下CSPF和STAR算法的链路利用率对比

 

图2显示出针对59个节点的网络拓扑,在50%的路径请求被处理时的链路利用率。左侧图显示CSPF算法的场景中已经使用了超过75%的总链路容量(红色),其中一些链路已处于满载,而有一些链路(绿色)的利用率则远低于50%。

随着越来越多的路径请求被处理,原来已经很拥挤的链路将变得满载,这将导致后来的路径请求将被拒绝。而这些链路上现有的业务流量也将会由于增加了缓冲而需要等待更长时间。通常这会触发相应的操作,如重新均衡网络流量(这会导致业务扰动),或者在拥挤的链路上增加更多的容量。

上面右侧图显示,STAR算法使得链路负载的分布更为均衡,没有一条链路的负载超过75%,且大部分链路负载低于50%。在所有的链路上还有更多的余量用于接受更多的业务请求。由于所有网络流量在链路上分布均匀,因此就没有必要对流量进行重新均衡或对链路容量进行升级。

重要的问题是:更好地平衡链路利用率和避免拥塞能增加多少收益?

为了确定这一点,每一条成功被路由的路径请求将被计入业务收入,该收入是容量和拓扑距离函数,其中拓扑距离由被路由的路径所需的最小跳数来表示。例如,不管实际的路由所需要的跳数,2个端点之间一条最小为3跳的2 Gbps路径,将产生6个收入单位。

不能被路由的则无法带来任何收入。为了模拟业务扰动,每一条路径被赋予一个随机寿命,之后将其从网络中删除。

 

Alcatel-Lucent: STAR algorithm path computation efficiency

图3. STAR算法的路径计算效率

 

图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算法创造了机会。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在CentOS上配置永久静态IP优化网络,需要执行以下步骤: 1. 打开网络配置文件 `/etc/sysconfig/network-scripts/ifcfg-eth0`,其中 eth0 是你的网卡名称,可以使用命令 `ifconfig -a` 来查看。 2. 将 `BOOTPROTO` 修改为 `static`,表示使用静态IP地址。 3. 添加 `IPADDR`、`NETMASK`、`GATEWAY` 和 `DNS1` 参数,分别表示IP地址、子网掩码、网关和DNS服务器。例如: ``` BOOTPROTO=static IPADDR=192.168.1.100 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 DNS1=8.8.8.8 ``` 4. 如果你的网络需要使用另外的DNS服务器,可以在 `/etc/resolv.conf` 文件中添加,例如: ``` nameserver 114.114.114.114 nameserver 8.8.8.8 ``` 5. 重新启动网络服务,使配置生效,可以使用以下命令: ``` service network restart ``` 6. 如果你的网络需要进行优化,可以尝试以下操作: - 禁用IPv6:可以在 `/etc/sysctl.conf` 文件中添加以下参数: ``` net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1 ``` 然后使用命令 `sysctl -p` 使配置生效。 - 调整TCP参数:可以在 `/etc/sysctl.conf` 文件中添加以下参数: ``` net.ipv4.tcp_fin_timeout = 30 net.ipv4.tcp_keepalive_time = 300 net.ipv4.tcp_max_syn_backlog = 8192 net.ipv4.tcp_max_tw_buckets = 5000 net.ipv4.tcp_syncookies = 1 ``` 然后使用命令 `sysctl -p` 使配置生效。 - 开启TCP BBR:可以在 `/etc/sysctl.conf` 文件中添加以下参数: ``` net.core.default_qdisc=fq net.ipv4.tcp_congestion_control=bbr ``` 然后使用命令 `sysctl -p` 使配置生效。 以上操作可以根据实际情况进行调整和优化

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值