OSPF 中的FA是做什么用的?

来源:本站原创 CISCO 超过1,165 views围观 0条评论

FA 是Forwarding Address的简写。FA是ASBR通告的TYPE 5 LSA中的字段,它的作用是告诉OSPF域内的路由器如何能够更快捷地到达LSA 5所通告路由的下一跳地址。以免OSPF 内部路由器在广播网络上以ASBR为下一跳,再由ASBR自己转发到正确的下一跳,而产生额外的路由。简单来说,FA字段的作用类似于BGP协议中的“第三方下一跳”概念,主要在广播共享网络中起作用。FA字段可以为全0或者非0两种选择,有以下几个规则:

1、 当与引入路由的下一跳关联(互连)的接口没有启动OSPF时,FA设置为0;

例如在上面图中,R8引入直连接口E1的路由,此接口没有启动OSPF,因此TYPE 5 的LSA中 FA字段为0。

2、当下列所有条件均满足的情况下,TYPE 5 LSA中FA字段设置为非0:

       1、在ASBR上,与引入外部路由下一跳关联的接口启动了OSPF,即位于Network

命令范围内。

       2、在ASBR上,与引入外部路由下一跳关联的接口不能配置被动接口;

              //前两个规则是确保LSA能够被通告。

       3、在ASBR上,与引入外部路由下一跳关联的接口配置的OSPF网络类型不能是P2P

       或P2MP。

              //确保网络类型是Broadcast或NBMA 的共享网络。

以上说了FA字段可能设置为非0,那么到底是一个什么值呢? 它是数据包应该被路由到的出口的接口地址。并不是loopback接口的IP地址,或者ROUTER ID指示的值什么的?

1           OSPF协议中FA地址是如何影响外部路由选路的?

上面提到TYPE 5 LSA的FA字段要么为0,要么非0。那么对于路由选路有何影响吗?

又有哪些注意点呢?

概括起来讲就是在计算由TYPE 5 LSA描述的某个外部路由时,会查找生成该LSA的ASBR,如果不存在这个ASBR的表项,忽略这个LSA。

       否则,检查这个LSA的FA地址,这个地址就是转发数据包应该被发送到的地址。如果FA为0,数据包应该被发送到ASBR;如果FA非0,在OSPF路由表中查找到FA地址的表项,而且该表项必须被域内或者域间路由覆盖,否则不考虑这个LSA。

       前面卖了这么多的关子,到底ospf在计算路由时如何参考FA地址?

       一句话:如果FA非0,根据计算到FA地址的metric,而不是计算到ASBR的metric进行路由优选。那么在计算外部路由时又是如何依据它进行选路呢?

1、 计算外部路由时,首先检查通告TYPE 5 LSA的ASBR是否存在,否则忽略该LSA;

2、 检查TYPE 5 LSA的FA地址是否为0。如为0,说明路由必须经过ASBR转发,那么优选到ASBR metric 最短的路径。当有多个最短路径时,优选从较大area ID学习到的。

如果FA非0,那么优选到FA地址 metric最短的路径,而且到FA的路由必须时域内或域间的,否则忽略该表项。

       注意以上的优选过程都是在比较了OSPF 域内、域间、外部类型1、外部类型2 四种优先级后,以及网络前缀长度都相同的情况下进行的。

文章出自:CCIE那点事 http://www.jdccie.com/ 版权所有。本站文章除注明出处外,皆为作者原创文章,可自由引用,但请注明来源。 禁止全文转载。
本文链接:http://www.jdccie.com/?p=412转载请注明转自CCIE那点事
如果喜欢:点此订阅本站
  • 相关文章
  • 为您推荐
  • 各种观点

暂时还木有人评论,坐等沙发!
发表评论

您必须 [ 登录 ] 才能发表留言!