锐捷RSR7708-X ospfd导致CPU利用率为99%

一、故障现象描述

客户反馈路由器在使用过程中断网一次,重启后网络恢复,但是网速很慢,登录设备查看时,发现路由的CPU利用率一直都是99%,且在输入命令时路由器响应速率很慢
场景拓扑

二、故障排查分析

  1. 查看CPU利用率的具体情况,发现进程较高的两个分别为tnet和ospfd
  2. 查看设备日志,发现设备中有大量的LLDP邻居震荡日志,使用no lldp enable 命令关闭LLDP功能,关闭后CPU利用率仍然为99%
  3. tnet作为IPv4进程转发进程,该进程较高可能是由于收到攻击,查看设备配置,发现已配置防攻击保护、全局ACL过滤攻击也以开启,未发现异常,由于客户现场子接口数量较多(1500多个),并未查看各个接口下流量统计
  4. ospfd进程为OSPF协议守护线程,因此首先排查是是否network网段过多导致的CPU过高,发现并未出现network 0.0.0.0 之类的宣告方式
  5. 排查ospf邻居是否过多或震荡,发现邻居数量只有3个,且未频繁震荡
  6. show ip ospf database | include 3600 查看否存在lsa 在频繁老化刷新,发现并未出现
  7. 查看SPF是否震荡,发现也在正常计算范围内
  8. 后查看ospf报文的收发情况,发现有大量的ospf发送,由于该设备有1500多个子接口,每个接口发送和接受大量的ospf报文导致CPU过高

三、故障根因说明

该故障是由于设备只使用某几个接口建立ospf邻接关系,但是设备上其他1500多个子接口上未关闭ospf发送和接受功能,导致每个接口都接收大量的ospf报文,导致ospfd进程使用率过高,而ospf报文是送至路由器本地处理,不走快转,因此tnet进程使用率过高,两个进程导致CPU利用率99%.

四、故障解决方案

  1. 将不需要接受ospf的报文的邻居设置为passive interface
      passive interface:当一个接口被配置为被动接口时,它将不再主动发送Hello消息。相反,它将只监听来自邻居发送的Hello消息,并对其进行响应。
  2. 在全局acl里过滤过多的OSPF报文,只放行需要建立邻接关系的IP发送过来的OSPF报文
阅读剩余
THE END