OSPF5类LSA使用次优场景

5类LSA使用次优场景:

AR6 和AR7建立OSPF的邻居关系

AR7配置静态路由访问AR8 的环回口

AR7将静态路由引入到OSPF中

AR6通过5类LSA访问AR8的环回口

AR6访问8.8.8.8是否会走次优路径 AR6-AR7-AR8?

不会走次优路径,即AR6会直接访问AR8

如何实现次优问题解决?

AR7在引入静态路由时,会将forwarding address字段置位

置位的信息是AR6访问外部路由最优的下一跳

AR7如何置位转发地址?

满足三个条件

1.连接外部路由的接口要宣告OSPF
2.连接外部路由的接口是广播型网络
3.连接外部路由的接口不是静默接口

AR7就会将去往外部路由的下一跳,在5类LSA中做为转发地址携带

FA 置位后的核心作用

其他路由器(如 AR6)在收到这条 5 类 LSA 时,不会将引入外部路由的路由器(AR7)作为唯一的下一跳,而是会直接以 FA 地址 作为转发目标,计算到达 FA 地址的最优路径。

结合场景理解

在你描述的场景中:

  1. AR7 通过静态路由连接 AR8,并将该静态路由引入 OSPF(生成 5 类 LSA)。
  2. 假设 AR7 连接 AR8 的接口满足 FA 置位的三个条件(宣告进 OSPF、广播型网络、非静默接口),则该接口的 IP 地址(或 AR8 与 AR7 直连的接口地址,取决于网络拓扑)会被设置为 FA 地址。
  3. AR6 收到这条 5 类 LSA 后,会发现 FA 地址是可达的(因为 FA 地址所在的接口已宣告进 OSPF,AR6 能通过 OSPF 计算出到达 FA 地址的路径)。
  4. 如果 AR6 到 FA 地址的最优路径是 AR6 直接到 AR8(而非经过 AR7),那么 AR6 就会选择这条路径,而非 "AR6-AR7-AR8",从而避免次优路径。

总结

FA 置位的本质是 让外部路由的下一跳信息更 "透明",使 OSPF 域内的路由器能直接发现到达外部网络的最短路径,而不必绕行到引入路由的路由器,这也是为什么 AR6 可以直接访问 AR8 的关键原因。

更加形象的解释:

我们可以把 OSPF 网络想象成一个「快递系统」,用生活化的场景来理解 FA 地址置位的作用:

场景设定

  • AR7 是「快递中转站」,负责把「外部小区」(AR8 所在的外部网络)的包裹(数据)引入到「OSPF 快递网络」(AR6 等设备所在的 OSPF 域)。
  • AR6 是网络中的一个「快递点」,需要给「外部小区」(AR8)送货。
  • FA 地址 相当于「外部小区的门口收件点」,而 5 类 LSA 就是 AR7 发布的「送货指南」。

当 FA 地址没有置位时:

AR7 在「送货指南」(5 类 LSA)里只写了自己的地址,意思是:「所有去外部小区的包裹,都必须先送到我这个中转站(AR7),再由我转发。」

这时候 AR6 不管自己能不能直接到外部小区,都得先把包裹送到 AR7,再由 AR7 转给 AR8。哪怕 AR6 离 AR8 更近,也必须绕路,效率很低。

当 FA 地址置位时:

AR7 满足了三个条件(连接外部的接口在 OSPF 里、广播型网络、非静默接口),相当于:

  1. 「外部小区的门口收件点」(FA 地址)被纳入了「OSPF 快递网络」的地图(接口宣告进 OSPF);
  2. 这个收件点所在的路是「公共马路」(广播型网络),大家都能直接到达;
  3. 这个收件点没有「关门」(非静默接口),能正常接收包裹。

于是 AR7 在「送货指南」里明确写了:「去外部小区的包裹,直接送到门口收件点(FA 地址)就行,不用经过我。」

这时候 AR6 一看指南,发现自己能直接到「门口收件点」(比如 AR6 和 AR8 有直连链路),就会跳过 AR7,直接把包裹送到 FA 地址(也就是 AR8 附近),效率大大提高。
假设 AR6 是「本地配送员」,AR7 是「区域物流中心」,AR8 是「客户地址」(外部目的地)。

  1. 没 FA 地址时

    AR7(物流中心)收到 AR8(客户)的包裹需求后,给 AR6(配送员)发了一张「送货单」(5 类 LSA),但只写了自己的地址:"所有给 AR8 的货,必须先送到我这,我再转发。"

    这时候,哪怕 AR6 知道一条更近的路能直接到 AR8(比如客户就在隔壁街),也得先绕到 AR7 那里,再由 AR7 派送到 AR8------ 纯属多此一举,浪费时间(次优路径)。

  2. 有 FA 地址时

    AR7 发现 AR8 的「家门口」(AR8 与外界连接的接口)符合条件(能被整个物流网络识别、路是通的、有人接收),于是在「送货单」上补充了一行关键信息:"直接送到 AR8 家门口(FA 地址),不用经过我。"

    AR6 拿到这张单子后,打开「地图」(OSPF 路由表)一看:从自己的位置到 AR8 家门口,确实有一条直路(比如 AR6 和 AR8 直接相连),比绕去 AR7 近多了。

    于是 AR6 直接按「家门口地址」送货,跳过 AR7,效率拉满 ------ 这就是 FA 地址的作用:让配送员(AR6)知道 "最优送货点",不用非得经过物流中心(AR7)

所以核心就是:

AR7 作为「信息发布者」,通过 5 类 LSA 告诉 AR6 "有个外部客户叫 AR8";而 FA 地址则是补充说明 "去这个客户家,最近的收货点在 X 地址"。AR6 作为「执行者」,会自己算路,直接去 X 地址(如果能到的话),不用再绕路。

需要记住的命令:

bash 复制代码
<AR6>dis ip routing-table protocol ospf 次优的路由可以在这里查看