链路负载均衡之全局选路策略

一、全局选路策略概念

当到达目的网络有多条等价路由或者缺省路由时FW通过不同的智能选路方式动态选择最优链路。

二、全局选路策略的智能选路方式

为了满足不同的需求,华为FW支持四种智能选路方式,管理员可以根据设备和网络的实际情况进行选择。

|------------|---------------------------------------------------|---------------|
| 智能选路方式 | 定义 | 关键部署 |
| 根据链路带宽负载分担 | FW按照带宽比例将流量分配到各条链路上。带宽大的链路转发较多的流量,带宽小的链路转发较少的流量。 | 链路出方向带宽和入方向带宽 |
| 根据链路权重负载分担 | FW按照权重的比例将流量分配到各条链路上,权重大的链路转发较多的流量,权重小的链路转发较少的流量。 | 链路权重 |
| 根据链路质量主备备份 | FW优先使用链路质量高的链路转发流量。 | 链路质量参数和探测方式 |
| 根据链路优先级选路 | 优先级最高的接口称为主接口,其他优先级的接口统称为备份接口,FW优先使用主接口转发流量。 | 链路优先级 |

1、根据链路带宽负载分担

如图1-1,某企业从运营商租用了三条链路,其中,ISP1的链路带宽为200M,ISP2和ISP3的链路带宽均为100M,即带宽比例为2:1:1。为了保证链路不会过载,管理员可以设置过载保护阈值,如图各链路均为90%。一段时间后,各链路上累计传输的流量将分别占到总流量的50%、25%、25%,即各链路传输流量的比例和带宽的比例成正比。
图1-1

可能出现的情况如下:

①所有链路均未过载时,按照链路之间的带宽比例进行负载分担;

②某条链路的带宽使用率达到过载保护值如90%时,已建立会话的流量仍从该链路转发,但是后续新建立会话的流量不再通过此链路转发,FW会在未过载的链路中智能选路,后续流量按照未过载链路之间的带宽比例进行负载分担;

③所有链路都已过载,防火墙将不再考虑过载保护,继续按照各链路带宽比例分配流量。

注意:防火墙采用逐流方式转发报文,所谓"逐流"就是将属于同一条流的报文都从同一条链路转发,可以理解为防火墙上建立的一条会话或者连接,防火墙根据各接口带宽的比例来分流,因此,长期时间后,各链路上分配的会话数比例将趋近于2:1:1,跟链路带宽比例相同,由于每个会话传输的实际流量各不相同,实际传输流量的比例不会与设置的带宽比例严格一致。

2、根据链路权重负载分担

如图1-2,某企业从运营商租用了三条链路,其中,ISP1的链路权重为5,ISP2和ISP3的链路权重分别为3、2,即5:3:2,为了保证链路不会过载,管理员可以设置过载保护阈值,如图各链路均为90%。一段时间后,各链路上累计传输的流量将分别占到总流量的50%、30%、20%,即各链路传输流量的比例和权重比例成正比。
图1-2

可能出现的情况如下:

①当所有链路均未过载时,链路之间的按权重比例进行负载分担;

②某条链路的带宽使用率达到过载保护值如90%时,后续流量不再通过此链路转发,FW会在未过载的链路中智能选路,后续流量按照未过载链路之间的权重比例进行负载分担;

③如果所有链路都已过载,那么FW将继续按照各链路的权重比例分配流量。

3、根据链路质量主备备份

丢包率、时延和时延抖动是FW衡量链路质量的3个参数。

|--------|------------------------------------------------------------------------------|
| 链路质量指标 | 计算方式 |
| 丢包率 | 丢包率等于丢包个数除以探测报文个数。防火墙发送若干个探测报文后,将统计丢包的个数,并计算丢包率。 |
| 时延 | 回应报文的接收时间减去探测报文的发送时间即为时延。FW发送N个探测报文后,将分别计算每次探测的时延,并取N次探测的平均值作为最终结果。 |
| 时延抖动 | 相邻两次探测的时延之差取绝对值即为时延抖动。FW发送N个探测报文后,将分别计算相邻两次探测的时延之差并取绝对值,然后取所有时延抖动的平均值作为最终结果。 |
[链路质量指标的计算方式]

