0. 课件来源
FA(Forwarding Address,转发地址)是 Type 5 和 Type 7 LSA 中一个极易被忽视但影响深远的字段。它决定了 ASE 路由的真正"下一跳"和"内部 cost",理解 FA 是掌握外部路由选路的关键。
1. FA 的本质
FA 回答一个问题:"外部路由的真正出口在哪里?"
默认情况:
FA = 0.0.0.0 → 数据包先到 ASBR,再由 ASBR 转发出去
特殊情况(条件触发):
FA ≠ 0.0.0.0 → 数据包直接发给 FA 地址(绕过 ASBR!)💡 FA 对选路的影响
| FA 值 | 内部 cost | 下一跳 |
|---|---|---|
| 0.0.0.0 | 我到 ASBR 的 OSPF cost | 我到 ASBR 的下一跳 |
| 非 0 | 我到 FA 地址的 OSPF cost | 我到 FA 地址的下一跳 |
2. FA 的生成规则
2.1 常规区域(Regular Area)
| 引入路由类型 | 默认 FA | 例外(同时满足三条件→FA=外部路由的下一跳) |
|---|---|---|
| 引入直连路由 | 0.0.0.0 | 三条件同时满足 → FA = 下一跳 |
| 引入外部动态路由 | 0.0.0.0 | 三条件同时满足 → FA = 下一跳 |
2.2 NSSA 区域
| 引入路由类型 | 默认 FA | 例外(同时满足三条件→FA=外部路由的下一跳) |
|---|---|---|
| 引入直连路由 | Loopback 地址(无 Loopback 则物理口 IP) | 三条件同时满足 → FA = 下一跳 |
| 引入外部动态路由 | Loopback 地址(无 Loopback 则物理口 IP) | 三条件同时满足 → FA = 下一跳 |
2.3 "三条件"详解
当以下三个条件同时满足时,FA = 外部路由的原始下一跳(而非 0.0.0.0 或 Loopback 地址):
| # | 条件 | 说明 |
|---|---|---|
| 1 | 外部路由的出接口使能了 OSPF | 该接口参与 OSPF 进程 |
| 2 | 出接口的 OSPF 网络类型为非 P2P/非 P2MP | 即 Broadcast 或 NBMA |
| 3 | 出接口没有被静默(silent-interface) | 接口正常发送 Hello 和 LSA |
示例:AR1 通过 RIP 学到 6.6.6.0/24(出接口 GE0/0/0,10.1.15.0/24 网段)
若 GE0/0/0 使能 OSPF、网络类型 Broadcast、未被静默:
→ 6.6.6.0/24 的 Type 5 LSA 中 FA = 10.1.15.6(RIP 的下一跳)
其他设备收到此 T5:
内部 cost = 到 10.1.15.6 的 cost(不是到 AR1 的 cost!)
下一跳 = 到 10.1.15.6 的下一跳3. FA 对选路的深度影响
3.1 FA = 0.0.0.0(经典计算)
ASE 路由计算 = T5 + [T4] + T1/2
与 ASBR 同区域:T5(leaf)+ T1/2(到 ASBR 的拓扑)
内部 cost = 我到 ASBR 的 cost
下一跳 = 我到 ASBR 的下一跳
与 ASBR 不同区域:T5 + T4(ASBR 位置)+ T1/2
内部 cost = 我到 ASBR 的 cost(T4.cost + T1/2.cost)
下一跳 = 递归到 ASBR 的下一跳3.2 FA ≠ 0.0.0.0(FA 直通)
ASE 路由计算 = T5(FA=非0) → 直接查 FA 地址的 OSPF 路由
内部 cost = FA 地址在 OSPF 路由表中的 cost
下一跳 = FA 地址在 OSPF 路由表中的下一跳⚠️ FA 可达性——关键限制
如果 FA 地址在路由表中不可达(未被 OSPF 学到、或被过滤掉),则对应的 ASE 外部路由也计算不出来——即便 T5 LSA 本身已收到!
# 模拟 FA 不可达的场景
AR4:
acl 2000
rule deny source 10.1.15.0 0 # 过滤 FA 地址所在网段
→ 所有 FA=10.1.15.x 的 ASE 路由全部丢失4. NSSA 7 转 5 中的 FA 机制
NSSA 区域的 ABR 在做 7 转 5 时,默认继承 Type 7 的 FA 地址到 Type 5。
4.1 为什么要继承 FA?
如果没有 FA,多个 ABR 都会各自做 7 转 5 → 产生多条 Type 5 → LSDB 膨胀。
有了 FA 后:默认只有 Router-ID 最大的 ABR 做 7 转 5(避免冗余 T5)。
4.2 控制 7 转 5 的 ABR
# 方法1:修改 Router-ID(大者优先)
router-id 10.0.0.1
# 方法2:指定 translator(推荐)
ospf 1
area 2
nssa translator-always # 强制本 ABR 负责 7 转 54.3 抑制 FA 继承
# ABR 上将 Type 7 FA 清零后再转 Type 5
ospf 1
area 2
nssa suppress-forwarding-address4.4 7 转 5 的前提
| 前提 | 说明 |
|---|---|
| Type 7 LSA 的 Options 中 NP 置位 | N=1(NSSA),P=1(Propagate=允许转换) |
| FA 地址存在 | Type 7 中 FA 非空 |
5. NSSA 区域路由引入的特殊控制
5.1 no-import-route
阻止本路由器向 NSSA 区域注入 Type 7 LSA:
ospf 1
area 2
nssa no-import-route # 本地不产生 Type 7(过滤外部引入)5.2 NSSA ABR 的双重身份
NSSA 区域的 ABR 同时可能也是 ASBR:
- 它自己是 ABR(连接 Area 0 和 NSSA)
- 如果它引入外部路由 → 向 NSSA 产生 Type 7(作为 ASBR)
- 但它产生的 Type 7 中 NP 不置位 → 其他人不会把它转成 Type 5
6. 业务路由引入最佳实践
💡 业务网段该用 network 还是 import-route?
| 方式 | 优点 | 缺点 |
|---|---|---|
| network | 域内路由,优先级高 | 需静默(silent-interface),选路控制弱 |
| import-route | 无需静默,可 route-policy 过滤/修改属性,ASE1>ASE2 灵活 | 外部路由,优先级低 |
推荐:业务网段用 import-route + route-policy,选路控制更精细。
7. 易混淆点与考前速记
| 对比项 | 结论 |
|---|---|
| FA = 0.0.0.0 | 内部 cost = 到 ASBR 的 cost;下一跳 = 到 ASBR 的下一跳 |
| FA ≠ 0.0.0.0 | 内部 cost = 到 FA 地址的 cost;下一跳 = 到 FA 的下一跳 |
| 常规区域默认 FA | 0.0.0.0 |
| NSSA 默认 FA | Loopback 地址 > 物理口 IP(都是使能 OSPF 的接口) |
| 三条件触发 FA=下一跳 | ① 出接口使能 OSPF ② 网络类型非 P2P/P2MP ③ 接口未静默 |
| FA 不可达 | ASE 路由计算不出来(即便收到 T5/T7) |
| 7 转 5 FA 继承 | 默认继承 Type 7 的 FA → 避免多 ABR 重复 7 转 5 |
| 7 转 5 选择 | Router-ID 大者优先 → 可配 translator-always 指定 |
| 抑制 FA | nssa suppress-forwarding-address |
| NP 位 | N(NSSA)+ P(Propagate),P=1 才允许 7 转 5 |
| no-import-route | 禁止本路由器向 NSSA 注入 T7 |
| 业务路由 | import-route 优于 network(选路灵活、无需静默) |
考前速记 6 条:
FA 决定外部路由的"真下一跳":FA=0 走 ASBR,FA≠0 直走 FA常规区域默认 FA=0;NSSA 默认 FA=Loopback 地址三条件触发 FA=下一跳:出接口 ospf + 非 p2p/p2mp + 未静默FA 不可达 → ASE 路由不可达7 转 5:Router-ID 大者优先,translator-always 可强制业务路由用 import-route 而非 network(选路灵活、控制力强)
🤖 AI 伴学
想彻底理解 FA 机制?让 AI 用"快递直转"类比:
"请用快递中转站来类比 OSPF 的 FA 机制:默认情况下(FA=0.0.0.0),外部路由就像'国际快件',必须先送到 ASBR 这个'海关中转站'再分发——所有包裹都得先到 ASBR 走一圈。但如果满足三条件(出接口跑 OSPF、广播网络、未静默),FA 就非 0——相当于海关直接给了你一个'直提码(FA 地址)',包裹直接发到那个地址,不用经过海关了。NSSA 区域更智能:ABR 做 7 转 5 时默认继承 FA,只有 Router-ID 最大的 ABR 负责转换(像个片区总代理),避免每个人都转一份相同包裹。如果 FA 地址不通(被过滤了),就算收到取件通知(T5 LSA)也取不到货。"
