Протокол IP : Протокол OSPF

Описание проблем соседнего OSPF

5 апреля 2016 - Машинный перевод
Другие версии: PDF-версия:pdf | Перевод, выполненный профессиональным переводчиком (15 ноября 2010) | Английский (22 августа 2015) | Отзыв


Содержание


Введение

В настоящем документе поясняются наиболее распространенные проблемы с обеспечением полной смежности соседних узлов OSPF. Для успешного формирования смежности OSPF соседние узлы должны перейти в состояние полной смежности (FULL).

Для проверки формирования смежности выполните команду debug ip ospf adj. Перед использованием команд debug ознакомьтесь с документом Важные сведения о командах отладки.

Предварительные условия

Требования

Работа с данным документом предполагает наличие базовых знаний о протоколах маршрутизации IP и OSPF. Дополнительную информацию о протоколах маршрутизации IP можно найти в документе Основные принципы маршрутизации. Дополнительную информацию о протоколе OSPF можно найти на странице поддержки протокола OSPF.

Используемые компоненты

Сведения, содержащиеся в данном документе, касаются следующих версий программного и аппаратного обеспечения:

  • Протокол OSPF может быть настроен на всех маршрутизаторах (например, маршрутизаторах Cisco серии 2500 и серии 2600), а также на всех коммутаторах 3-го уровня.

  • OSPF поддерживается в Cisco Выпуски ПО IOS� 10.0 и позже.

Сведения, представленные в этом документе, были получены от устройств, работающих в специальной лабораторной среде. Все устройства, описанные в этом документе, были запущены с чистой (стандартной) конфигурацией. В рабочей сети необходимо изучить потенциальное воздействие всех команд до их использования.

Условные обозначения

Дополнительные сведения об условных обозначениях см. в документе Условные обозначения технических терминов Cisco.

Смежности

Факт, что маршрутизаторы- соседи, не достаточен для того, чтобы гарантировать обмен обновлений состояния соединения; они должны сформировать соединения для того чтобы обменять обновлениями состояния соединения. Смежность – это расширенная форма соседства, в которой маршрутизаторы готовы обмениваться сведениями о маршрутизации после согласования параметров такого обмена. Маршрутизаторы достигают состояния полной смежности (FULL), когда они имеют синхронизированные данные в своей базе данных состояний соединений.

Тип интерфейса играет решающее значение в механизме формирования смежности. Например, соседние узлы в двухточечных звеньях всегда предпринимают попытку установить смежность, в то время как маршрутизаторы, подключенные к широковещательной передающей среде, такой как Ethernet, могут принять решение об установлении смежности только с подмножеством соседних маршрутизаторов на интерфейсе.

Как только маршрутизатор примет решение установить смежность с соседним узлом, он начинает этот процесс путем обмена полными копиями баз данных состояний соединений. Соседний узел, в свою очередь, обменивает полную копию своей базы данных состояний соединений с первым маршрутизатором. После прохождения через несколько состояний соседства маршрутизаторы становятся полностью смежными.

Состояния соседства

Определить состояние одного или нескольких соседних узлов OSPF можно при помощи команды show ip ospf neighbor. Выходные данные этой команды с наибольшей вероятностью будут содержать одно из следующих состояний:

  • ничего

  • state = down (состояние: отключено)

  • state = init (состояние: инициализация)

  • state = exstart (состояние: запуск обмена данными)

  • state = exchange (состояние: обмен данными)

  • state = 2-way (состояние: двустороннее согласование)

  • state = loading (состояние: загрузка)

Существуют и другие состояния OSPF, но приведенные выше встречаются в выходных данных команды show ip ospf neighbor чаще всего. Подробные сведения о состояниях соседства OSPF и их пояснение можно найти в документе Состояния соседства OSPF.

Состояние не обнаружено

Если команда show ip ospf neighbor не показывает никаких данных об анализируемом соседнем узле, это означает, что данный маршрутизатор не получал от этого соседнего узла действительных пакетов приветствия OSPF (HELLO). Это означает, что пакеты OSPF HELLO по протоколу OSPF от данного соседнего узла либо не принимались, либо принятые пакеты HELLO не прошли простейшие проверки на корректность.