默认情况下,链路质量探测报文的协议类型为tcp-simple(FW使用TCP报文检查网络的连通性,只要目的设备回应第一个探测报文,即认为链路是可用的,无需完成三次握手)。

针对非TCP业务流量使用ICMP协议进行质量探测。

探测报文的协议类型还可以修改为ICMP,此时FW针对所有业务流量都使用ICMP协议探测进行质量探测。

防火墙默认使用丢包率作为选路的依据, 也可以根据需要增加时延、时延抖动,链路质量得分=初始得分-丢包率得分-时延得分-时延抖动得分;初始得分由探测报文发送时间间隔决定,默认间隔3秒,初始得分默认为6000分。

|--------|-------------------|
| 链路质量指标 | 得分计算方法 |
| 丢包率 | 丢包率得分=丢包率×初始得分 |
| 时延 | 时延得分=总时延/探测次数 |
| 时延抖动 | 时延抖动得分=总时延抖动/探测次数 |
[得分计算方法]

防火墙自动向目的IP发送链路质量探测报文,获取各链路的传输质量信息,并将链路质量探测结果保存在链路质量探测表中。当有流量到达FW时,FW首先根据报文的目的IP去匹配探测表:

①如果匹配,则根据探测表中记录的出接口转发流量;

②如果未匹配,则自动向目的IP发起质量探测选择最优的链路转发流量,并将探测结果记录在链路质量探测表中;

③当质量探测表项老化后,新的流量触发智能选路时需要重新进行链路质量探测。

如图1-3,某企业从运营商租用了三条链路,防火墙向各个ISP内的指定设备发送5个探测报文,其中ISP1链路没有丢包,ISP2链路丢了2个包,ISP3链路没有收到回应报文。FW判定ISP1的质量最高,将优先使用ISP1链路转发流量,只要探测表项没有老化,FW就一直使用ISP1转发流量,不会使用ISP2链路和ISP3链路。为了保证链路不会过载,管理员可以设置过载保护阈值,当某条链路带宽使用率达到阈值,已建立会话的流量仍从该链路转发,但是后续新建立会话的流量不再通过此链路转发,FW会在未过载的链路中重新选择质量最佳的链路。
图1-3

4、根据链路优先级选路

负载分担场景:各接口链路设置过载保护阈值,当主接口链路过载时 ,FW会使用优先级次高的备份接口和主接口一起分担流量。当主接口和优先级次高的备份接口都过载后,余下的备份接口中优先级最高的接口才被启用进行流量分担。

主备备份场景:主接口链路没有指定过载保护阈值,那么即使链路过载,FW也不会使用其他链路传输流量。只有当主接口链路发生故障后,优先级次高的备份接口才被启用以替代主接口,而其他优先级更低的备份接口则仍未启用。

如图1-4,某企业从运营商租用了三条链路,其中,ISP1的优先级为8,ISP2和ISP3的优先级分别为3、1,ISP1的链路优先级最高。为了保证链路不会过载,管理员可以设置过载保护阈值,如图各链路均为90%。FW优先使用ISP1链路转发流量,当ISP1链路的带宽利用率达到90%后,启用ISP2链路和ISP1链路一起分担流量。当ISP1链路和ISP2链路都过载时,启用ISP3链路和ISP1、ISP2链路一起分担流量。当3条链路都过载时,FW将按照各链路带宽的比例分配流量,不再根据链路优先级来分配。
图1-4

三、会话保持

配置过载保护阈值,当链路的带宽利用率达到过载保护阈值时,FW对新流量进行智能选路时将排除该过载链路,在其他未过载的链路中进行选路。这样可能会导致用户上网流量在链路过载前选择了该链路,而新建会话流量(如打开新网页)因为原链路过载而被FW从其他链路转发出去。类似如网络游戏会在链路切换后掉线,甚至某些网上银行业务因检测到IP地址变化而拒绝用户访问等现象。为了解决上述问题,可以开启智能选路会话保持功能。

开启该功能后,上网用户流量进行首次智能选路选择某链路后,FW会生成相应的会话保持表项,后续访问到达防火墙,如果命中了该会话保持表项,FW按照会话保持表项中记录的链路转发流量,这样能保证该用户的流量始终使用同一链路转发,不管该链路是否过载,仅当用户流量不能匹配会话保持表项时,才在未过载链路中选路。

