网络工程师 · 高频练习

两条等价链路做ECMP,为什么单个TCP测速只跑满一条?

中级 单选题 第 1099 题 较难 网络工程师ECMP按流哈希五元组负载均衡
题目

两台路由器之间存在两条等价的1Gbps路径,已启用按流ECMP。管理员用单个TCP连接测速,吞吐接近1Gbps而不是2Gbps;启动大量不同源端口的并发连接后,总吞吐才接近2Gbps。最合理的解释是()。

A 同一流通常根据报文头字段哈希到一个下一跳,以避免乱序;多流才可能分布到不同路径
B ECMP会把同一TCP报文平均切成两半分别发送
C 只要有两条链路,单个TCP连接必然获得两倍带宽
D OSPF和BGP都不允许安装多个等价下一跳
题目类型:原创高频练习题 用途:用于帮助理解网络工程师相关考点和答案解析,不等同于官方真题。
正确答案
A
答案解析

常见ECMP按源/目的地址、协议和端口等字段对流做哈希,同一流保持在同一路径上以减少乱序。单流上限因此接近单条路径,多流的哈希结果不同,才可能利用多条路径。

选项分析

A

正确。按流固定下一跳能降低同一连接的报文乱序风险。

B

错误。常规按流ECMP不会把单个报文拆成两半,也不会让同一流逐包轮转。

C

错误。单流能否叠加链路取决于更高层并行和设备实现,ECMP本身不作该保证。

D

错误。多种路由协议和设备均可支持等价多路径,具体数量由平台决定。

本题为什么容易错

“负载均衡”很容易被想象成每条链路始终各占50%。哈希只能在足够多、分布合适的流上趋于均衡,只有两三个大流时完全可能偏在一侧。

先看结论

简短答案

两条等价链路做ECMP,为什么单个TCP测速只跑满一条,正确答案是 A(同一流通常根据报文头字段哈希到一个下一跳,以避免乱序;多流才可能分布到不同路径)。常见ECMP按源/目的地址、协议和端口等字段对流做哈希,同一流保持在同一路径上以减少乱序。单流上限因此接近单条路径,多流的哈希结果不同,才可能利用多条路径。

解析

易混淆概念对比表

概念本题判断区别要点记忆提示
同一流通常根据报文头字段哈希到一个下一跳,以避免乱序;多流才可能分布到不同路径 本题正确答案 正确。按流固定下一跳能降低同一连接的报文乱序风险。 看到题干核心场景时优先联想到它
ECMP会把同一TCP报文平均切成两半分别发送 本题干扰项 错误。常规按流ECMP不会把单个报文拆成两半,也不会让同一流逐包轮转。 看到该词不要急着选,先判断是否真正解决题干问题
只要有两条链路,单个TCP连接必然获得两倍带宽 本题干扰项 错误。单流能否叠加链路取决于更高层并行和设备实现,ECMP本身不作该保证。 看到该词不要急着选,先判断是否真正解决题干问题
OSPF和BGP都不允许安装多个等价下一跳 本题干扰项 错误。多种路由协议和设备均可支持等价多路径,具体数量由平台决定。 看到该词不要急着选,先判断是否真正解决题干问题
本题易混淆选项怎么区分
  • ECMP会把同一TCP报文平均切成两半分别发送:错误。常规按流ECMP不会把单个报文拆成两半,也不会让同一流逐包轮转。
  • 只要有两条链路,单个TCP连接必然获得两倍带宽:错误。单流能否叠加链路取决于更高层并行和设备实现,ECMP本身不作该保证。
  • OSPF和BGP都不允许安装多个等价下一跳:错误。多种路由协议和设备均可支持等价多路径,具体数量由平台决定。
复习

知识点详解

ECMP允许同一目的前缀安装多个等价下一跳。按流转发把选定报文头字段输入哈希,再映射到一个成员;相同流通常保持路径粘性。成员故障或集合变化时,普通哈希可能让部分流重映射,稳定哈希可降低影响范围。

备考速记

ECMP是一条流选一条路,多条流才有机会把多条路都用起来。

ECMP 在负载均衡场景中的作用

若业务只有单个超大连接,增加ECMP成员未必提升该连接吞吐;可考虑应用并行连接、链路速率升级或明确支持多路径的传输技术。

拓展

同类题怎么考

  • 解释ECMP单流无法叠加带宽。
  • 判断按流与按包负载均衡对乱序的影响。
ECMP 在网络工程师软考中的考法

题干出现单流不叠加、多流变快,先想到按流哈希;出现报文乱序,则检查是否采用按包分担或路径时延差异。

解题思路

题干最关键的对照是“单连接1Gbps,多连接接近2Gbps”。这正是按流哈希的典型表现:一个流固定一条路,不同流才重新抽签,所以选A。

考点定位

ECMP增加的是多流总容量和路径冗余,不保证单流带宽相加,也不保证少量流量绝对均匀。

易错提醒

  • 只用单流测速就判断ECMP没有生效。
  • 哈希键不含端口,多个连接仍落在同一路径。
  • 路径成员变化后未评估流重映射和有状态设备会话。

备考提示

  • 区分单流峰值、多流总吞吐和链路故障冗余三个指标。
  • 验证ECMP时使用多组五元组,并查看各下一跳计数。

你可能还想了解

  • ECMP为什么单流只有一条链路速度?
  • ECMP按哪些字段哈希?
  • 多流测试为什么比单流更快?

本文小结

按流ECMP通常让同一连接固定使用一个等价下一跳,因此单流接近单链路上限;足够多的不同流才能分散并利用总容量。