Поиск источников перегрузки процессора сетевого устройства: High CPU и Control Plane
- Утилизация процессора сетевого устройства (CPU utilization) стабильно держится на уровне 95–100%.
- Задержки и таймауты при подключении по SSH/Telnet, зависание вывода команд в CLI.
- Падение сессий протоколов динамической маршрутизации (BGP hold timer expired, OSPF dead interval expired) и LACP/BFD.
- Отбрасывание пакетов управления (SNMP, TACACS+, ICMP) и рост задержек транзитного трафика, обрабатываемого программно (Punt path).
1. Первичная локализация источника нагрузки
# Анализ загрузки процессора по процессам (Cisco IOS / IOS-XE)
show processes cpu sorted | exclude 0.00
show processes cpu history
# Для платформы Cisco NX-OS
show processes cpu sort | head lines 20
show system resources
# Для оборудования Huawei (VRP)
display cpu-usage
display cpu-usage process2. Анализ прерываний и сброса трафика на CPU (Punt Path)
Если в выводе show processes cpu основной процент занимает Interrupts (прерывания), это свидетельствует о том, что транзитные пакеты сбрасываются с аппаратного уровня (ASIC/TCAM) на процессор маршрутизатора:
# Проверка причин отправки пакетов на CPU (Punt Path)
show platform software infrastructure punt statistics
show hardware internal buffer info
show logging | include %CPUID | %PUNT3. Типовые причины перегрузки CPU и методы устранения
- IP Unreachable / ICMP Redirects: сканирование сети или отправка трафика на немаршрутизируемые адреса. Отключите генерацию служебных сообщений:
interface range GigabitEthernet0/0/0 - 10 no ip unreachables no ip redirects no ip proxy-arp - ARP Storms / Broadcast Storms: ограничьте бродкаст на портах доступа коммутатора:
interface GigabitEthernet0/1 storm-control broadcast level 1.0 storm-control multicast level 2.0 storm-control action shutdown - Сбои TCAM / Маршрутизация на процессоре (Process Switching): проверьте статус аппаратного ускорения CEF (Cisco Express Forwarding):
show ip cef show platform hardware data-plane statistics
4. Настройка политик защиты Control Plane Policing (CoPP)
Ограничьте скорость трафика, поступающего на процессор управления:
class-map match-any CRITICAL_ROUTING
match access-group name ROUTING_PROTOCOLS
class-map match-all ICMP_TRAFFIC
match protocol icmp
!
policy-map COPP_POLICY
class CRITICAL_ROUTING
police 10000000 conform-action transmit exceed-action transmit
class ICMP_TRAFFIC
police 500000 conform-action transmit exceed-action drop
class class-default
police 200000 conform-action transmit exceed-action drop
!
control-plane
service-policy input COPP_POLICY Частые вопросы (FAQ)
Что означает высокая утилизация CPU в графе 'Interrupts'?
Это означает, что процессор тратит все кванты времени на обработку сетевых пакетов, которые аппаратный чипсет (ASIC/TCAM) не смог скоммутировать самостоятельно (например, пакеты с опциями IP Options, фрагментированные пакеты, ARP запросы к несуществующим хостам, TTL=1 или пакеты для которых не построена CEF-запись).
Почему процесс 'IP Input' нагружает CPU на 100%?
Процесс 'IP Input' отвечает за программную обработку IP-трафика. Это происходит при отключенном CEF, массовой отправке ICMP ответов 'Destination Unreachable' при сканировании подсетей, либо при генерации ответов на запросы Traceroute.
Как защитить сессии BGP/OSPF от падения при перегрузке Control Plane?
Внедрите политики Control Plane Policing (CoPP) или Control Plane Protection (CPPr), выделив протоколы BGP (TCP 179), OSPF (IP 89) и BFD в выделенные классы обслуживания с гарантированной полосой пропускания и жестким ограничением для ICMP/SNMP/SSH.
Как с помощью встроенных средств вендора перехватить трафик, идущий на CPU?
На оборудовании Cisco IOS-XE используйте встроенный анализатор EPC (Embedded Packet Capture), настроив точку захвата на интерфейсе 'control-plane input'.