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

news/2024/7/27 8:43:03/文章来源:https://blog.csdn.net/Mario_Ti/article/details/136433453

一、全局选路策略概念

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

①新建健康检查(可选)

healthcheck enable
healthcheck name ISP1_health
destination 1.1.1.2 interface GigabitEthernet 1/0/1 protocol tcphealthcheck name ISP2_health
destination 2.2.2.2 interface GigabitEthernet 1/0/2 protocol tcp

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

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_healthinterface 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
interface g1/0/0
ip address 192.168.1.254 24
firewall zone trust
add interface G1/0/0firewall zone untrust
add interface G1/0/1
add interface G1/0/2

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

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网络直连的出接口作为智能选路成员接口,并为接口设置权重值;

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技术与实践——李学昭

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_997128.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

贪心 Leetcode 763 划分字母区间

划分字母区间 Leetcode 763 学习记录自代码随想录 给你一个字符串 s 。我们要把这个字符串划分为尽可能多的片段,同一字母最多出现在一个片段中。 注意,划分结果需要满足:将所有划分结果按顺序连接,得到的字符串仍然是 s 。 返…

JavaEE之volatile关键字

一.内存可见性问题 什么是内存可见性问题 计算机运行的程序/代码,往往需要访问数据。这些数据往往存在于内存中。 cup使用此变量时,就会把内存中的数据先读出来,加载到cpu寄存器中,再去参与运算。 但是,关键是cpu读…

Stable Diffusion V3测评

1.引言 3月5号,Stability AI发布了介绍Stable Diffusion V3的研究论文,链接地址:戳我 这是目前他们发布的最先进、功能最强大的图像生成器,与一年多前发布的令人印象深刻的 Stable Diffusion V2.1 相比有了大幅升级。SD3所带来的…

分段线性化问题探析

目录 1 使用0-1变量将分段函数转换为线性约束 2 连续函数采用分段线性化示例 3 matlab程序测试 4 matlab测试结果说明 5 分段线性化应用 1 使用0-1变量将分段函数转换为线性约束 2 连续函数采用分段线性化示例 3 matlab程序测试 clc;clear all; gn10;tn1; x_pfsdpvar(1, t…

【贪心算法】专题练习二

欢迎来到Cefler的博客😁 🕌博客主页:折纸花满衣 🏠个人专栏:题目解析 🌎推荐文章:【LeetCode】winter vacation training 目录 👉🏻买卖股票的最佳时机👉&…

数据解读乡村发展!专家详解 2024 年(第 17 届)中国大学生计算机设计大赛大数据主题赛赛题

2024 年(第 17 届)中国大学生计算机设计大赛大数据主题赛“数据解读乡村发展”赛题已于和鲸平台正式开赛,一月来,已有来自全国超百所高校的优秀本科生积极响应大赛号召完成报名。 为进一步使广大师生对于赛题主旨形成更清晰的认知…

lanqiao:合根植物

题目描述: 代码实现:

回收站选址(CCF 201912-2)解题思路

分析 把x,y坐标拼接成一个字符串(x,y)作为Set的key,保存到Set中,遍历Set,取出坐标,然后判断上下左右四个点是否在Set中,如果在,进而判断,四个角是否在Set中,…

[数据结构初阶]队列

鼠鼠我呀,今天写一个基于C语言关于队列的博客,如果有兴趣的读者老爷可以抽空看看,很希望的到各位老爷观点和点评捏! 在此今日,也祝各位小姐姐女生节快乐啊,愿笑容依旧灿烂如初阳,勇气与童真永不…

三范式与ER模型

三范式 概念: 三范式(3NF)是关系型数据库设计理论的基础,它确保数据的结构化和减少数据的冗余性。三范式由数学家E.F. Codd在1970年提出,作为关系理论的一部分。三范式包括: 第一范式(1NF&am…

Java引用传递及基本应用

在 Java 中,传递参数的方式主要有两种:值传递(传递的是对象的引用值)和引用传递。本教程将重点介绍 Java 中的引用传递以及其基本应用。 1. 引用传递概念 在 Java 中,所有的方法参数都是通过值传递的。对于对象类型的…

信号处理--卷积残差网络实现单通道脑电的睡眠分期监测

目录 背景 亮点 环境配置 数据 方法 结果 代码获取 参考文献 背景 人类大约花三分之一的时间睡觉,这使得监视睡眠成为幸福感的组成部分。 在本文中,提出了用于端到端睡眠阶段的34层深残留的Convnet架构 亮点 使用深度1D CNN残差架构&#xff0…

dolphinscheduler试用(一)(边用边修bug。。。。create tenant error)

(作者:陈玓玏) 前提:部署好了dolphinscheduler,部署篇见https://blog.csdn.net/weixin_39750084/article/details/136306890?spm1001.2014.3001.5501 官方文档见:https://dolphinscheduler.apache.org/…

python 蓝桥杯填空题

文章目录 字母数判断列名(进制问题)特殊日期大乘积星期几 字母数 由于是填空题,那么寻找的话,就直接让每一个位置都是A,通过计算看看是不是结果大于2022即可 判断列名(进制问题) 这道题目,我们可…

C++ 有边数限制的最短路 Bellman_ford算法(带负权边)

给定一个 n 个点 m 条边的有向图,图中可能存在重边和自环, 边权可能为负数。 请你求出从 1 号点到 n 号点的最多经过 k 条边的最短距离,如果无法从 1 号点走到 n 号点,输出 impossible。 注意:图中可能 存在负权回路…

滞销番茄变废为宝,成功打造市场份额第一番茄品牌|日本极致产品力

可果美是日本市场领先的番茄品牌,然而在可果美发展初期,番茄只是供应链中的滞销产品。可果美通过极致产品力的打造,将番茄“变废为宝”,打败亨氏、味好美成为可果美的招牌。可果美是如何做到的呢? 番茄是可果美供应链的滞销品 在…

2024年最新阿里云服务器地域选择方法,以及可用区说明

阿里云服务器地域和可用区怎么选择?地域是指云服务器所在物理数据中心的位置,地域选择就近选择,访客距离地域所在城市越近网络延迟越低,速度就越快;可用区是指同一个地域下,网络和电力相互独立的区域&#…

ps aux | grep xxxx和ps ef | grep xxxx这两个命令有什么区别

命令实例 ps aux | grep nexus和ps ef | grep nexus ps aux | grep nexus 和 ps ef | grep nexus 这两个命令都用于在 Unix 或 Linux 系统中查找与 nexus 相关的进程,但它们在展示进程信息时有细微的区别。 ps aux | grep nexus: ps aux 是一种显示系统上所有运行进…

项目经理如何应对多系统对接的项目?

对于项目经理来说,处理系统对接(API对接)的需求是一项既复杂又关键的任务。这项任务涉及到确保不同的系统能够高效、安全地共享数据,从而实现流畅的业务流程和提高整体的系统性能。下面是一个详细的指南,旨在帮助产品经…

【机器人最短路径规划问题(栅格地图)】基于模拟退火算法求解

代码获取方式:QQ:491052175 或者 私聊博主获取 基于模拟退火算法求解机器人最短路径规划问题(栅格地图)的仿真结果 仿真结果: 初始解的路径规划图 收敛曲线: 模拟退火算法求解的路径规划图 结论&#xff…