Как правило, интерфейсы имеют один адрес одноадресной локальной области связи и ноль или более адресов одноадресной глобальной области.(Они также могут быть членами некоторого конечного числа групп многоадресной рассылки.) Адреса могут назначаться вручную или с помощью DHCPv6, как в IPv4, но они также могут иногда (не всегда) автоматически генерироваться, когда это разрешают объявления маршрутизатора.Некоторые реализации хоста автоматически генерируют постоянный глобальный адрес для каждого префикса, который маршрутизатор объявляет, и вспомогательный адрес конфиденциальности, чтобы соответствовать ему, cf RFC 4191 .Там, где DHCPv6 используется для назначения адресов, хосты могут запросить использование одного или нескольких временных адресов вместо адресов конфиденциальности.
Не используйте локальные адреса сайта.Они устарели по RFC 3879 , главным образом потому, что поле sin6_scope_id
не определено для локальных адресов сайта.Приложения, которые видят их в списке, возвращенном с getifaddrs()
, вероятно, должны отбросить их с диагностическим сообщением в стандартный поток ошибок.Приложения должны ожидать, что сетевые администраторы будут использовать уникальные локальные адреса (ULA) вместо локальных адресов сайта, см. RFC 4941 .
Достижимость адресов ULA обычно не определяется прикладным программным обеспечением.Единственное, что вы наверняка знаете о них, - это то, что они недоступны по любому пути, который проходит через глобальную публичную зону, свободную от дефолта.Они могут быть доступны из любого места в Интернете, где маршруты к префиксу ULA обмениваются в двусторонних соглашениях между автономными системами.С другой стороны, они часто объявляются домашними шлюзами IPv6 только для локального использования подписчиками и не будут доступны вне дома, cf ID.ietf-v6ops-ipv6-cpe-router .