Кратко

  • Свет на приёмнике доказывает наличие сигнала, но не правильность пары портов. Device-ID, Port-ID и Echo TLV создают отдельное, ограниченное по времени доказательство личности соседа.
  • Обычный режим оставляет отсутствие данных как undetermined. Aggressive mode может перейти к errdisable лишь после ранее подтверждённой двусторонности, истечения состояния и неудачи конечной серии попыток.

Неправильно собранная пара волокон способна выглядеть исправной. Передающее волокно ведёт к одному коммутатору, принимающее приходит от другого; каждый приёмник видит свет, хотя предполагаемого соединения второго уровня нет или оно замкнуло опасную петлю. Состояние up верно для локальной физики и ничего не говорит о личности партнёра.

UDLD добавляет квитанцию другого вида. Устройство сообщает Device-ID и Port-ID, а сосед возвращает в Echo TLV пары, которые действительно услышал на том же интерфейсе. Основанием для двустороннего отношения становится круговой путь ожидаемой идентичности, а не просто несущая.

Эта квитанция тоже не универсальна. Протокол исполняется в control plane и зависит от нагрузки CPU, планировщика, реализации, таймеров и кэша. Он не проверяет каждый VLAN, размер кадра, очередь, запись forwarding table или транзакцию приложения. Успешный обмен служебными пакетами не удостоверяет доставку целиком.

Строка соседа — наблюдение с истекающим сроком

Периодические hello сохраняют изученного соседа на объявленный holdtime. Новое корректное сообщение заменяет запись и заново запускает таймер. Отключение интерфейса или протокола, а также перезапуск устройства удаляют состояние и требуют очистки копии на другой стороне.

Поэтому show udld — не фотография кабеля. Это вывод автомата состояний, собранный из недавних сообщений, локальной конфигурации и часов. Строка подтверждает, что идентичность была принята внутри окна кэша. Она не доказывает тот же путь в момент просмотра и тем более не описывает судьбу пользовательского трафика.

Для нового соседа или ресинхронизации RFC задаёт последовательность сообщений. Инженерное предположение состоит в том, что из N отправок хотя бы одна пройдёт несмотря на потери. Если не проходит ни одна, причин всё ещё много: обрыв, повреждение обоих направлений, высокий BER, несовпадение duplex, перегрузка control plane, выключенный UDLD, неспособный сосед или потерянная команда очистки.

Обычный режим не дописывает диагноз в пустое место

Normal mode действует по событиям. Полученные данные могут подтвердить правильную пару или показать явное противоречие Echo. Когда полезной информации нет, в том числе после исчезновения прежней двусторонней связи, результат остаётся undetermined.

Это не слабость, а дисциплина доказательств. Современная документация Cisco отмечает: данные о соседе могут состариться из-за высокой частоты ошибок или duplex mismatch, и одна потеря пакетов не доказывает однонаправленность. Истечение кэша не даёт обычному режиму права выдумать физическую причину и выключить порт.

За сохранённую доступность платит эксплуатация. Неопределённость придётся разрешать с помощью счётчиков, оптической мощности, журналов другой стороны, событий spanning tree, проб data plane и сервиса. Режим не делает сильный автоматический вывод, но и не снимает необходимость расследования.

Aggressive выбирает последствие, а не причину

Агрессивному действию нужна история. Отношение прежде было подтверждено как двустороннее. Затем запись истекла, физический link остался up, а последние восстановительные запросы не вернули соседа. Для соответствующих современных реализаций Cisco описывает восемь попыток с интервалом в секунду перед errdisable.

Восьмое молчание знает о причине не больше первого. Оно лишь завершает заранее выбранное окно, после которого организация считает потерю связи с соседом недопустимой. На типичном point-to-point линке удаление ёмкости может быть безопаснее продолжения передачи в петлю или black hole.

Отключение — средство локализации, не заключение о волокне, трансивере, ASIC, процессе или удалённой настройке. Причина errdisable объясняет поступок автомата. Формулировка «UDLD доказал однонаправленную аварию» подменяет физическое измерение политикой риска.

На линии одновременно идут разные часы

Пока идут holdtime и повторы, STP или RSTP могут изменить forwarding topology. Cisco предупреждает, что фиксированный расчёт по классическому STP не гарантирует действие UDLD раньше перехода RSTP. Платформа, выпуск ПО, среда, топология, настройки и момент дефекта меняют реальный порядок.

В хронологии инцидента следует разнести несущую, последний принятый hello, истечение кэша, каждую попытку, выключение порта, смену роли STP/RSTP, включение резервного пути и восстановление приложения. «UDLD поймал» сжимает несколько квитанций. «Сервис восстановлен» — ещё более позднее утверждение с собственным доказательством.

Долговечный вопрос RFC 5171 не в том, какой режим вообще лучше. Вопрос в том, кто решил оставить отсутствие неопределённым и кто решил, что ограниченное молчание уже опаснее потери ёмкости и требует fail-closed.

Источники