Кратко

  • RFC 4429 ввёл состояние Optimistic: адрес доступен для ограниченного использования, пока DAD ещё проверяет его уникальность.
  • Ограничения Neighbor Discovery не дают предварительному владельцу безусловно перезаписать сведения о доступности законного соседа.
  • При признаках конфликта адрес удаляется; RFC 7527 лишь помогает распознать отражённый пробный пакет.

Право на передачу без доказанного владения

При обычном DAD адрес Tentative нельзя использовать для нормального обмена данными. RFC 4429 добавляет промежуточный режим: адрес уже назначен интерфейсу и может применяться ограниченно, хотя его уникальность в канале ещё не установлена. При выборе источника он рассматривается подобно Deprecated-адресу, поэтому подходящий альтернативный адрес имеет приоритет. После успешного DAD действует обычный жизненный цикл Preferred или Deprecated.

Это не отмена риска, а разделение двух свойств. Узел может передавать через маршрутизатор, чей адрес канального уровня уже известен, но ещё не получает полномочия изменять локальное состояние соседа как подтверждённый владелец.

Сам переход в состояние Optimistic имеет условие: узел должен уже знать адрес канального уровня маршрутизатора и уметь использовать ограниченный путь пересылки. Если получить или применить эти сведения без нарушения правил нельзя, адрес остаётся Tentative до завершения обычного DAD.

Ограничения для Optimistic-узла

Optimistic-адрес нельзя использовать источником Neighbor Solicitation. Router Solicitation должна исходить от не-Optimistic или неопределённого адреса; при Optimistic-источнике нельзя включать опцию Source Link-Layer Address. В Neighbor Advertisement для такого адреса флаг Override должен быть сброшен.

Если адрес канального уровня соседа неизвестен, разрешение адреса с Optimistic-источника не выполняется. Трафик направляется через маршрутизатор по умолчанию в надежде на Redirect либо ждёт завершения DAD. Если ограничения маршрутизатора выполнить невозможно, адрес остаётся Tentative и используется обычный DAD.

Столкновение по-прежнему отзывает адрес

Neighbor Solicitation с неопределённым источником для проверяемого адреса является признаком дубликата. Узел не отвечает и удаляет адрес. До появления этого признака пакеты могли уйти не туда, а соединения — оборваться. Поэтому RFC 4429 предполагает идентификаторы, для которых уникальность вероятна, и не рекомендует ручные адреса.

Когда проверка возвращается отправителю

RFC 7527 рассматривает случай, когда DAD-запрос возвращается к отправителю и ошибочно выглядит как сообщение о другом владельце. Для каждого запроса создаётся новый nonce, который сохраняется локально. Совпавший при возврате nonce указывает на отражение, поэтому проверку можно продолжить, а не считать сигнал автоматическим доказательством дубликата. Это уточняет свидетельство, но не доказывает владение адресом.

Источники