ospf

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

FA字段可以为全0或者非0两种选择,有以下几个规则:
1、 当与引入路由的下一跳关联(互连)的接口没有启动OSPF时,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指示的值什么的?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 四种优先级后,以及网络前缀长度都相同的情况下进行的。
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值