Кратко
- В базовой модели RFC 4861 запись Neighbor Cache удалялась после заданного числа безответных проб.
- RFC 7048 ввела UNREACHABLE: альтернативный сосед может получить предпочтение, а адрес канального уровня сохраняется для многоадресных проб с экспоненциальным увеличением интервала.
Почему удаление было слишком грубым решением
NUD не опрашивает постоянно каждого известного соседа. Подтверждением работоспособности могут быть признаки продвижения на верхнем уровне или solicited Neighbor Advertisement в ответ на Neighbor Solicitation. Используемая запись обычно проходит состояния REACHABLE, STALE, DELAY и PROBE. В PROBE одноадресные запросы направляются к сохранённому адресу канального уровня.
Согласно концептуальной машине RFC 4861, достижение лимита безответных повторов завершалось удалением Neighbor Cache Entry. RFC 7048 описывает распространённый вариант: три передачи с интервалом в одну секунду. При наличии другого маршрутизатора это быстро освобождало выбор следующего хопа; запись, созданную Redirect, также можно было отбросить.
Но удаление не создаёт новый маршрут. Если альтернативы нет, следующий трафик снова запускает разрешение адреса и может породить дополнительные многоадресные запросы во время временного отказа канального уровня.
Сохранить адрес, отменить предпочтение
RFC 7048 заменила удаление переходом в UNREACHABLE. Узел увеличивает тайм-аут повторной передачи и посылает многоадресный Neighbor Solicitation. Обычная запись сохраняет адрес канального уровня, поэтому пакеты IPv6 могут по-прежнему направляться к нему. Однако сосед не считается «известным доступным», и выбор следующего хопа может предпочесть альтернативу.
Для записей, созданных Redirect, действуют особые правила: их можно удалить, а использовать такую UNREACHABLE-запись для передачи не следует. Сборка мусора также разрешена; сохранение записи не означает вечного владения памятью.
Более широкий поиск с меньшей частотой
Не позднее чем через 60 секунд после исходной повторной передачи следует перейти к multicast, даже если первые пробы были unicast. Это даёт возможность ответить соседу, изменившему адрес канального уровня. Последующие повторы должны использовать экспоненциальный backoff с разумным пределом, например 60 секунд. Если запись больше не используется трафиком, повторы прекращаются до нового использования или удаления.
Примерные таймеры RFC 7048 иллюстрируют алгоритм, но не задают единый обязательный график. RFC 6583 описывает операционный фон: разрешение огромного числа незанятых адресов способно перегрузить очереди и кэши Neighbor Discovery. Нормативный переход в UNREACHABLE определён не там.
Историческая перемена состоит в разделении двух решений: перестать предпочитать соседа и уничтожить последнее свидетельство его отображения.
Источники
Обзор для участников
Подробный контекст профиля
Войдите с подходящим уровнем подписки, чтобы открыть полный обзор и примечания к источникам.
Только для Стратегического сообщества
Стратегическое сообщество
Открыто всем читателям. Вступите и войдите, чтобы открыть обзоры профилей.
Вступить в Стратегическое сообществоТолько для Альянса лидеров
Альянс лидеров
Для проверенных владельцев IP-активов и руководителей. Войдите, чтобы открыть обзоры Альянса.
Вступить в Альянс лидеров
