首页/网络/VLAN 与高可用速查/逐流哈希与乱序风险

逐流哈希与乱序风险

逐流哈希保证同一会话固定走同一成员,避免乱序;逐包哈希分布更均匀但可能乱序,主流实现默认逐流。

VLAN 与高可用速查网络更新于 2026-10-13

逐流哈希与乱序

聚合口的哈希有两种粒度:逐流(同一会话固定走同一条成员)与逐包(每个包各自散列)。逐流保证会话内不乱序,代价是单条会话受单成员带宽限制;逐包分布更均匀,但同一会话的报文从不同路径抵达会产生乱序,接收端要重排。主流实现默认逐流,就是为了避开乱序带来的性能损失。

基本信息

逐流(默认)按会话散列,会话内不乱序
逐包分布更均匀,可能乱序,需要接收端重排
关键约束单流速率上限 = 单成员带宽
验收方法统计各成员速率差异,或抽样核对会话归属
调优方向分布明显偏斜时评估更换哈希因子

典型使用场景

  • 业务卡顿排查:判断是否为哈希极化导致的单成员拥塞
  • 备份与迁移:大流无法靠聚合提速,需要拆流或提速率
  • 成员增删影响评估:明确会话重分布会带来 TCP 短暂重传
  • 验收测试:统计各成员流量比例是否符合预期
  • 方案设计:判断逐包模式是否适合当前业务类型

验收与验证

验收与验证
display eth-trunk 1 verbose           # 华为:成员与流量分布
display interface Eth-Trunk 1          # 聚合口整体速率
display interface GigabitEthernet0/0/1  # 单成员速率(逐个对比)
# Cisco
show etherchannel summary
show interfaces | include rate
# 验收口径:各成员速率差异在可接受范围内,无长期偏斜

两种方式对比

方式分布特点顺序特性
逐流(默认)按会话散列,会话数少时可能偏斜会话内不乱序
逐包分布更均匀可能乱序,需要接收端重排
单会话大流始终落在一条成员上受单成员带宽限制
单流受单成员带宽限制是逐流方案的固有特性,不是故障:一台服务器与另一台服务器之间只有一个大会话时,聚合口的带宽用不上,解决方案是拆成多会话或提高单口速率。
成员增删会触发哈希重算:部分会话换到别的成员,TCP 表现为短暂重传。变更前把这一现象标注为预期行为,避免业务侧误判为故障。

易错点

  • 指望聚合解决单流带宽:单会话始终走一条成员链路,扩容聚合口对它没有帮助
  • 分布偏斜直接判断为故障:先看会话数量与哈希因子,会话太少时偏斜属于正常现象
  • 切换成员不做窗口安排:会话重分布带来的重传被当成链路故障处理
  • 验收只测 ping:分布与乱序问题要通过成员速率统计与业务抽样验证
  • 盲目启用逐包模式:可能引入乱序与接收端重排开销,收益未必抵得上代价

数据来源与参考

  • 华为 S 系列交换机产品文档(逐流分担)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