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


    一、全局选路策略概念

    当到达目的网络有多条等价路由或者缺省路由时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界面配置及对应指令)

    ①新建健康检查(可选)

    1. healthcheck enable
    2. healthcheck name ISP1_health
    3. destination 1.1.1.2 interface GigabitEthernet 1/0/1 protocol tcp
    4. healthcheck name ISP2_health
    5. destination 2.2.2.2 interface GigabitEthernet 1/0/2 protocol tcp

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

    1. interface g1/0/1
    2. ip address 1.1.1.1 24
    3. gateway 1.1.1.254
    4. bandwidth ingress 50000 threshold 90
    5. bandwidth egress 50000 threshold 90
    6. healthcheck ISP1_health
    7. interface g1/0/2
    8. ip address 2.2.2.1 24
    9. gateway 2.2.2.254
    10. bandwidth ingress 150000 threshold 90
    11. bandwidth egress 150000 threshold 90
    12. healthcheck ISP2_health
    1. interface g1/0/0
    2. ip address 192.168.1.254 24
    1. firewall zone trust
    2. add interface G1/0/0
    3. firewall zone untrust
    4. add interface G1/0/1
    5. add interface G1/0/2

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

    1. security-policy
    2. rule name trust_to_untrust
    3. source-zone trust
    4. destination-zone untrust
    5. source-address 192.168.1.0 mask 255.255.255.0
    6. service icmp
    7. action permit

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

    1. multi-interface
    2. mode proportion-of-weight
    3. add interface GigabitEthernet 1/0/1 weight 1
    4. add interface GigabitEthernet 1/0/2 weight 4
    5. load-balance flow hash source-ip

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

  • 相关阅读:
    win7升级到win10系统后,node13升级为node16,node版本node-sass版本与不匹配,导致出现npm ERR! ERESOLVE could not resolve
    QUIC为什么使用这样的connectionID?
    11.物联网lwip,网卡原理
    机器学习笔记之概率图模型(五)马尔可夫随机场的结构表示
    导师演讲稿
    虹科方案 | 车载以太网转换器&交换机解决方案
    Ubuntu22.04 LTS+NVIDIA 4090+Cuda12.1+cudnn8.8.1
    【C++编程能力提升】
    mysql查询排名
    Qt中QPushButton、QAction等信号clicked()和toggled()的区别及setCheckable()和setChecked()区别
  • 原文地址:https://blog.csdn.net/Mario_Ti/article/details/136433453