乐于分享
好东西不私藏

某游戏公司网络工程师面试真题(三):OE1 与 OE2 的区别以及Forward Metric

某游戏公司网络工程师面试真题(三):OE1 与 OE2 的区别以及Forward Metric

问题:请描述OE1 与 OE2 的区别以及Forward Metric

一、OE1 与 OE2对比总览

属性
OE1(Type-1 External)
OE2(Type-2 External,默认)
Cost 计算公式
外部 Cost + 内部 Cost
(到ASBR的cost)
仅外部 Cost
默认外部 Cost
1(华为)
选路优先级
高(优于 OE2)
低(劣于 OE1)
Forward Metric 作用
已计入总 Cost
等价时的 tie-breaker
适用场景
多出口需要比较内部路径
单出口或不在意内部路径

二、Cost 计算对比

场景:外部路由引入时 cost = 20,内部路由器到 ASBR 的 cost = 10OE1 总 Cost = 20 + 10 = 30     ← 内部 cost 参与计算OE2 总 Cost = 20               ← 内部 cost 不计入

三、什么是Forward Metric ?

Forward Metric : 到 ASBR 地址的区域内部路径 Cost。

OE2 的 Forward Metric

两条 OE2 路由到同一目的 10.1.1.0/24:路由A: External Cost=20, 到 ASBR 到 A 内部 Cost=5路由B: External Cost=20, 到 ASBR 到 B 内部 Cost=10选路:  Step 1: External Cost = 20 = 20 → 相等  Step 2: Forward Metric → A(5) < B(10)  结果:   选择路由A ✅

OE1 不需要额外比较 Forward Metric(FM直接参与计算cost)

两条 OE1 路由到同一目的:路由A: External Cost=20 + 到 ASBR-A Cost=5  → 总 Cost = 25路由B: External Cost=20 + 到 ASBR-B Cost=10 → 总 Cost = 30结果: A(25) < B(30) → 选A ✅(Forward Metric 已自动计算在内)

四、OE1 vs OE2 选择指南

场景
推荐
原因
多出口、希望选最近出口(主备出口)
OE1
内部距离自动最优
单出口、不想受内部拓扑影响
OE2
外部 cost 稳定
需要精确控制选路
OE2 + route-policy
手动控制 External Cost + Forward Metric

五、实战场景面试题:OE1 多 ASBR 选路分析

这是面试题中常考的"两台 ASBR 同时引入同一外部路由"的场景,重点考察:① OE1 与 OE2 的 cost 计算差异;② 5 类 LSA 域内泛洪时 metric 是否累加;③ 收到多条 5 类 LSA 时如何优选。

网络拓扑如下

场景一:两台 ASBR(AR3和AR4) 同时引入同一外部路由 10.1.1.1(type 1),但引入 cost 不同

   AR3(ASBR-1)─── type1 引入 10.1.1.1,cost 取默认值 1   AR4(ASBR-2)─── type1 引入 10.1.1.1,cost 修改为 1000

Q1:针对AR7和AR8设备来说,AR3和AR4谁会作为主出口设备?答:AR3 作为主出口设备。因为所有路由器到达 AR3的内部cost + 外部cost 的总计 cost更低,因此AR3作为主出口设备。

Q2:AR7 访问 10.1.1.1 的下一跳是谁?答:AR5。AR7 到 AR5 内部 cost=1,再 AR5→AR3 内部 cost=1,到 AR3 总内部 cost=2;AR7 到 AR8或者AR6 内部 cost=1,再 AR8→AR5→AR3 内部 cost=2,总内部 cost=3。AR5 更近。

Q3:AR8 访问 10.1.1.1 的下一跳是谁?答:AR5。AR8→AR5→AR3 内部 cost=2;AR8→AR7/AR6 →AR5→AR3 内部 cost=3。前者更近。

Q4:AR7 和 AR8 各能收到几个 5 类 LSA?metric 各是多少?答:都收到 2 个 5 类 LSA

  • • 一条来自 AR3,External Cost = 1
  • • 一条来自 AR4,External Cost = 1000

Q5:假设 Area 0 内所有链路 cost 都是 1,AR8 访问 10.1.1.1 的总 cost 是多少?答:总 cost = 3(内部 2 + 外部 1)。即 AR8→AR5→AR3 内部 cost=2,加上 ASBR(AR3)的外部 cost=1。

💡 场景一核心结论:本例选用 OE1(Type-1 External),正是为了让"AR3 发布、cost=1 的 5 类 LSA"在域内被自动优选——即使 AR4 也发布了同一目的路由,由于 AR4 的外部 cost 过大且到 AR4 的内部路径无优势,最终 AR3 成为 ASBR 出口。