过载保护默认开启,会话保持默认关闭。

overload protection enable //启动过载保护

session persistence enable //启动会话保持

display session persistence table //查看建立表项

四、配置(以链路权重为例)

1、案例

如下图所示,某网络租用了两条链路,一条从ISP1租用的链路,带宽为50M,租用ISP2一条性能优良的链路,带宽为150M。企业希望ISP2链路转发80%的流量,ISP1链路转发20%的流量,提高大多数用户的体验。当其中一条链路过载(阈值为90%)时,后续流量可以通过另一条链路转发,保证传输的可靠性。

2、配置思路

企业希望ISP2链路转发80%的流量,ISP1链路转发20%的流量,即可采用权重比为4:1的链路权重负载分担;指定ISP1链路的权重为1,ISP2链路的权重为4。为了保证链路故障或过载时,FW可以使用其他链路转发流量,还需要配置健康检查功能和链路过载保护功能。

①配置接口的IP地址、安全区域、网关地址、带宽和过载保护阈值;

②配置基本的安全策略,允许企业内网用户访问外网资源;

③配置全局选路策略。配置智能选路方式为根据链路权重负载分担,指定FW和ISP1、ISP2网络直连的出接口作为智能选路成员接口,并为接口设置权重值;

④并在接口上应用健康检查(可选)。

3、操作步骤(web界面配置及对应指令)

①新建健康检查(可选)

java 复制代码
healthcheck enable
healthcheck name ISP1_health
destination 1.1.1.2 interface GigabitEthernet 1/0/1 protocol tcp

healthcheck name ISP2_health
destination 2.2.2.2 interface GigabitEthernet 1/0/2 protocol tcp

②配置接口IP地址、安全区域、网关地址、带宽和过载保护阈值,并在接口上应用健康检查(可选)

java 复制代码
interface g1/0/1
ip address 1.1.1.1 24
gateway 1.1.1.254
bandwidth ingress 50000 threshold 90
bandwidth egress 50000 threshold 90
healthcheck ISP1_health

interface g1/0/2
ip address 2.2.2.1 24
gateway 2.2.2.254
bandwidth ingress 150000 threshold 90
bandwidth egress 150000 threshold 90
healthcheck ISP2_health
java 复制代码
interface g1/0/0
ip address 192.168.1.254 24
java 复制代码
firewall zone trust
add interface G1/0/0

firewall zone untrust
add interface G1/0/1
add interface G1/0/2

③配置基本的安全策略,允许企业内网用户访问外网资源

java 复制代码
security-policy 
rule name trust_to_untrust
source-zone trust
destination-zone untrust
source-address 192.168.1.0 mask 255.255.255.0
service icmp
action permit

③配置全局选路策略。配置智能选路方式为根据链路权重负载分担,指定FW和ISP1、ISP2网络直连的出接口作为智能选路成员接口,并为接口设置权重值;

java 复制代码
multi-interface
mode proportion-of-weight
add interface GigabitEthernet 1/0/1 weight 1
add interface GigabitEthernet 1/0/2 weight 4
load-balance flow hash source-ip

参考资料:防火墙和VPN技术与实践------李学昭

相关推荐
大树881 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠1 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质1 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
Inhand陈工1 天前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信
网络研究院1 天前
2026年网络安全
网络·安全·法律·法规·趋势·发展
酣大智1 天前
ARP代理--工作原理
运维·网络·arp·arp代理
treesforest1 天前
AI安全系统如何识别异常访问?IP风险识别正在成为关键能力
网络·人工智能·tcp/ip·安全·web安全
shushangyun_1 天前
2026年快消品B2B系统推荐:支持终端门店订货、促销政策自动化的工具?
java·运维·网络·数据库·人工智能·spring·自动化
2601_961845151 天前
粉笔行测题库|系统班|刷题
网络·百度·微信·微信公众平台·facebook·新浪微博
零零信安1 天前
零零信安荣登数世咨询《新质·数字安全专精百强(2026)》暗网情报领域,彰显专业实力与创新引领
安全·网络安全·数据泄露·暗网·零零信安