一、网络拓扑结构
二、故障表现
1、中兴T40G汇聚交换机无法通过中兴S8908-1核心交换机将流量传递给中兴T1200核心路由器。
2、T1200核心路由器学习到T40G汇聚路由器的OSPF路由条目,且下一跳为S8908-1核心交换机;1号汇聚点的S5600汇聚交换机学习到T40G汇聚路由器的OSPF路由条目,直观显现出相关路由条目均能正常存放于各自路由表中。
3、中兴T40G汇聚路由器各逻辑接口至1号汇聚点交换机各逻辑接口之间数据包传输出现规则丢包显现,丢包率正好为50%。
三、故障排查
1、初步排查:根据上面提及的故障表现1和2,并且当切断核心路由器T1200与和核心交换机S8908-1之间网络连接后,该故障排除,因此判断是路由不对称导致数据包来回路径不一致,最终致使数据包丢失。为防止DDOS、中间人等网络***事件发生,三层网络设备有时会在接口模式下启用IP地址校验功能,当该项功能启用之后会对当前接口所转发的所有数据包源目的地址进行校验,当源目的地址有差异时将丢弃该数据包,因此该项功能启用后也会直接影响网络的负载均衡部署。
2、进一步排查:根据上面提及的故障表现3,结合故障表现1,以及根据OSPF负载均衡判断,ICMP收发成功的路径为核心交换机S8908-2所学习到的路径,而ICMP收发失败的路径为核心交换机S8908-1所学习到的路径,并且从1号汇聚点的S5600各逻辑接口均无法访问汇聚路由器T40G的192.168.1.62这个IP地址(与核心交换机S8908-1的互联接口地址),因此可以将故障点定位在核心交换机S8908-1与汇聚交换机T40G互联链路上。
3、深入排查:先后对核心交换机S8908-1和汇聚交换机T40G的OSPF路由进程信息、OSPF区域信息、OSPF接口信息、OSPF邻居信息逐一排查,最终发现S8908-1与T40G的OSPF邻居状态没有到达FULL状态,同时也发现在T40G的OSPF进程内发布了192.168.33.36这一接口地址,而该地址为核心路由器T1200的LOOPBACK地址。
四、故障解决
在汇聚交换机T40G上的OSPF进程中删除错误发布的IP地址,并将T40G的LOOPBACK地址发布至OSPF进程,这一操作主要是手动刷新OSPF进程,避免硬重启进程带来的全量计算。通过该操作使得核心交换机S8908-1与汇聚交换机T40G的OSPF邻居关系重新建立,并且邻居状态最终变为FULL这一稳定状态。
五、故障根源分析
该次故障直接原因是核心交换机S8908-1与汇聚交换机T40G的OSPF邻居关系未建立成功,而根本原因归纳起来有以下两种可能性:
一是核心交换机S8908-1与核心交换机S8908-2关于area 1的链路状态数据库不一致使得S8908-1与T40G之间的OSPF邻居关系不正常。二是核心交换机S8908-1操作系统邻居表计算BUG导致S8908-1与T40G之间的OSPF邻居关系不正常。
在核心交换机S8908-1与汇聚交换机T40G互联链路这一MA环境中,T40G为DR而S8908-1为BDR,由于邻居关系不正常,致使S8908-1与T40G之间没有进行LSA交互,因此核心路由器S8908-1误认为自身的链路状态数据库为最新,完全不需要再进行SPF计算,进而误以为路由表也是最新,因此虽然S8908-1与T40G之间互联链路早已失效,但是S8908-1学习的T40G路由条目未能更新且依旧显示为活动状态,所以核心路由器T1200与1号汇聚点交换机S5600认为到达T40G各逻辑接口的最优路径下一跳依旧为8908-1。
六、结论
1、从以上故障可以看出目前在用的中兴三层设备的负载均衡都是基于源目的地址;而H3C三层设备的负载均衡是基于数据包,ICMP数据包50%丢包率即为佐证。
2、在一个MA网络中选取一个稳定的OSPF-DR具有重要意义。
转载于:https://blog.51cto.com/bigmonster/1906754