场景二:两台 ASBR(AR3和AR4) 同时引入同一外部路由 10.1.1.1(type 1),但引入 cost 相同

   AR3(ASBR-1)─── type1 引入 10.1.1.1,cost 取默认值 1   AR4(ASBR-2)─── type1 引入 10.1.1.1,cost 取默认值 1

Q1:针对AR7和AR8设备来说,AR3 和 AR4 谁会作为主出口设备?答:两台都是主出口,形成负载分担。两台 ASBR 外部 cost 相同(都是 1),AR7和AR8 路由器到达两台 ASBR(AR3 和 AR4 )的总cost相等。

Q2:AR7 访问 10.1.1.1 的下一跳是谁?答:AR5和AR6形成ECMP,当下一跳AR5则出口设备则为AR3,下一跳AR6出口设备则为AR4。AR7→AR5→AR3 内部 cost=2,总cost =2+1=3;AR7→AR6→AR4 内部 cost=2,总cost =2+1=3。出口形成负载分担。

Q3:AR7 和 AR8 各收到几个 5 类 LSA?metric 各是多少?答:都收到 2 个 5 类 LSA,metric 都是 1。两台 ASBR 都取默认值,外部 cost 完全一致。

Q4:AR8 的 GE 0/0/2(连 AR5 的链路)DOWN 掉后,AR8 的下一跳是谁?出口设备是谁?答:下一跳切换为 AR6(走 AR4)。AR8→AR6→AR4 内部 cost=2,总 cost=2+1=3。原直连路径不可达(AR8→AR5→AR3),AR8 仍可通过绕路到达 AR3,但内部 cost 上增大后被 AR4 路径超越。

💡 场景二核心结论:外部 cost 相同时,OE1 自动实现"就近出口"——AR7和AR8 均可以实现双出口,流量在域内自然分流。这正是 OE1 相比 OE2 的核心优势:不需要手动配置策略,内部距离自动决定出口

场景三:两台 ASBR(AR3和AR4) 同时引入同一外部路由 10.1.1.1(type 2),但引入 cost 相同

   AR3(ASBR-1)─── type2 引入 10.1.1.1,cost 取默认值 1   AR4(ASBR-2)─── type2 引入 10.1.1.1,cost 取默认值 1

Q1:针对AR7和AR8设备来说,AR3 和 AR4 谁会作为主出口设备?答:两台都是主出口。OE2 外部 cost 相同(都是 1),触发 Forward Metric 决胜。由于 AR7 到 AR3/AR4 的 Forward Metric 都等于 2(AR7→AR5→AR3与 AR7→AR6→AR4均为 2 跳),AR8 到 AR3/AR4 的 Forward Metric 也都等于 2(AR8→AR5→AR3与 AR8→AR6→AR4均为 2 跳),所以 AR7 和 AR8 都形成 ECMP,AR3 和 AR4 同为主出口。

Q2:AR7 访问 10.1.1.1 的下一跳是谁?总 cost 是多少?答:AR5 和 AR6 形成 ECMP

  • • AR7→AR5→AR3:Forward Metric=2
  • • AR7→AR6→AR4:Forward Metric=2
  • • 两条 Forward Metric 相等,负载分担
  • • 总 cost = 1(OE2 只看外部 cost,不累加内部距离)

Q3:AR7 和 AR8 各收到几个 5 类 LSA?metric 各是多少?答:都收到 2 个 5 类 LSA,metric 都是 1。5 类 LSA 在域内泛洪时 metric 不累加(区别于 1/3 类 LSA 的逐跳累加机制),ASBR 发布时是多少,远端路由器看到的就是多少。