Выполните следующие проверки:

  • Отвечает ли на запросы интерфейс на локальном маршрутизаторе и соседнем маршрутизаторе с рабочим линейным протоколом? Для проверки воспользуйтесь командой show interface.

  • Проверьте IP-соединение между соседними маршрутизаторами, как показано ниже:

    • Соседний узел отвечает на команду ping? Отправьте эхозапрос на IP-адрес, назначенный соответствующему интерфейсу на соседнем маршрутизаторе. Выполните на этом же адресе команду traceroute и проверьте, есть ли промежуточные переходы на пути к получателю.

    • Отвечает ли соседний узел на команду типа ping 224.0.0.5? (224.0.0.5 – адрес, на который отправляются пакеты OSPF HELLO.).)

    • Проверьте, не мешают ли обмену пакетами IP между соседними узлами списки контроля доступа для входящего трафика или другие устройства (типа коммутатора).

  • Включен ли протокол OSPF на вашем интерфейсе и на интерфейсе соседнего маршрутизатора? Для проверки выполните команду show ip ospf interface.

  • Настроен ли протокол OSPF как пассивный для интерфейса локального или соседнего маршрутизатора? Выполните команду show ip ospf interface, чтобы проверить, выходят ли пакеты HELLO через интерфейс. Для активного интерфейса OSPF всегда присутствует строка наподобие следующей:

    Hello due in 00:00:07
  • Убедитесь в том, что соседние маршрутизаторы имеют различные идентификаторы маршрутизаторов. Идентификаторы маршрутизаторов используются для идентификации отдельных маршрутизаторов в сети OSPF. Маршрутизаторы с совпадающими идентификаторами будут игнорировать пакеты HELLO друг друга, что не позволит им сформировать смежность. В первой строке выходных данных команды show ip ospf приводится текущий идентификатор каждого маршрутизатора.

  • Убедитесь в том, что на соседних интерфейсах совпадают следующие параметры приветствия:

    • Номер области OSPF (для проверки задайте команду show ip ospf interface interface-name).

    • Тип области OSPF, например тупиковая или NSSA (используйте для проверки команду show ip ospf.).

    • Подсеть и маска подсети (для проверки выполните команду show interface).

    • OSPF HELLO и значения таймера простоя (воспользуйтесь для проверки командой show ip ospf interface interface-name).

  • Если проблема возникает на двухточечной линии (например, PPP или HDLC) и одновременно между парой маршрутизаторов существует два и более параллельных соединений, то следует проверить, правильно ли подключены линии. Предположим, что планировалось соединить интерфейс Serial0/0 на одном маршрутизаторе с интерфейсом Serial0/0 на его соседнем узле, а интерфейс Serial1/0 – с интерфейсом Serial1/0 на соседнем узле, но интерфейсы случайно оказались соединенными в перекрестном порядке: интерфейс Serial0/0 каждого маршрутизатора – с интерфейсом Serial1/0 соседнего. Команда ping может не обнаруживать подобной проблемы, но OSPF не сможет установить смежность. Для проверки правильности соединения устройств руководствуйтесь сведениями, которые предоставляет протокол обнаружения устройств Cisco (CDP). Выполните команду show cdp neighbor имя-интерфейса, чтобы проверить, соответствуют ли имя и идентификатор порта (PortID) удаленного устройства структуре сети.

Примечание: Смежности OSPF формируются только по основным сетям, а не по второстепенным.

Если по итогам всех этих проверок команда show ip ospf neighbor по-прежнему не дает никакой информации, то проблема носит необычный характер и необходимо обратиться за помощью в компанию Cisco.

Соседний узел в отключенном состоянии

{\f3 Соседний узел, обнаружение которого выполняется динамически посредством пакетов приветствия, может перейти в состояние отключения (}{\f7 down}{\f3 ) в случае его удаления, например, при неполучении протоколом OSPF пакетов HELLO от соседнего узла вплоть до истечения таймера простоя.} {\f3 Поэтому для подобных соседних узлов состояние }{\f7 down}{\f3 является переходным: они либо переходят в более высокие состояния, либо полностью удаляются из таблицы известных соседних узлов.} Это называется удалением из памяти.

{\f3 Как правило, соседние узлы в состоянии }{\f7 down}–{\f3 это узлы, настроенные вручную командой }{\f7 neighbor}{\f3 .} Вручную настроенные соседние узлы всегда присутствуют в таблице соседних узлов OSPF. {\f3 Если протокол OSPF еще не получал пакетов HELLO от соседнего узла, настроенного вручную, либо если пакеты HELLO от соседнего узла не поступали с момента предыдущего интервала таймера простоя, то настроенный вручную соседний узел будет показан в состоянии }{\f7 down}{\f3 .}

Примечание: Соседняя команда может только быть настроена для непосредственно подключенных соседних узлов на этих типах сетей:

  • Интерфейсы нешироковещательных сетей с многоточечным доступом (NBMA), настроенные при помощи команды ip ospf network non-broadcast.

  • Интерфейсы нешироковещательных сетей с топологией «точка-многоточка», настроенные при помощи команды ip ospf network non-broadcast.

{\f3 Если соседний узел находится в состоянии }{\f7 down}{\f3 , проверьте, работает ли соседний маршрутизатор и правильно ли на этом интерфейсе настроен протокол OSPF.} Проверьте соединение между маршрутизаторами при помощи команд ping и traceroute. Проверьте таблицу соседнего узла OSPF на соседнем маршрутизаторе посредством команды show ip ospf neighbor, затем выполните действия по проверке конфигурации, перечисленные в разделе Состояние не обнаружено.

Соседний узел в состоянии инициализации

