Neighbor Discovery
Neighbor Discovery (ND) объединяет группу протоколов, которые решают следующие задачи:
- Определение адресов канального уровня для узлов, которые располагаются на одном сегменте локальной сети (соседей)
- Определение маршрутизаторов, которые подсоединены к сегменту локальной сети
- Определение того, через какой маршрутизатор отправлять пакеты, адресованные узлам за пределами сегмента локальной сети
Для сбора информации о соседних узлах узел IPv6 отправляет и получает служебные пакеты. Всего в ND на данный момент насчитывается пять видов служебных пакетов. Все пакеты используют формат пакетов ICMPv6. Протокол ND задан в RFC 2461
Для уменьшения нагрузки на сеть собранная информация сохраняется узлом, поэтому на протоколы ND возлагается задача своевременно обновлять сведения соседних узлах и удалять устаревшие записи.
При тестировании мы проверяли, что реализация правильно обновляет информацию о соседях, правильно выбирает маршрутизаторы для отправки пакетов за пределы локальной сети, правильно сообщает информацию о себе соседям.