Диагностика таблицы CEF (Cisco Express Forwarding): устранение punt-пакетов
- Аномально высокая утилизация процессора маршрутизатора процессом
IP InputилиCEF process. - В логах фиксируются предупреждения
%PUNT-3-PUNT_OVERLOADили%CEF-4-GLEANTHROTTLING. - Увеличение задержки (RTT) и джиттера для транзитного трафика, проходящего через коммутатор/маршрутизатор.
- Дропы пакетов на интерфейсах с растущими счетчиками
Punt dropsилиInput queue drops.
1. Причины генерации Punt-пакетов в CEF
Punt — это передача пакета из аппаратной плоскости пересылки (Data Plane / ASIC) на центральный процессор (Control Plane). Основные триггеры punt-пакетов:
- Пакеты с опциями IP (IP Options);
- Пакеты, требующие фрагментации (DF bit set, MTU mismatch);
- Трафик к незаполненным ARP-записям (состояние Glean Adjacency);
- Сложные инкапсуляции и неподдерживаемые функции ACL/QoS;
- Широковещательные и Multicast пакеты без аппаратной поддержки.
2. Диагностика CEF и выявление источников Punt
# Проверка глобального статуса CEF
show ip cef
# Анализ причин отправки пакетов на процессор (Punt Switching)
show cef not-cef-switched
# Анализ состояния таблицы смежности
show ip adjacency detail
show ip adjacency summary3. Устранение Glean Throttling при ARP-сканировании
Когда сканер отправляет миллионы запросов на неназначенные IP внутри локальной подсети, CEF пересылает каждый пакет на CPU для генерации ARP-запроса (Glean). Для защиты активируйте аппаратное ограничение:
# Ограничение частоты Glean-пакетов на процессор
ip cef glean rate-limit 1000
# Включение оптимизации агрегации таблиц
ip cef distributed4. Исправление неразрешенных (Unresolved) записей CEF
# Проверка префиксов с неразрешенным Next-Hop
show ip cef unresolved
# Очистка и принудительное обновление таблиц CEF и Adjacency
clear ip cef
clear adjacency Частые вопросы (FAQ)
Что означает состояние Glean Adjacency в выводе show ip adjacency?
Glean указывает, что маршрутизатор подключен к подсети напрямую (connected route), но MAC-адрес конкретного целевого хоста еще не разрешен через ARP. Пакеты к такому хосту перенаправляются на CPU для генерации ARP Request.
Чем отличается Drop Adjacency от Null Adjacency?
Null Adjacency указывает на маршрут, направленный в интерфейс Null0 (трафик отбрасывается без генерации ICMP Unreachable). Drop Adjacency указывает на отбрасывание из-за недостижимости или сбоя инкапсуляции с возможной отправкой ICMP уведомлений.
Почему IP Options вызывают Process Switching?
Большинство аппаратных ASIC не могут обрабатывать переменный размер IP-заголовка и специальные опции (например, Record Route, Strict Source Routing) на скорости портов, поэтому такие пакеты принудительно отправляются на CPU.
Как предотвратить падение производительности при фрагментации транзитных пакетов?
Настройте согласованный MTU на всей цепочке линков либо используйте команду ip tcp adjust-mss на транзитных интерфейсах, чтобы клиенты сразу согласовывали корректный размер TCP сегментов без фрагментации.