一、核心官方定论(V7 安全平台研发标准机制)
设备默认per-flow 逐流负载分担,完整 TCP 会话建立后,同一五元组流量只会固定从一条出口链路转发;Debug 同时打印两个接口 NAT 转发日志,分为正常内置预探测机制(90% 现场现象) 和配置异常故障(持续双路转发、业务受损) 两大类,二者行为、影响完全不同。
二、场景 1:LLB 多链路首包预探测 multi-link-probe(正常机制,匹配你的日志现象)
1. 底层官方实现逻辑
内网 TCP SYN 首包入设备,无匹配五元组硬件会话表;
出站链路负载均衡策略开启multi-link-probe(出厂默认开启),设备复制 SYN 握手首包,向所有健康可用出口链路分别执行 NAT 转换、转发探测;
每条链路同步测算时延、丢包、连通性,根据策略选路算法(最小流量 / 最小时延 / 带宽比例)筛选最优链路;
任意一条链路收到服务器回包SYN+ACK后,设备基于该链路创建硬件会话表;
仅握手首包会复制多链路转发,会话建立后所有 TCP 数据报文仅从选中链路转发,其余链路复制的探测报文无后续载荷,不会产生业务乱序。
2. 对应你现场日志解读
Vlan-interface4011(链路 1):最终选中链路,SYN 探测报文 + 后续业务数据;
Vlan-interface2021(链路 2):复制生成的同一份 SYN 探测报文,仅握手包,无后续业务报文;
Debug 同时打印两条接口转发记录,只是首包探测行为,不影响业务传输、无乱序、无性能损耗。
3. 验证 & 关闭探测(测试用,不建议长期关闭)
plaintext
# 查看出站负载均衡策略配置
display load-balance outbound policy
# 临时关闭多链路预探测,复现对比日志
system-view
load-balance outbound policy 策略名称
disable multi-link-probe
关闭后重新 Debug,只会打印一条出口报文,即可确认是预探测复制报文导致。
三、场景 2:配置 per-packet 逐包负载分担(故障配置,持续双路转发,业务受损)
1. 官方机制说明
链路负载均衡选路模式分为两种:
per-flow(默认推荐):五元组为一条流,全程固定单链路,TCP 无乱序;
per-packet(逐包分担,不推荐):每一个独立报文都会重新执行链路选路哈希,同一 TCP 流报文交替从多条出口转发。
2. 故障影响
TCP 报文跨不同链路传输,报文往返时延不一致,服务器收到乱序报文,大量触发 TCP 重传、网页卡顿、视频加载失败。
3. 修复配置
plaintext
system-view
load-balance outbound policy 策略名称
mode per-flow
四、场景 3:会话老化 / 会话表冲刷,新旧会话分走两条链路(短期偶发现象)
触发条件:TCP 空闲会话超时、设备 CPU 冲高冲刷会话表、链路健康状态切换、链路故障恢复;
现象:旧会话走链路 2,会话失效后客户端重新发起 SYN 新建会话,新会话匹配策略走链路 1;Debug 同时捕获旧会话残留报文 + 新建探测报文,视觉上同五元组双出口;
验证命令:
plaintext
display session table source 102.106.126.226 destination 54.151.158.30
输出会存在两条同源目五元组、不同出接口的会话(一条老化待删除、一条新建);
4. 优化缓解:缩短 TCP 空闲会话老化时间,加快失效会话回收。
plaintext
system-view
session aging-time tcp idle 60
五、场景 4:普通静态路由 / 策略路由 与 LLB 链路负载均衡叠加冲突(配置故障)
冲突逻辑:设备同时配置出站链路负载均衡 + 全局多静态默认路由 / 策略路由;
转发优先级冲突:首包匹配 LLB 复制探测多链路转发,部分报文匹配静态路由从第二条链路转发;双重选路逻辑叠加,同一流量持续出现双出口 NAT;
规范整改:多出口场景统一仅使用 LLB 出站负载均衡,删除冗余默认路由、重叠策略路由。
六、标准化区分排查步骤(快速定位根源)
查看会话表确认稳定转发链路
plaintext
display session table source 102.106.126.226 destination 54.151.158.30
仅 1 条会话、单出接口:属于场景 1 首包预探测,正常无需处理;
多条会话、不同出接口:场景 3 会话重建;
核查负载分担模式
plaintext
display load-balance outbound policy
mode 为per-packet则是场景 2 配置故障;
3. 关闭 multi-link-probe 复测 Debug 日志
关闭后仅单条出口报文,确认是首包复制探测;
4. 排查路由配置,删除与 LLB 重叠的默认路由 / 策略路由。
七、极简总结
你现场 Debug 看到双出口日志大概率是出厂默认的多链路首包预探测机制,仅复制 SYN 握手首包做链路质量探测,会话建立后业务流量固定单链路,属于正常设计,无需整改;
若 TCP 数据传输阶段持续交替出现两条出口报文,优先检查两点:①负载均衡模式配置为per-packet逐包分担;②静态路由 / 策略路由与 LLB 选路冲突;
会话老化重建会短暂出现新旧会话分走两条链路,缩短 TCP 空闲超时可缓解。
暂无评论
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
暂无评论