Q4:AR8 的 GE 0/0/2(连 AR5 的链路)DOWN 掉后,AR8 的下一跳切换为谁?总 cost 是多少?答:下一跳切换为 AR6(走 AR4)。原直连 AR8→AR5 断开后:

  • • 到 AR4 的 Forward Metric = 2(AR8→AR6→AR4,仍直连)
  • • 到 AR3 的 Forward Metric = 3(绕路 AR8→AR6→AR5→AR3或 AR8→AR7→AR5→AR3
  • • Forward Metric 决胜,选 AR4,下一跳 AR6
  • • 总 cost = 1(OE2 不累加内部距离)

核心结论:同样的故障,OE1 总 cost 不变(仍 3,因为切换到了同等代价的 AR4 路径);OE2 总 cost 永远等于外部 cost——这是 OE2 与 OE1 最本质的区别:路由表 cost 不感知内部拓扑变化

💡 场景三核心结论:OE2 的总 cost 永远是外部 cost(本例为 1),内部路径再长也不影响。但是当外部cost相同时,需要Forward Metric 充当"决胜因子"——谁到 ASBR 更近,就选谁发布的 5 类 LSA。

场景四:两台 ASBR(AR3和AR4) 同时引入同一外部路由 10.1.1.1(type 2),但引入 cost 不同

   AR3(ASBR-1)─── type2 引入 10.1.1.1,cost 取默认值 1   AR4(ASBR-2)─── type2 引入 10.1.1.1,cost 修改为 1000

Q1:针对AR7和AR8设备来说,AR3 和 AR4 谁会作为主出口设备?答:AR3 作为主出口设备。OE2 选路时优先比较外部 cost,1 < 1000,AR3 直接胜出——此时 Forward Metric 完全不参与决策,即使 AR8 到 AR4 的 Forward Metric 与到 AR3 相同(都是 2),也无法让 AR4 上位作为出口。

Q2:AR7 访问 10.1.1.1 的下一跳是谁?总 cost 是多少?答:AR5(走 AR3)。AR7→AR5→AR3,总 cost = 1(OE2 只看外部 cost)。即使 AR7 到 AR4 的 Forward Metric=2(与到 AR3 相同),由于外部 cost 不等(1 ≠ 1000),Forward Metric 不参与比较

Q3:AR7 和 AR8 各收到几个 5 类 LSA?metric 各是多少?答:都收到 2 个 5 类 LSA:

  • • 来自 AR3,metric = 1
  • • 来自 AR4,metric = 1000

5 类 LSA 在域内泛洪时 metric 不累加,AR7/AR8 看到的 metric 与 ASBR 发布时完全一致。

Q4:AR7 的 GE 0/0/1(连 AR5 的链路)DOWN 后,AR7 的下一跳切换为谁?总 cost 是多少?与场景三(OE2, cost 相同)故障切换对比说明什么?答:出口仍为AR3,下一跳切换为 AR6 和 AR8 形成 ECMP

  • • 原直连 AR7→AR5 断开,AR7 必须绕路到 AR3:
    • • AR7→AR6→AR5→AR3= 3
    • • AR7→AR8→AR5→AR3= 3
  • • 到 AR4 的 Forward Metric = 2(AR7→AR6→AR4),更近
  • • 但 OE2 外部 cost 不等(1 ≠ 1000),不比较 Forward Metric,仍然优选 AR3
  • • 总 cost = 1(OE2 不变)

核心结论:场景四揭示 OE2 的另一个本质特性——外部 cost 不等时,Forward Metric 完全失效。即使故障让 AR3 路径变长(Forward Metric=3 > AR4 的 2),OE2 仍然固守外部 cost 较小的 ASBR,无法感知内部拓扑变化。

💡 场景四核心结论:OE2 的 Forward Metric 仅在外部 cost 完全相等时才作为 tie-breaker 生效。一旦外部 cost 不等,无论内部拓扑如何变化(包括链路故障),OE2 都不会切换 ASBR。这正是 OE2 "外部 cost 稳定但内部拓扑不感知"特性的另一面——既稳定也"固执"。

🔑 四场景串联对比

  • • 场景一(OE1,cost 不同):全网选 AR3,外部 cost + 内部cost 差距决定出口
  • • 场景二(OE1,cost 相同):就近分流,内部距离决定出口;内部故障后总 cost 会发生变化,可以反映拓扑变化。
  • • 场景三(OE2,cost 相同):就近分流,Forward Metric 决胜;故障后总 cost 不变。
  • • 场景四(OE2,cost 不同):全网选 AR3,外部 cost 直接决定出口;故障后 Forward Metric 失效,ASBR 不切换。

总结:

1、OE1 与 OE2 的本质区别在于"内部 cost 是否累加"

  • • OE1 总 cost = 外部 + 内部,路由表 cost 反映整网路径代价,内部故障/拓扑变化会立即体现在 cost 中;
  • • OE2 总 cost = 仅外部,路由表 cost 恒定,内部拓扑变化只能通过 Forward Metric 在外部 cost 相等时实现间接生效。

2、Forward Metric 的"激活条件"

  • • OE1:已计入总 cost,无需额外比较;
  • • OE2:仅当外部 cost 完全相等时才作为比较条件,否则完全无效(场景四)。

3、5 类 LSA 在域内泛洪时 metric 不累加——这是与 1/3 类 LSA 的关键区别,也是 ASBR 引入路由时 metric 能"原汁原味"传递到全网的基础。

4、工程选型建议

  • • 多出口、希望感知内部拓扑→ OE1(场景一、二)
  • • 单出口或外部 cost 差异显著→ OE2(场景三、四)
  • • 需要精确控制选路→ OE2 + route-policy(手动调 External Cost)