OSPF External LSA的Forwarding Address
juniper吧
全部回复
仅看楼主
level 5
1、简介
在学习OSPF的External LSA(类型5)时,该LSA中含有一个forwarding address字段,对于这个特性大家很容易忽略并且也有比较多的疑问,本文详细介绍forwarding address的功能和一些特定应用。
2、External LSA的内容
External LSA用来计算OSPF AS外部的路由,是由ASBR路由器产生和始发的,OSPF AS内部路由器为了实现到外部路由的连通,必须要有关于ASBR路由器的Router lsa(类型1)或者summary ASBR LSA(类型4)。下图为External LSA数据包的内容:
其中的forwarding address定义了去往外部路由的流量的转发地址,一般情况下该地址为0.0.0.0,表示去往外部路由的流量被转发给ASBR路由器。但在某些特定情况下,为了避免次优路径,该地址可能不是0.0.0.0,下面主要介绍这种特殊情况。
3、什么情况下forwarding address不为0
在满足以下条件时,forwarding address不是0.0.0.0,是ASBR路由器的AS外部邻居接口地址。
1)ASBR路由器的外部接口参与OSPF
2)该接口的ospf网络类型不是point-to-point 或者point-to-multipoint。
4、实验验证过程如下:
1)拓扑示意
R1,e0/0-----------e0/1,R2,e0/0-------------R3,e0/1
IP地址和路由协议:R1
Ethernet0/0 192.168.12.1/24 运行RIP
Loopback0 1.1.1.1 /32 运行RIP
IP地址和路由协议:R2
Ethernet0/1 192.168.12.2/24 运行RIP
Ethernet0/0 192.168.23.2/24 运行OSPF
Loopback0 2.2.2.2 /32 运行OSPF
在R2路由器配置了rip和ospf的双向路由重分发。
IP地址和路由协议:R3
Ethernet0/0 192.168.23.3/24 运行OSPF
Loopback0 3.3.3.3 /32 运行OSPF
2)实现以上配置后,观察R3路由器的类型5 lsa
R3#sh ip ospf database external
OSPF Router with ID (3.3.3.3) (Process ID 1)
Type-5 AS External Link States
Routing Bit Set on this LSA
LS age: 848
Options: (No TOS-capability, DC)
LS Type: AS External Link
Link State ID: 1.1.1.1 (External Network Number )
Advertising Router: 2.2.2.2
LS Seq Number: 80000001
Checksum: 0x7D17
Length: 36
Network Mask: /32
Metric Type: 2 (Larger than any link state path)
TOS: 0
Metric: 20
Forward Address: 0.0.0.0
External Route Tag: 0
Routing Bit Set on this LSA
LS age: 848
Options: (No TOS-capability, DC)
LS Type: AS External Link
Link State ID: 192.168.12.0 (External Network Number )
Advertising Router: 2.2.2.2
LS Seq Number: 80000001
Checksum: 0x75AD
Length: 36
Network Mask: /24
Metric Type: 2 (Larger than any link state path)
TOS: 0
Metric: 20
Forward Address: 0.0.0.0
External Route Tag: 0
现在的Forward Address是正常值: 0.0.0.0
R3#sh ip route
O E2 192.168.12.0/24 [110/20] via 192.168.23.2, 00:18:59, Ethernet0/1
1.0.0.0/32 is subnetted, 1 subnets
O E2 1.1.1.1 [110/20] via 192.168.23.2, 00:18:59, Ethernet0/1
2.0.0.0/32 is subnetted, 1 subnets
O 2.2.2.2 [110/11] via 192.168.23.2, 00:18:59, Ethernet0/1
3.0.0.0/32 is subnetted, 1 subnets
C 3.3.3.3 is directly connected, Loopback0
C 192.168.23.0/24 is directly connected, Ethernet0/1
3)根据前面的描述的条件,把R2路由器的外部接口(运行RIP)e0/1也配置到ospf中,可以观察到Forward Address的变化:
R3#sh ip ospf database external
OSPF Router with ID (3.3.3.3) (Process ID 1)
Type-5 AS External Link States
Routing Bit Set on this LSA
LS age: 22
Options: (No TOS-capability, DC)
LS Type: AS External Link
Link State ID: 1.1.1.1 (External Network Number )
Advertising Router: 2.2.2.2
LS Seq Number: 80000002
Checksum: 0x56C6
Length: 36
Network Mask: /32
Metric Type: 2 (Larger than any link state path)
TOS: 0
Metric: 20
Forward Address: 192.168.12.1
External Route Tag: 0
注意,此时R3路由器的类型5的lsa中,Forward Address为 192.168.12.1,该地址是一个外部路由域的路由器R1的接口地址。但是观察下面的路由表,O E2路由的下一跳并没有发生任何变化。
R3#sh ip route
O 192.168.12.0/24 [110/20] via 192.168.23.2, 00:00:32, Ethernet0/1
1.0.0.0/32 is subnetted, 1 subnets
O E2 1.1.1.1 [110/20] via 192.168.23.2, 00:00:32, Ethernet0/1
2.0.0.0/32 is subnetted, 1 subnets
O 2.2.2.2 [110/11] via 192.168.23.2, 00:00:32, Ethernet0/1
3.0.0.0/32 is subnetted, 1 subnets
C 3.3.3.3 is directly connected, Loopback0
C 192.168.23.0/24 is directly connected, Ethernet0/1
5、结束语
上述实验结果表明,在ASBR路由器配置ospf时,如果外部接口参与到ospf中,并且接口不是point-to-point或者point-to-multipoint,类型5的LSA中的forwarding address就会改变为一个外部路由器的地址。
一般情况下,不建议将ASBR路由器的外部接口配置到ospf中,这样forwarding address就是0.0.0.0,流量发送给ASBR即可。
如果ASBR的外部接口是广播网段或者NBMA,即ASBR可能有多个外部直连邻居,在这种情况下,建议将ASBR路由器的外部接口配置到ospf中,使ASBR有更准确的外部转发地址,避免次优路径。
北京华尔思网络实验室 周军 [email protected]
2015年12月21日 10点12分 1
1