{\f3 Состояние инициализации (}{\f7 init}{\f3 ) означает, что маршрутизатор видит пакеты HELLO соседнего узла, однако двусторонняя связь не установлена.} {\f3 Маршрутизатор Cisco вносит идентификаторы всех соседних маршрутизаторов в состоянии }{\f7 init}{\f3 (или выше) в поле Neighbor (Соседний узел) пакета HELLO.} Для установления двусторонней связи с соседним узлом маршрутизатор также должен видеть свой собственный идентификатор маршрутизатора в поле Neighbor пакета HELLO соседнего узла. Чтобы ознакомиться с более подробными примерами и объяснениями, см. раздел Почему при выполнении команды "ip ospf neighbor" отображается список соседних узлов, имеющих состояние INIT?

Соседний узел в состоянии двустороннего согласования

{\f3 Состояние двустороннего согласования (}{\f7 2-way}{\f3 ) указывает, что маршрутизатор обнаружил свой собственный идентификатор маршрутизатора в поле Neighbor пакета HELLO соседнего узла.} {\f3 Получение пакета с дескриптором базы данных (DBD) от соседнего устройства в состоянии }{\f7 init}{\f3 также приводит к переходу в состояние }{\f7 2-way}{\f3 .} {\f3 Нахождение соседнего узла OSPF в состоянии }{\f7 2-way}{\f3 не должно быть причиной для беспокойства.} {\f3 Состояние }{\f7 2-way}{\f3 описано в разделе }{\f3 Почему команда show ip ospf neighbor отображает соседей в состоянии 2-Way?}

Соседний узел в состоянии запуска обмена данными или обмена данными

{\f3 Соседние узлы OSPF, находящиеся в состоянии запуска обмена данными (}{\f7 exstart}{\f3 ) или обмена данными (}{\f7 exchange}{\f3 ), выполняют попытки обмена пакетами DBD.} Маршрутизатор и его соседний узел устанавливают отношения по схеме «ведущий – ведомый». После этого состояния смежность должна остаться. Если этого не происходит, то имеет место проблема с точкой обмена трафиком DBD, например, несовпадение максимального размера блока передаваемой информации (MTU) или неожиданный порядковый номер DBD. Дополнительные сведения см. в разделе Почему соседние узлы OSPF находятся в состоянии Exstart или Exchange?

Сосед в состоянии загрузки

{\f3 В состоянии загрузки (}{\f7 loading}{\f3 ) маршрутизаторы отправляют пакеты запроса состояния соединения.} Если во время формирования смежности маршрутизатор получает устаревшее извещение о состоянии соединения (LSA) или не получает такого извещения, то он запрашивает это извещение, отправляя пакет запроса состояния соединения. Соседние узлы, которые не выходят за рамки данного состояния, наиболее подвержены обмену недействительными объявлениями о состоянии соединений. {\f3 Эта проблема обычно сопровождается сообщением }{\f7 %OSPF-4-BADLSA}{\f3 в консоли.} Поскольку эта проблема не относится к числу распространенных, то следует обратиться за помощью в компанию Cisco.

Типичные причины проблем с соседними узлами OSPF

В этой таблице перечислены причины, по которым у соседних узлов OSPF могут возникать проблемы с установлением смежности, а также приводятся некоторые команды, которые можно использовать для проверки наличия подобных проблем. В диагностике проблем также может помочь Сборник обращений в Центр технической поддержки (доступен только зарегистрированным заказчикам).

Причины проблем соседства Команды для диагностики проблем
На одном из маршрутизаторов не настроен OSPF. show ip ospf
Функция OSPF не включена на том интерфейсе, где она нужна. show ip ospf interface
Рассогласование приветствий OSPF или значений таймера простоя. show ip ospf interface
рассогласование команд ip ospf network-type на смежных интерфейсах. show ip ospf interface
Рассогласование размеров MTU между соседними интерфейсами. show interface <тип-интерфейса><номер-интерфейса>
{\f3 Тип области OSPF на одном из соседних узлов }–{\f7 stub}{\f3 (тупиковая), но смежный соседний узел в этой области не настроен в режиме }{\f7 stub}{\f3 .} show running-config show ip ospf interface
Соседи OSPF имеют дублирующие идентификаторы маршрутизаторов. show ip ospf show ip ospf interface
OSPF настроен во вторичной сети соседнего узла, но не в первичной сети. Это недопустимая конфигурация, делающая OSPF недоступным на этом интерфейсе. show ip ospf interface show running-config
Пакеты OSPF HELLO не обрабатываются из-за нехватки ресурсов, например, высокой загрузки ЦПУ или недостаточного количества памяти. show memory summary show memory processor
Проблема на более низком уровне препятствует получению пакетов OSPF HELLO. show interface

Примечание: Чтобы к aviod проверка MTU при установлении смежности OSPF, вы возможно должна настроить команду ip ospf mtu-ignore в режиме конфигурации интерфейса.

Связанные обсуждения сообщества поддержки Cisco

В рамках сообщества поддержки Cisco можно задавать и отвечать на вопросы, обмениваться рекомендациями и совместно работать со своими коллегами.


Дополнительные сведения


Document ID: 13699