关于OSPF 5类LSA中Forwarding Address
1、如果ASBR没有network 去往外部路由的链路接口。那LSA5的Forwarding Address为0.0.0.0 (适用于华为设备)
- 在转发地址都是0.0.0.0的情况下:E1类型的路由优先于E2类型的路由。
- 如果 Forwarding Address为0,则表示下一跳指向ASBR,如果有多条路径指向ASBR,可以负载均衡
- 如果外部LSA metric type与引入的时候Metric也相同的话,并且forward address均为0.0.0.0 , 则比较达到ASBR最短的路径。(所以E2类型的话,虽然有可能metric都是20,但任然需要比较到达ASBR的cost)
- 如果区域有多个ASBR的时候,且转发地址是0.0.0.0时,每个ASBR都会生成类型5的Lsa(有例外)
- 转发地址为0.0.0.0时,外部路由开销的计算就是到达ASBR的开销+外部开销
2、OSPF中产生Type 5 LSA时,什么时候FA地址不为0.0.0.0呢?
若同时满足以下三个条件:
a)引入的这条外部路由,其对应的出接口启用了OSPF
b)引入的这条外部路由,其对应的出接口未设置为passive-interface (silent-interface)
c)引入的这条外部路由,其对应的出接口的OSPF网络类型为broadcast或者NBMA
路由算法
1 如果FA地址为0.0.0.0,则根据到ASBR来计算此外部路由的下一跳和开销值。
2 如果FA地址不为0.0.0.0 ,则根据到FA地址的路由来计算此外部路由的下一跳和开销值。
a, b 是确保外部链路都被通告到OSPF网络,LSA能够被通告 ,c确保网络类型是Broadcast或NBMA 的共享网络,则产生的Type 5 LSA,其FA地址等于该引入的外部路由的下一跳地址。c是为了确定对端路由器将去往转发地址的链路加入到了OSPF进程,保证路径可以被优化。
- 当区域有多个ASBR的时候,转发地址为0.0.0.0时, 如果外部路由的AD值大于OSPF,将导致为非直连的外部路由产生的LSA5不稳定,和重分发的次序有关系。
如果外部路由的AD值小于OSPF,则ASBR都产生类型5的LSA, 如果一台ASBR产生的LSA5带转发地址,一台不带转发地址,则ASBR还是都产生类型5的LSA.(华为设备相同)
- 当区域有多个ASBR的时候,转发地址非0.0.0.0时,如果外部路由的AD值大于OSPF,将导致非直连的外部路由产生的LSA5不稳定, 和重分发的次序有关系。
如果外部路由的AD值小于OSPF,当ASBR的FA地址相同时,则ROUTER-ID大的ASBR产生5类LSA (华为设备都产生),当ASBR的FA地址不同时,则ASBR都产生5类LSA(华为设备相同)。
结论:华为设备当区域有多个ASBR的时候,每个ASBR独立产生5类LSA
- 如果在同一个区域中有多台ASBR,并且ASBR去往这些外部路由拥有多个等价的下一跳,并且出接口相同,则使用地址大的下一跳作为FA地址生成5类LSA。(华为设备也使用相同规 则) ,则场景下的 IOS 15.2的ASBR不会为此类型5的LSA设置转发地址,FA地址为0.0.0.0,内部路由器通过计算 到达ASBR开销来计算此外部路由的开销。
- 如果在同一个区域中有多台ASBR,并且ASBR去往这些外部路由拥有多个等价的下一跳,并且出接口不相同,选择下一跳地址大的作为转发地址,不考虑外部路由出接口的OSPF开销值(华为设备相同,如果一个有FA地址,一个没有FA,生成的5类LSA带FA地址) , 注:IOS15.2的在此场景下不设置转发地址。
- 如果路由器缺乏去往Forwarding Address的路由,或者是将去往转发地址地路由过滤,LSA5外部路由不装进路由表,原因是当FA地址不为0时,计算的是到FA地址COST来计算到外部 路由的开销,因此也表明去往FA地址路由,必须以O或者O IA的形式出现在路由表中 。
- 转发地址不为0时,外部路由开销的计算就是到达转发地址的路由开销+外部开销。
- 如果去往外部路由有多条5类LSA, 并且metric-type1 ,FA地址不再相同的网段,根据路由计算后的最小cost作为最佳路由,如果cost相同,则负载分担。
- 如果去往外部路由有多条5类LSA,并且metric-type2 ,FA地址不再相同的网段,选路规则如下:
1、cost-type 2 当种子cost相同,到达转发地址的cost相同,则负载分担。
2、cost-type 2 当种子cost相同,到达转发地址的cost不同,则选择到达转发发地址cost 小的。
3、cost-type 2 当到达转发地址的cost相同,种子cost值不同,则选择种子度量值小的。
4、cost-type 2 当到达转发地址的cost不同,种子cost值不同,始终选择种子cost值小的路径,不考虑到转发地址的COST值
- 如果转发地址不一样,在metric-type2的情况下,遵循如下规则
场景如下:
针对开销类型2的路由
- 华为设备 类型5或类型7的LSA, 当转发地址非0时,优先使用种子开销值小的LSA计算路由,如果种子开销值相同,则优先选择到转发地址开销值小的LSA计算路由。如果种子开销相同,转发地址开销相同(转发地址相同或者不同),则负载分担。
- 如果ASBR上去往外部同一条路由的开销相同,则使用转发地址大的产生类型5或者是类型7的LSA)