

随着网络拓扑和路由协议的复杂性不断增加,我们经常忽略了在LSA中所包含的Forwarding Address字段的潜在价值。考虑一个网络结构,在其中OSPF与RIP协议共存,而在ASBR(Autonomous System Boundary Router)引入的外部路由中,FA地址的设置对路由选择产生了意想不到的影响。
在一个典型的场景中,比如在RTA、RTB和RTC所构成的MA网络中,RTA通过OSPF学习到RIP中的外部路由,但由于下一跳被设置为RTB,导致了流量被转发到RTB再传送至RTC,这可能与最优的路由选择不符合。然而,OSPF的Forwarding Address字段提供了一种机制来解决这样的问题。
如图所示,RTA、RTB、RTC同处于一个MA网络,RTA和RTB之间运行OSPF,RTB和RTC之间运行RIP。
RTB将通过RIP学来的路由重发布到OSPF,RTA通过OSPF学习到RIP中192.168.3.0/24的外部路由,但是下一跳是RTB。所以RTA访问192.168.3.0/24的流量先发送给RTB,RTB收到后又转发给RTC。在RTA上这条路由是次优的,最优的下一跳应当为RTC。
OSPF通过设置Forwarding Address来解决这个问题。
通常情况下,ASBR引入外部路由产生的五类LSA中Forwarding Address字段设置为0.0.0.0。
对于图中的场景,RTB路由表中到达192.168.3.0/24的下一跳地址为10.1.123.3。10.1.123.3所属网段10.1.123.0/24运行OSPF,所以RTB生成的五类LSA中,Forwarding Address被设置为10.1.123.3。
当RTA收到五类LSA时,发现Forwarding Address字段非0,其值为10.1.123.3,所以RTA按照Forwarding Address计算下一跳。
FA地址功能:
1.当5类LSA中的FA地址为0.0.0.0时,代表fa地址为空
在计算这条外部路由时,会通过寻找ASBR来计算
2.当5类LSA中的FA地址为具体IP地址是,代表存在FA地址
在计算这条外部路由时,就会通过路由器的SPF树,来寻找FA地址进行计算
FA地址生成条件:
1.ASBR去往外部路由的接口被宣告进ospf中
2.ASBR去往外部路由的接口没有配置静默接口
3.ASBR去往外部路由的接口网络类型不是P2P
注意:产生FA地址的条件不包括R1和R2建立邻居
综上所述,尽管Forwarding Address字段在LSA中可能显得不起眼,但其在路由计算和流量转发中具有重要作用。了解并合理设置FA地址,能够在网络拓扑中带来更为合理和优化的路由选择,确保数据包按照最佳路径进行传输。尤其是对于ASBR引入外部路由的情景,掌握FA地址生成的条件和意义将有助于优化网络性能,确保数据在网络中高效地传输。