Outbound 出链路负载均衡两套文档描述差异 + 持续性表项修改策略后的测试现象
两套文档描述:
描述 A:依次根据负载均衡策略 → 持续性方法 → 就近性算法 → 调度算法选链路
描述 B:优先级持续性 > ACL 策略 > ISP 链路 > 就近性 > 调度算法
测试现象:IPv4 选路策略引用持续性组生成持续性表项;持续性表项还没老化,修改选路策略,后续新报文不再匹配旧持续性表项,走新的负载均衡策略。
疑问:第二个 “ACL 策略” 是不是就是负载均衡策略的一部分?为什么两套流程写法不一样。
1、两套文档描述本质:是两个不同层级的处理阶段,不是两套互斥选路逻辑
阶段 1:匹配【IPv4 选路策略(负载均衡策略)】(最外层,先做流量分类)
也就是描述 A 第一步的负载均衡策略,对应 Web/CLI 里的「IPv4 选路策略」:
内部由多条流量特征组成;流量特征可以匹配:ACL、ISP 对象、源 / 目的 IP 等条件(这里面就包含文档 B 写的 ACL 策略、ISP 链路匹配)。
报文从上往下逐条匹配流量特征,命中某一条选路策略后,进入这条策略内部的动作处理流水线;没有命中就走 Default 策略。
✅文档 B 写的:持续性 > ACL 策略 > ISP 链路 > 就近性 > 调度算法,这是【单条选路策略内部的链路选择流水线】,是已经命中某一条选路策略之后才执行的内部逻辑。
通俗拆解:
1)第一步(外层):报文进来,匹配IPv4 选路策略列表(多条,按顺序匹配),命中某一条策略。
流量特征里面可以用 ACL、ISP 作为匹配条件,这就是文档 B 里面写的ACL策略、ISP链路,ACL、ISP 是用来做 “流量分类匹配”,不是链路选择算法。
2)第二步(内层,单条策略内部):在已经命中这条策略前提下,执行内部链路选择优先级:
持续性表项(会话保持) > ISP 对象(本策略内) > 就近性 > 调度算法
为什么文档会写出两种不同描述
文档 A 是宏观完整全流程:负载均衡策略(外层策略匹配) →(进入策略内部)持续性 → 就近性 → 调度算法
文档 B 是单条策略内部流水线,把策略内部的匹配元素(ACL、ISP)拿出来写进优先级列表。
⚠️重点区分:
ACL 策略:属于流量特征匹配条件,用来区分这部分流量交给哪一条选路策略处理;
负载均衡策略:是一整套包含多条流量特征 + 转发动作的集合。
所以 “ACL 策略”不是独立于负载均衡策略之外,它是负载均衡策略内部流量特征的其中一种匹配手段。
2、解释你的测试现象:持续性表项还未老化,修改选路策略,新报文不走旧持续性表项
现象:旧策略引用持续性组,生成持续性表项;修改 / 删除这条 IPv4 选路策略之后,即使持续性表项老化时间还没到,新报文不再命中这条持续性表项,执行新策略逻辑。
底层关键机制:
持续性表项是绑定【生成该表项的那条 IPv4 选路策略】,不是只绑定五元组;只有报文能够再次匹配命中原来那条选路策略,才会去查找、复用这条持续性表项。
完整流程:
报文匹配策略 A(引用持续性组)→ 策略 A 内部查不到已有持续表项 → 通过就近 / 调度算法选链路 → 生成持续性表项,该表项标记归属策略 A。
后续同五元组报文:必须再次匹配命中策略 A,才会进入策略 A 内部,匹配持续性表项,沿用旧链路。
如果你修改、删除策略 A:
新的同五元组报文,不再能匹配到原来策略 A;直接匹配到新的选路策略;
即使内存中原持续性表项还没老化,但是报文已经进不到该表项所属的那条策略,持续性表项直接被跳过,不会生效。
⚠️注意:已经建立的老会话流量不受影响,继续转发;只有新的新建报文会触发上面行为。
很多人会有误区:以为持续性表项只要没老化,不管上层选路策略怎么改,同五元组就一定复用旧链路。实际不是,持续性表项隶属于生成它的那条 IPv4 选路策略,外层策略匹配失败,表项不会被检索。
3、流程图文字版便于理解
plaintext
报文入方向
↓
【外层:匹配IPv4选路策略列表(负载均衡策略集合)】
├─按顺序匹配流量特征(匹配条件可以是ACL/ISP/IP对象)
├─命中某一条选路策略 → 进入这条策略内部链路选择流水线
│ ↓【策略内部流水线(文档B的优先级)】
│ 1、查找本策略产生的持续性表项(仅本策略生成的表项才会被查找)
│ 2、匹配ISP链路对象
│ 3、就近性算法
│ 4、调度算法(加权轮转/带宽等)
│ ↓选定出链路
└─全部未命中 → 进入Default默认选路策略
知了社区直接复制简短回答文本
两套选路描述差异根源
两套文档描述对应两个处理层级,并不冲突:
1、描述 A(负载均衡策略→持续性→就近性→调度算法):完整宏观流程。第一步负载均衡策略指外层IPv4 选路策略,报文先匹配选路策略列表,命中某一条策略之后,才进入该策略内部链路选择逻辑。
2、描述 B(持续性 > ACL 策略 > ISP 链路 > 就近性 > 调度算法):单条选路策略内部的流水线。这里 ACL 策略、ISP 链路,是该策略内「流量特征」的匹配条件,用来识别本策略要处理什么流量,ACL/ISP 本身不属于链路调度算法,属于负载均衡策略的组成部分,不是独立于负载均衡策略之外。
测试现象解释:持续性表项未老化,修改策略后新报文不再复用旧持续表项
持续性表项绑定生成该表项的那条 IPv4 选路策略,不是仅绑定五元组。
1、老会话:不受策略修改影响,继续转发;
2、新建报文:只有报文能再次命中当初生成持续表项的那条选路策略,才会检索、复用持续性表项;
3、修改 / 删除旧选路策略后,新建报文无法命中旧策略,即便内存中持续性表项老化时间还没到,也不会检索这条表项,直接执行新的选路策略逻辑。
简单总结:持续性表项生效有两个前提:①表项未老化;②新建报文能够再次匹配命中当初生成该表项的那条 IPv4 选路策略,两个条件缺一不可。
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
暂无评论