处理过程
网络规划及配置
路由器R1与R2连接了业务地址段10.0.0.0/24,R3、R4与R5之间跑OSPF,R3为ASBR1,R4位ASBR2,R3和R4通过静态路由去往10.0.0.0/24业务地址段,通过路由引入OE1(外部路由类型1)的形式通告给R5,R5通过修改G0/0/1接口OSPF开销为2,使业务流量优先走R3(ASBR1),当R3整机故障或者链路故障时,流量走备份路径R4(ASBR2)通过。
故障排查步骤:
1. 在R3与R4两台ASBR上查看业务地址段的静态路由是否正确,检查后无问题。
2. 在R3与R4两台ASBR上查看OSPF引入静态路由是否都是外部类型1且引入的外部开销相等,检查后无问题。
3. 在R5上检查接口开销是否正常,返回如下信息:
<r5>dis ospf 1 interface
OSPF Process 1 with Router ID 5.5.5.5
Interfaces
Area: 0.0.0.0 (MPLS TE not enabled)
IP Address Type State Cost Pri DR BDR
10.1.35.5 P2P P-2-P 1 1 0.0.0.0 0.0.0.0
10.1.45.5 P2P P-2-P 2 1 0.0.0.0 0.0.0.0
通过观察发现,10.1.45.5接口(也就是G0/0/1接口)开销确实更改为2了。
4. 在R5上观察OSPF数据库外部路由明细信息,返回如下信息:
<r5>dis ospf lsdb ase 10.0.0.0
OSPF Process 1 with Router ID 5.5.5.5
Link State Database
Type : External
Ls id : 10.0.0.0
Adv rtr : 3.3.3.3
Ls age : 561
Len : 36
Options : E
seq# : 80000001
chksum : 0xd051
Net mask : 255.255.255.0
TOS 0 Metric: 1
E type : 1
Forwarding Address : 10.1.13.1
Tag : 1
Priority : Low
Type : External
Ls id : 10.0.0.0
Adv rtr : 4.4.4.4
Ls age : 277
Len : 36
Options : E
seq# : 80000003
chksum : 0x7cb8
Net mask : 255.255.255.0
TOS 0 Metric: 1
E type : 1
Forwarding Address : 0.0.0.0
Tag : 1
Priority : Low
通过深入观察外部路由的LSA细节信息,发现路由器R3(Router-ID = 3.3.3.3)的外部路由引入时LSA中Forwarding Address 字段被填充了值,该值为R3路由器与R1路由器互联接口的地址10.1.13.1,该字段填充的目的是多访问网络为了防止报文转发时产生次优路径。
此处正常来说应该是不填充的,进入R3路由器检查OSPF配置,返回信息如下:
<r3>dis ospf 1 int
OSPF Process 1 with Router ID 3.3.3.3
Interfaces
Area: 0.0.0.0 (MPLS TE not enabled)
IP Address Type State Cost Pri DR BDR
10.1.13.3 Broadcast DR 1 1 10.1.13.3 0.0.0.0
10.1.35.3 P2P P-2-P 1 1 0.0.0.0 0.0.0.0
通过以上信息得出,R3上错误的把10.1.13.3接口在OSPF中使能了。
为什么会出现负载均衡,因为R5走R3(ASBR1)去往外部路由(业务地址段10.0.0.0/24)计算路径开销时会有所不同,计算方式为:引入type1时指定的开销(不指定时引入外部路由默认开销为1)+R5到转发地址的开销。
此时,R5走两个ASBR到达业务地址段的开销相同,所以出现了负载均衡!