负载均衡(Load-Balancing)是一种转发数据包的方式,可以让路由器更好的利用所有的链路。负载均衡分为等价负载均衡(ECMP)不等价负载均衡(UCMP)两种(思科CEF负载均衡方式有per-destinationper-packet两种方式,本文不牵涉两种方式的讨论)

等价负载均衡是指往目的地的两条或多条路径的metric相同,这些路径之间1:1方式平均的转发流量

等价负载均衡指去往目的地的两条或多条路径间的metric值不同这些路径之间以一定的比例,将流量转发出去。

 

以前我们学习网络的时候,知道静态路由、RIPOSPFIS-IS支持等价负载均衡,EIGRPBGP可以支持等价负载均衡也可以支持不等价负载均衡。随着网络的发展,接口的速率慢慢再提升2.5G10G40G100G400G速率板卡都已经出现,板卡的换代不可能一蹴而就,所以一时间,在网络中可能会出现不同速率的板卡接口,这时可能需要设置不一样cost标识不同的链路等价负载均衡的,会使某些路径一直使用,一些路径做备份(称为低延迟路径)。所以不等价负载均衡的话,可以更好的利用所有的路径。

中间系统到中间系统IS-IS是一种内部网关协议,是电信运营商普遍采用的技术。也是SP CCIE的学习中比较重要的路由协议。

 

我们讨论IOS-XRIS-IS负载均衡的方法。

SP CCIE技术讨论 IOS-XR上中间系统IS到中间系统IS的负载均衡方法_第1张图片


实验拓扑上图,每条链路cost值都为10R8查看R1路由(10.1.0.1/32)两条路径可以到达,并且metric值相同,都是40这是等价负载均衡:

SP CCIE技术讨论 IOS-XR上中间系统IS到中间系统IS的负载均衡方法_第2张图片

查看CEF中这条路由的负载均衡方式(show cef 10.1.0.1 detail)通过命令输出可以看到R4R7等价的,1:1关系。


SP CCIE技术讨论 IOS-XR上中间系统IS到中间系统IS的负载均衡方法_第3张图片


IS-ISIOS-XR第一种负载均衡方式也就是基本的等价负载均衡。下面我们来讨论下IS-IS第二种的负载均衡方式,使用等价的路径但是通过weight来控制流量向直连链路发送流量的比例。好,还是相同的拓扑,我们在R8IS-IS,将连接R7链路G0/0/0/1设置weight300连接R4链路G0/0/0/3设置weight200

SP CCIE技术讨论 IOS-XR上中间系统IS到中间系统IS的负载均衡方法_第4张图片

这时我们查看路由表发现路由表中,路由还是等价的


SP CCIE技术讨论 IOS-XR上中间系统IS到中间系统IS的负载均衡方法_第5张图片


下面我们查看cef(show cef 10.1.0.1 detail)

SP CCIE技术讨论 IOS-XR上中间系统IS到中间系统IS的负载均衡方法_第6张图片

可以看到

slot 0weight 300normalized_weight 3

slot 1weight 200normalized_weight 2

其中slot 01接口对应weight 300200我们设置的值normalized_weight是计算出来的,计算的方法先找到最大公约数(greatest common divisor (GCD))

1. 如果GCD不等于1normalized_weight = weight / GCD

2. 如果GCD等于1normalized_weight = (Path weight/Total weight) * Maximum bucket size

 

我们这个配置中,G0/0/0/1配置weight300G0/0/0/3配置weight200所以GCD100那么G0/0/0/1normalized_weight3G0/0/0/3口为2所以G0/0/0/1G0/0/0/3负载均衡的比例为3:2可以看到3包或流G0/0/0/12流走G0/0/0/3这个是第二种负载均衡方式,通过weight调整等价的两条或多条路径的负载均衡比例。weight这个值,不能累加,只能本路由器直连的接口上设置才能有效。

 

下面我们来讨论第三种负载均衡方式,IS-IS不等价负载均衡(ucmp)方式等价负载均衡的是两条或多条路径的metric不一样的情况下,负载均衡的比例还是按照weight来计算,如果没有配置weight,则会根据metric值来计算weight,这次我们讨论的是路径metric值不一样同时配置weight的情况。首先修改下配置,修改G0/0/0/1metric70G0/0/0/3metric170之前配置的weight值不变,G0/0/0/1weight300G0/0/0/2weight200

SP CCIE技术讨论 IOS-XR上中间系统IS到中间系统IS的负载均衡方法_第7张图片



查看路由表,R8可以看到,R1的路由(10.1.0.1)指向R7因为从R7metric100R4metric200,根据最短路径原则,放进路由表的是G0/0/0/1指向的R7

SP CCIE技术讨论 IOS-XR上中间系统IS到中间系统IS的负载均衡方法_第8张图片


查看CEF(show cef 10.1.0.1 detail)也是相同的结果,指向R7


9.png


下面我们R8IS-IS配置ucmp设置10.1.0.1这条路由可以做不等价负载均衡。


SP CCIE技术讨论 IOS-XR上中间系统IS到中间系统IS的负载均衡方法_第9张图片

配置完成查看路由表可以看到10.1.0.1这条路由,两条路径不等价,也可以做负载均衡:

SP CCIE技术讨论 IOS-XR上中间系统IS到中间系统IS的负载均衡方法_第10张图片


继续查看CEF表,可以看到IS-IS可以继续在两个接口上以weight的比值比例的进行负载分担。

SP CCIE技术讨论 IOS-XR上中间系统IS到中间系统IS的负载均衡方法_第11张图片

以上是对IOS-XRIS-IS负载均衡方式的介绍,还有种通过metric值计算weight的方法

关于骨干网,超大网络技术及架构在思科SP CCIE课程中会有更为详尽的讲解,当下随着网络规模的逐渐扩展,大网技术的应用也越来越多,所有网络工程师都应该在大网的技术和架构上有所研究。不应在用到时才想起来找视频和文档,早做知识储备才会有更多职业发展的机会。思科SP CCIE的知识体系是目前最实用的网络技术方向。