Cisco OSPF: Ошибка ospf-4-errrcv received invalid packet (Траблшутинг)
Архитектура установления соседства (Adjacency) OSPF
Протокол OSPF (Open Shortest Path First) устанавливает соседство между маршрутизаторами Cisco путем обмена Hello-пакетами и LSA. Появление системного сообщения %OSPF-4-ERRRCV: Received invalid packet в логах означает, что роутер получил пакет OSPF на интерфейс, но его содержимое нарушает строгие правила конечного автомата (FSM). В результате маршрутизаторы не могут сформировать соседство (состояние зависает на INIT, 2-WAY или EXSTART), и маршруты не передаются. Бизнес-риски: нарушение связности топологии предприятия, Blackhole-маршрутизация и недоступность удаленных площадок.
Основные причины OSPF-4-ERRRCV (Несовпадения в пакетах)
| Параметр OSPF (Поле в заголовке) | Требование протокола | Результат при несовпадении |
|---|---|---|
Area ID | Должны быть идентичны на обоих концах линка | Пакет отбрасывается. Ошибка: Mismatch Area ID |
Authentication (Тип/Пароль) | MD5 хеш или Plain-text должны совпадать | Пакет отбрасывается. Ошибка: Mismatch Authentication |
Hello/Dead Timers | Значения таймеров должны строго совпадать | Соседство не устанавливается. Ошибка: Hello/Dead Mismatch |
MTU (Maximum Transmission Unit) | Интерфейсы должны иметь одинаковый IP MTU | Зависание в состоянии EXSTART / EXCHANGE |
Траблшутинг ошибки ERRRCV (Команды CLI Cisco)
Сценарий 1: Отладка (Debug) причины ошибки
Чтобы понять, что именно не совпадает, необходимо включить дебаг OSPF-пакетов. Лог покажет конкретную причину.
Включение отладки событий OSPF
Router# debug ip ospf packet
Router# terminal monitor
Вывод (пример несовпадения таймеров):
OSPF: rcv. v:2 t:1 l:44 rid:10.0.0.2
aid:0.0.0.0 chk:5CDA aut:0 auk: from FastEthernet0/0
OSPF: Mismatched hello parameters from 192.168.1.2
OSPF: Dead R 40 C 40, Hello R 10 C 15
Выключение отладки
Router# undebug all (или u all)В логе четко видно: Received (R) Hello = 10, Configured (C) = 15. Исправьте таймеры на интерфейсе.
Сценарий 2: Решение проблемы с MTU (Зависание в EXSTART)
Протокол OSPF не поддерживает фрагментацию на уровне IP для обмена DBD (Database Description) пакетами. Если на одном роутере MTU 1500, а на другом (через GRE-туннель) MTU 1400, пакеты будут дропаться.
Просмотр IP MTU на интерфейсе
Router# show ip interface tunnel 0 | include MTU
Решение А: Выровнять MTU на обоих концах
Router(config-if)# ip mtu 1400
Решение Б: Заставить OSPF игнорировать проверку MTU (только если вы уверены в канале)
Router(config-if)# ip ospf mtu-ignoreТиповые ошибки администраторов
- Одинаковый Router ID (RID): Если два маршрутизатора имеют одинаковый Router ID (например, склонированная виртуалка CSR1000v), OSPF сбросит пакет, считая его петлей маршрутизации. RID должен быть уникальным!
Router(config-router)# router-id 1.1.1.1. - Разные типы подсетей (Network Type): Один конец настроен как
ip ospf network point-to-point, а другой — какbroadcast. Соседство может установиться, но маршруты в таблицу не попадут из-за несовместимости типов LSA.
Нестабильная маршрутизация ведет к потерям VoIP-трафика и разрыву RDP сессий. Архитекторы сетей ITSTM проведут глубокий аудит вашей AS, оптимизируют зоны (Area 0, NSSA), настроят суммирование маршрутов (Route Summarization) и BFD-таймеры для субсекундной сходимости.
Частые вопросы (FAQ)
Почему OSPF работает в LAN, но не работает через GRE-туннель?
Заголовок GRE добавляет 24 байта к пакету. В результате IP MTU туннеля снижается (обычно до 1476 или меньше). Если на физическом интерфейсе соседнего роутера MTU 1500, возникает Mismatch. Используйте 'ip ospf mtu-ignore' или выровняйте IP MTU с учетом GRE заголовка.
Влияет ли Subnet Mask на OSPF-4-ERRRCV?
Да, для интерфейсов типа Broadcast и Non-Broadcast (NBMA) маска подсети должна строго совпадать на обоих концах. Для линков Point-to-Point маска может отличаться, но это плохая практика проектирования.
Сообщение: OSPF: Rcv pkt from unknown neighbor 192.168.1.10. Что это?
В сети типа NBMA (например, Frame Relay или при ручном задании соседей) маршрутизатор получил OSPF-пакет от IP-адреса, который не прописан статически командой 'neighbor 192.168.1.10' в секции конфигурации OSPF.
Как проверить правильность паролей аутентификации MD5?
Пароли хранятся в конфигурации интерфейса (ip ospf message-digest-key 1 md5 <пароль>). Убедитесь, что совпадают не только сами пароли, но и номер ключа (Key ID '1' в данном примере).