在R4上引入外部路由,查看该7类LSA
[R4]dis ospf lsdb nssa 4.4.4.4
OSPF Process 1 with Router ID 10.1.24.4
Area: 0.0.0.1
Link State Database
Type : NSSA
Ls id : 4.4.4.4
Adv rtr : 10.1.24.4
Ls age : 414
Len : 36
Options : NP
seq# : 80000002
chksum : 0x96d2
Net mask : 255.255.255.255
TOS 0 Metric: 1
E type : 2
Forwarding Address : 10.1.24.4
Tag : 1
Priority : Low
[R4]
#发现FA地址为 10.1.24.4 ,7类LSA的FA地址是一定要被填充的,如若不填充,那么是不能进行7转5的。
#当满足下面四种条件时,FA地址就进行填充:
#1.接口类型不是p2p
#2.接口类型不是p2mp
#3.接口所在的网段宣告进了OSPF
#4.接口没有被静默
#因为我们没有将4.4.4.4环回口所在的网段宣告进ospf,所以FA地址会选择到达4.4.4.4的下一跳地址,就是10.1.24.4
R2和R3都属于ABR设备,那么就会在ABR上将7类LSA转换成5类LSA,但是只有一台ABR能进行转换,所以会对两台ABR的R-ID进行比较,发现R3的R-ID较大,所以就在R3上进行转换,通过在R1上查看LSDB进行验证
[R1]dis ospf lsdb
OSPF Process 1 with Router ID 10.1.12.1
Link State Database
Area: 0.0.0.0
Type LinkState ID AdvRouter Age Len Sequence Metric
Router 10.1.23.3 10.1.23.3 328 36 80000008 1
Router 10.1.23.2 10.1.23.2 338 36 80000008 1
Router 10.1.12.1 10.1.12.1 495 48 8000000D 1
Network 10.1.13.1 10.1.12.1 1178 32 80000005 0
Network 10.1.12.1 10.1.12.1 495 32 80000005 0
Sum-Net 10.1.23.0 10.1.23.3 1365 28 80000005 10
Sum-Net 10.1.23.0 10.1.23.2 338 28 80000005 1
Sum-Net 10.1.24.0 10.1.23.2 1299 28 80000006 1
Sum-Net 10.1.24.0 10.1.23.3 1299 28 80000005 11
AS External Database
Type LinkState ID AdvRouter Age Len Sequence Metric
External 4.4.4.4 10.1.23.3 464 36 80000001 1
[R1]
#发现该5类lsa的通告者是R3,说明是在R3上进行的转换,
#7转5的转换,是根据7类LSA报文option可选项中P置位来判断的,若P置位了,说明可以进行转换,若P没有置位,则不能进行转换
#R3进行转换后,R3对于其他区域来说,他就是ASBR设备,因为该ABR设备跟R1在同一区域,可以通过1/2类lsa计算到ASBR的路劲
查看该5类LSA的详细信息:
[R1]dis ospf lsdb ase 4.4.4.4
OSPF Process 1 with Router ID 10.1.12.1
Link State Database
Type : External
Ls id : 4.4.4.4
Adv rtr : 10.1.23.3
Ls age : 1021
Len : 36
Options : E
seq# : 80000001
chksum : 0x1c58
Net mask : 255.255.255.255
TOS 0 Metric: 1
E type : 2
Forwarding Address : 10.1.24.4
Tag : 1
Priority : Medium
[R1]
#FA地址若为0,那么代表产生这条LSA的设备就是到达该外部路由的最优下一跳
#FA地址若为非0,那么FA地址就是达到该外部路由的最优下一跳,
#在R1中,发现下一跳10.1.24.4不是自己自己的直连网段使用路由递归查询,到达10.1.24.4的地址是10.1.12.2,所以正常情况下,去往4.4.4.4是通过R2的
在R3上配置命令将7类lsa转换为5类的时候修改FA地址默认为0,在R1上查看效果:
[R1]dis ospf lsdb ase 4.4.4.4
OSPF Process 1 with Router ID 10.1.12.1
Link State Database
Type : External
Ls id : 4.4.4.4
Adv rtr : 10.1.23.3
Ls age : 13
Len : 36
Options : E
seq# : 80000002
chksum : 0x2e6c
Net mask : 255.255.255.255
TOS 0 Metric: 1
E type : 2
Forwarding Address : 0.0.0.0
Tag : 1
Priority : Medium
[R1]
查看R1的OSPF路由表:
[R1]dis ospf routing
OSPF Process 1 with Router ID 10.1.12.1
Routing Tables
Routing for Network
Destination Cost Type NextHop AdvRouter Area
10.1.12.0/24 1 Transit 10.1.12.1 10.1.12.1 0.0.0.0
10.1.13.0/24 1 Transit 10.1.13.1 10.1.12.1 0.0.0.0
10.1.23.0/24 2 Inter-area 10.1.12.2 10.1.23.2 0.0.0.0
10.1.24.0/24 2 Inter-area 10.1.12.2 10.1.23.2 0.0.0.0
Routing for ASEs
Destination Cost Type Tag NextHop AdvRouter
4.4.4.4/32 1 Type2 1 10.1.13.3 10.1.23.3
Total Nets: 5
Intra Area: 2 Inter Area: 2 ASE: 1 NSSA: 0
[R1]
#这时到达4.4.4.4的下一跳是ASBR设备了,那么此时R1访问外部路由的路径就是R3-R2-R4,会造成次优路径,
#FA地址的正确配置可以解决次优路劲的问题、
在R2上查看OSPF,LSDB
[R2]dis ospf lsdb
OSPF Process 1 with Router ID 10.1.23.2
Link State Database
Area: 0.0.0.0
Type LinkState ID AdvRouter Age Len Sequence Metric
Router 10.1.23.3 10.1.23.3 141 36 80000009 1
Router 10.1.23.2 10.1.23.2 147 36 80000009 1
Router 10.1.12.1 10.1.12.1 308 48 8000000E 1
Network 10.1.13.1 10.1.12.1 990 32 80000006 0
Network 10.1.12.1 10.1.12.1 308 32 80000006 0
Sum-Net 10.1.23.0 10.1.23.2 147 28 80000006 1
Sum-Net 10.1.23.0 10.1.23.3 1177 28 80000006 10
Sum-Net 10.1.24.0 10.1.23.2 1110 28 80000007 1
Sum-Net 10.1.24.0 10.1.23.3 1112 28 80000006 11
Area: 0.0.0.1
Type LinkState ID AdvRouter Age Len Sequence Metric
Router 10.1.24.4 10.1.24.4 276 36 80000015 2
Router 10.1.23.3 10.1.23.3 1176 36 80000008 10
Router 10.1.23.2 10.1.23.2 345 48 80000022 1
Network 10.1.24.2 10.1.23.2 345 32 80000003 0
Network 10.1.23.3 10.1.23.3 93 32 80000005 0
Sum-Net 10.1.13.0 10.1.23.2 147 28 80000004 2
Sum-Net 10.1.13.0 10.1.23.3 140 28 80000004 1
Sum-Net 10.1.12.0 10.1.23.2 147 28 80000004 1
Sum-Net 10.1.12.0 10.1.23.3 140 28 80000004 2
NSSA 0.0.0.0 10.1.23.2 147 36 80000004 1
NSSA 0.0.0.0 10.1.23.3 140 36 80000004 1
NSSA 10.1.24.0 10.1.24.4 276 36 80000007 1
NSSA 4.4.4.4 10.1.24.4 276 36 80000006 1
AS External Database
Type LinkState ID AdvRouter Age Len Sequence Metric
External 4.4.4.4 10.1.23.3 711 36 80000002 1
[R2]
#发现在R2上会从两个方向学到4.4.4.4的LSA,一条是从NSSA区域学习来的7类LSA,一条是从区域0学习来的5类LSA
#外部路由的类型都为type2,先比较外部开销,再比较内部开销,比较外部开销发现都为1,但是比较内部开销,发现5类LSA的较大,所以会优先选择7类LSA,所以R2到达4.4.4.4的下一跳为10.1.24.4
修改R2的g/0/01接口的开销为10,让R2优先选择5类LSA,
[R2]dis ospf routing
OSPF Process 1 with Router ID 10.1.23.2
Routing Tables
Routing for Network
Destination Cost Type NextHop AdvRouter Area
10.1.12.0/24 1 Transit 10.1.12.2 10.1.23.2 0.0.0.0
10.1.23.0/24 1 Transit 10.1.23.2 10.1.23.2 0.0.0.1
10.1.24.0/24 10 Transit 10.1.24.2 10.1.23.2 0.0.0.1
10.1.13.0/24 2 Transit 10.1.12.1 10.1.12.1 0.0.0.0
Routing for ASEs
Destination Cost Type Tag NextHop AdvRouter
4.4.4.4/32 1 Type2 1 10.1.12.1 10.1.23.3
Total Nets: 5
Intra Area: 4 Inter Area: 0 ASE: 1 NSSA: 0
[R2]
#发现R2优先选择了5类LSA,那么R2到达4.4.4.4的下一跳为10.1.12.1(R1)
#而R1访问4.4.4.4的下一跳为10.1.13.1 (R3)
#而R3访问4.4.4.4的下一跳为10.1.23.2 (R2)
#从而产生了环路
在R1上tracert 4.4.4.4查看效果:
[R1]tracert 4.4.4.4
traceroute to 4.4.4.4(4.4.4.4), max hops: 30 ,packet length: 40,press CTRL_C t
o break
1 10.1.13.3 10 ms 20 ms 20 ms
2 10.1.23.2 30 ms 10 ms 30 ms
3 10.1.12.1 10 ms 10 ms 20 ms
FA地址具有两个作用,一个是避免次优路径的产生,一个是为了避免环路的产生,
OSPF针对外部路由可以通过FA地址来防环,7类LSA一般情况下都会携带FA地址,在执行7转5之后,FA地址会默认保留,所以在默认情况下不会出现环路问题。