理论知识
FA地址 只在外部路由存在 5/7LSA 查询外部路由FA地址 其主要作用就是通告外部路由最快捷的下一跳地址
按照常规处理,RTA 会通过 RTB 生成的 OSPF LSA 学习到该路由,其下一跳指向 RTB。此时,RTA 访问 192.168.3.0/24 的流量必须经过 RTB 中转,导致次优路径——因为 RTA 与 RTC 处于同一 MA 网络,本可直接通信。
在重发布时,RTB 将 RTC 的接口地址设置为转发地址(Forwarding Address,FA)。RTA 收到该 LSA 后,发现 FA 地址非零,便会直接将该地址作为下一跳,将数据报文直接发送给 RTC,从而避免了经过 RTB 的绕行,实现最优路径转发。
FA = 0.0.0.0 下一跳为ASBR地址
FA ≠ 0.0.0.0 下一跳为外部路由的下一跳地址
- PS:FA地址 必须有OSPF路由(域内或域间) 例如 RTA 或 RTB 都将 10.1.123.0/24 宣告路由(域内)
- ≠0 条件 : 外部路由的出接口激活了OSPF(被宣告了)、非OSPF边缘端口、网络类型为MA 三个条件必须同时满足
7类LSA的 FA规则
FA = 0.0.0.0 条件 ABR手动引入外部路由 P不置位
FA ≠ 0.0.0.0 条件 ASBR引入外部路由 P置位
P(Propagate bit)置位 用于告知转化路由器该条Type 7 LSA是否需要转化
注意:
- 默认情况下,转换路由器的是NSSA区域中Router ID最大的ABR
- NSSA区域引入外部路由的时候,优先选择环回口作为FA,不然可能会存在次优问题。
相关命令:nssa zero-address-forwarding 此命令含义是 必须填充FA地址
- 满足 “非0条件(ASBR引入外部路由)”,FA地址=外部路由的下一跳地址 ASBR引入外部路由,FA地址为外部路由下一跳
- 不满足 “非0条件(ASBR引入外部路由)”,FA地址=回环口地址 > 物理口地址 ABR引入外部路由,且必须填充FA地址 那么填充为回环口或者物理口地址
默认选择的Router-ID大的ABR路由器一侧链路不一定为最优:
解决方案:
R2、R3 同时转换 则在R2 OSPF 区域视图下 nssa translate-always
NSSA 7类LSA FA地址 实验
网络拓扑
设备配置
R1
#
ospf 1 router-id 1.1.1.1
area 0.0.0.0
#
interface LoopBack0
ip address 1.1.1.1 255.255.255.255
#
interface GigabitEthernet0/0
ip address 12.1.1.1 255.255.255.0
ospf 1 area 0.0.0.0
#
interface GigabitEthernet0/1
ip address 14.1.1.1 255.255.255.0
ospf 1 area 0.0.0.0
R2
#
ospf 1 router-id 2.2.2.2
area 0.0.0.0
area 0.0.0.1
nssa
#
interface LoopBack0
ip address 2.2.2.2 255.255.255.255
#
interface GigabitEthernet0/0
ip address 12.1.1.2 255.255.255.0
ospf 1 area 0.0.0.0
#
interface GigabitEthernet0/1
ip address 23.1.1.2 255.255.255.0
ospf 1 area 0.0.0.1
#
interface GigabitEthernet0/2
ip address 24.1.1.2 255.255.255.0
ospf 1 area 0.0.0.1
R3
#
ospf 1 router-id 3.3.3.3
import-route static type 1
area 0.0.0.1
nssa
#
interface LoopBack0
ip address 3.3.3.3 255.255.255.255
ospf 1 area 0.0.0.0
#
interface GigabitEthernet0/1
ip address 23.1.1.3 255.255.255.0
ospf 1 area 0.0.0.1
#
ip route-static 8.8.8.8 32 NULL0
R4
#
ospf 1 router-id 4.4.4.4
area 0.0.0.0
area 0.0.0.1
nssa
#
interface LoopBack0
ip address 4.4.4.4 255.255.255.255
#
interface GigabitEthernet0/1
ip address 14.1.1.4 255.255.255.0
ospf 1 area 0.0.0.0
#
interface GigabitEthernet0/2
ip address 24.1.1.4 255.255.255.0
ospf 1 area 0.0.0.1
FA正常产生
- NSSA区域 Route-ID 大的 R4 将 8.8.8.8 七类外部路由 转为五类LSA 到 R1。
- R4 LSA报文含有 FA地址 23.1.1.3
- 故R1 去往 8.8.8.8 的下一跳 为 23.1.1.3
[R1]dis ospf lsdb ase
OSPF Process 1 with Router ID 1.1.1.1
Link State Database
Type : External
LS ID : 8.8.8.8
Adv Rtr : 2.2.2.2
LS age : 127
Len : 36
Options : O E
Seq# : 80000001
Checksum : 0x4b81
Net Mask : 255.255.255.255
TOS 0 Metric: 1
E Type : 1
Forwarding Address : 23.1.1.3
Tag : 1
[R1]dis ospf routing
OSPF Process 1 with Router ID 1.1.1.1
Routing Table
Routing for network
Destination Cost Type NextHop AdvRouter Area
24.1.1.0/24 2 Inter 12.1.1.2 2.2.2.2 0.0.0.0
24.1.1.0/24 2 Inter 14.1.1.4 4.4.4.4 0.0.0.0
12.1.1.0/24 1 Transit 0.0.0.0 2.2.2.2 0.0.0.0
14.1.1.0/24 1 Transit 0.0.0.0 1.1.1.1 0.0.0.0
23.1.1.0/24 2 Inter 12.1.1.2 2.2.2.2 0.0.0.0
Routing for ASEs
Destination Cost Type Tag NextHop AdvRouter
8.8.8.8/32 3 Type1 1 12.1.1.2 2.2.2.2
Total nets: 6
Intra area: 2 Inter area: 3 ASE: 1 NSSA: 0
[R1]
次优路径
Router-ID大的ABR路由器 执行nssa suppress-forwarding-address 其核心作用是强制将NSSA区域的ABR在转换7类LSA为5类LSA时,将转发地址(Forwarding Address, FA)设置为0.0.0.0
本次实验现象 就是将R4 执行此命令,导致R1去往3.3.3.3的流量必须经过R4,产生次优路径。
[R4]
[R4]ospf 1
[R4-ospf-1] area 0.0.0.1
[R4-ospf-1-area-0.0.0.1] nssa suppress-fa
[R4-ospf-1-area-0.0.0.1]dis this
#
area 0.0.0.1
nssa suppress-fa
#
return
此时R1再看现象
[R1]dis ospf lsdb ase
OSPF Process 1 with Router ID 1.1.1.1
Link State Database
Type : External
LS ID : 8.8.8.8
Adv Rtr : 4.4.4.4
LS age : 3
Len : 36
Options : O E
Seq# : 80000001
Checksum : 0xcd13
Net Mask : 255.255.255.255
TOS 0 Metric: 1
E Type : 1
Forwarding Address : 0.0.0.0
Tag : 1
[R1]
[R1]dis ospf routing
OSPF Process 1 with Router ID 1.1.1.1
Routing Table
Routing for network
Destination Cost Type NextHop AdvRouter Area
24.1.1.0/24 2 Inter 12.1.1.2 2.2.2.2 0.0.0.0
24.1.1.0/24 2 Inter 14.1.1.4 4.4.4.4 0.0.0.0
12.1.1.0/24 1 Transit 0.0.0.0 2.2.2.2 0.0.0.0
14.1.1.0/24 1 Transit 0.0.0.0 1.1.1.1 0.0.0.0
23.1.1.0/24 2 Inter 12.1.1.2 2.2.2.2 0.0.0.0
Routing for ASEs
Destination Cost Type Tag NextHop AdvRouter
8.8.8.8/32 2 Type1 1 14.1.1.4 4.4.4.4
Total nets: 6
Intra area: 2 Inter area: 3 ASE: 1 NSSA: 0
[R1]