SR8804X设备作为总部,与两个分支路由器之间运行ospf,总部分支之间过运营商二层线路,三台设备的公网口地址在一个地址段。三台设备间要建立ospf邻居。
按照上图组网配置后,SR8804X能与两个分支设备建立ospf邻居,但只能学到其中一台分支设备ospf network上来的路由,另一台分支路由器network路由在SR8804X没有上路由表。
在SR8804X上,只能学到2.2.2.2的路由,学不到1.1.1.1的路由。
[H3C]dis ip routing-table 1.1.1.1
[H3C]dis ip routing-table 2.2.2.2
Destination/Mask Proto Pre Cost NextHop Interface
2.2.2.2/32 O_INTRA 10 1 10.0.0.3 GE2/0/0
在SR8804X上面看,ospf邻居都已经建立了。
[H3C]dis ospf peer
Area: 0.0.0.0
Router ID Address Pri Dead-Time State Interface
1.1.1.1 10.0.0.2 1 31 Full/DR GE2/0/0
2.2.2.2 10.0.0.3 1 31 Full/DR GE2/0/0
SR8804X收到了对端发来的1.1.1.1对应lsa,但是没有上表。
[H3C]dis ospf lsdb router
Type : Router
LS ID : 1.1.1.1
Adv Rtr : 1.1.1.1
LS age : 1285
Len : 48
Options : ASBR ABR O E
Seq# : 80000008
Checksum : 0x5f75
Link Count: 2
Link ID: 10.0.0.2
Data : 10.0.0.2
Link Type: TransNet
Metric : 1
Link ID: 1.1.1.1
Data : 255.255.255.255
Link Type: StubNet
Metric : 0
现场这种组网非常简单,对设备来说属于非常基础的路由功能,不会有相关路由计算的问题。查看上面的信息,发现比较ospf邻居状态比较奇怪,同一个进程中有两个DR,这个是不符合协议的。一个ospf区域中协商出多个DR,路由计算会有问题。之后需要排查为何一个ospf区域有多个DR。
联系分支路由器侧查看设备ospf邻居状态,发现每个分支都只有与SR8804X的ospf邻居,没有分支彼此间的ospf邻居,分支公网口之间也互相ping不通。说明分支之间二层不通。这种情况下,各个分支发出的ospf协商报文只能发到SR8804X,不会发到其他分支设备上。又因为分支的ospf进程先启动,SR8804X的ospf后配置,分支在协商过程中认为自己是DR,因此出现每个分支都认为自己是DR的情况。该情况下SR8804X只能正确计算出其中一个DR发来的路由,其他DR发来的路由在计算过程中出现异常。
上述情况比较特殊,现网中并不常见,属于特定运营商线路情况下不适用ospf。除上述情况外,OSPF有lsa不上表,常见的原因包含下面几种:
从其他路由协议学习到相同前缀网段的路由,由于其他协议路由优先级更高,ospf计算出路由没有上ip路由表;
SA 为TYPE 5,且携带的FA字段在OSPF路由表中找不到,或者FA字段在OSPF路由表中不是域内、域间路由(FA地址要可达);
Filter-policy过滤了路由;
部分设备硬件对ECMP数目有限制,部分路由不能上表;
MCE场景,DN置位,OSPF防环将部分路由不上表。
将运营商线路调整为二层全互通解决。
该案例暂时没有网友评论
✖
案例意见反馈
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作