4

「OSPF」- Forwarding Address

 2 years ago
source link: https://blog.k4nz.com/351965517906c1e2769eebfe0c891ce2/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

「OSPF」- Forwarding Address

「OSPF」- Forwarding Address

 2022-03-18   CREATED BY JENKINSBOT

pasted_image.png

R2、R3和R4运行OSPF,均部署在Area0中。其中R2和R3的GE0/0/1接口都激活OSPF并建立邻接关系,但是两者与外部路由器R1并不建立OSPF邻接关系。
1)R2配置到达10.1.1.1/32的静态路由,下一跳为10.1.123.1。
2)R2将静态路由引入OSPF,产生Type5 LSA在区域内泛洪。
3)R3接收到R2产生的5类LSA,计算出到达10.1.1.1/32的外部路由,并且将路由的下一跳指定为R2(10.1.123.2)。

OSPF域内的路由器如R4到达10.1.1.1/32的路径是:R4-R3-R2-R1,该路径是次优路径的。

FA(Forwarding Address,转发地址):
到达所通告的目的地的数据包应该被转发到的地址,如果转发地址为0.0.0.0,那么数据包将被转发到始发ASBR上。
OSPF的Type5 LSA和Type7 LSA中包含一个特别的字段FA,FA的引入使得OSPF在某些特殊的场景下可以避免次优路径问题。参考 Type5 AS-External-LSA 和 Type7 NSSA LSA 报文格式。

pasted_image001.png

R2向OSPF域内通告到达10.1.1.1/32的外部路由时,为对应的Type5 LSA设置FA,值为其自己到达该外部路由的下一跳:10.1.123.1。
当R3收到该LSA后,计算到达10.1.1.1/32的路由时,发现FA为非0,因此它认为到达目标地址10.1.1.1/32的下一跳为FA所指定的地址,即:10.1.123.1。

FA的取值

当ASBR引入外部路由时,若Type5 LSA中的FA字段为0,表示路由器认为到达目的网段的数据包应该发往该ASBR;若Type5 LSA中的FA字段不为0,表示路由器认为到达目的网段的数据包应该发往这个FA所标识的设备。

当以下条件全部满足时,FA字段才可以被设置为非0:
ASBR在其连接外部网络的接口(外部路由的出接口)上激活了OSPF;
该接口没有被配置为Silent-Interface;
该接口的OSPF网络类型为Broadcast或NBMA;
该接口的IP地址在OSPF配置的network命令指定的网段范围内。

到达FA地址的路由必须是OSPF区域内部路由或区域间路由,这样接收到该外部LSA的路由器才能够加载该LSA进入路由表。加载的外部LSA生成的路由条目下一跳与到达FA地址的下一跳相同。

NSSA区域Type7 LSA转化为Type5 LSA:
为了将NSSA区域引入的外部路由发布到其它区域,需要把Type7 LSA转化为Type5 LSA以便在整个OSPF网络中通告。缺省情况下,转换路由器是NSSA区域中Router ID最大的区域边界路由器(ABR)。
LSA头部Options字段中的P-bit(Propagate bit)用于告知转化路由器该条Type7 LSA是否需要转化为Type5 LSA。只有P-bit置位并且FA不为0的Type7 LSA才能转化为Type5 LSA。
区域边界路由器产生的Type7 LSA不会置位P-bit。

注意:所有的OSPF LSA有相同的LSA头部,P-bit在LSA头部中的Options字段。

NSSA场景下FA的典型应用

当NSSA区域中有多个ABR时,系统会根据规则自动选择一个ABR作为转换器,将Type7 LSA转换为Type5 LSA,其他ABR不做LSA转换。
如图所示,如果不考虑FA,由于R3的Router ID比R2大,因此它将执行7转5的动作,如此一来,R1将认为必须经由ABR(R3)到达目的网络。这样,流量便会被引导到低带宽链路,即R1-R3-R4-R5。

pasted_image002.png

如图所示:
R5引入直连外部路由,且将FA设为自己访问目的网段10.1.5.0/24的地址:10.1.45.5。
R3执行Type7 LSA转换Type5 LSA动作,继续携带FA:10.1.45.5。
R1收到后,会在自己的OSPF路由表中查询到达这个FA的路由,发现在OSPF路由表中能够找到匹配这个FA的路由,就使用到达这个FA的下一跳地址作为这条外部路由的下一跳地址。
因此,R1最终会通过R1-R2-R4-R5路径,访问目的网段10.1.5.0/24。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK