Является ли этот IPv6-link-local address (как сообщается в Windows) правильным? Если так, то почему?

Из того, что я читаю онлайн, локальный адрес канала IPv6 генерируется путем взятия MAC-адреса сетевого интерфейса, вставки слова FF:FE в его середину, ИЛИ в некоторых дополнительных битах и ​​так далее: например, MAC-адрес 00:3E:E1:c6:20:c2 соответствует локальному адресу канала IPv6 fe80::23e:e1ff:fec6:20c2%en0, и программа, которая знает MAC-адрес, может вычислить адрес IPv6 или наоборот.

Похоже, что это нормально работает на моем Macintosh, но на Windows-машине моего коллеги мы видим это (из вывода ipconfig):

Connection-specific DNS Suffix  . :
Link-local IPv6 Address . . . . . : fe80::eb:b41:3e4c:fd9e%11
IPv4 Address. . . . . . . . . . . : 192.168.0.3
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . :

Здесь похоже, что MAC-адрес сетевого интерфейса (который является 0b:41:3e:4c:fd:9e) имеет только байт "eb" ИЛИ перед ним, вместо вставки ff: fe в средний, как я и ожидал.

Кто-нибудь может объяснить, почему это так? то есть, что Windows делает что-то, противоречащее спецификации адреса локального адреса IPv6, или это просто использование какого-то другого приемлемого соглашения MAC->IPv6, о котором я не знаю? Или, возможно, поставщикам разрешено делать все, что они хотят, при создании адреса fe80 из MAC-адреса?

1 ответ

Решение

Это не значит, что локальный адрес канала должен быть сгенерирован из MAC-адреса; это никогда не было требованием. Вы можете вручную назначить локальные адреса на многих устройствах.

Что вы видите в Windows, так это использование расширений конфиденциальности и случайной адресации. Вместо оригинального способа назначения идентификатора интерфейса SLAAC были введены расширения конфиденциальности и генерация случайных адресов. Это значение по умолчанию для Windows, но его можно отключить.

См. RFC 4862, "Автоматическая настройка адресов без учета состояния IPv6" и RFC 4941, "Расширения конфиденциальности для автоматической настройки адресов без учета состояния в IPv6".

Другие вопросы по тегам