35

Ниже приведены записи в моем /etc/hosts .

Мне было интересно, для чего последняя запись (fe80::1%lo0 localhost).

127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
fe80::1%lo0 localhost

3 ответа3

25

Это адрес IPv6. Блок fe80:: зарезервирован для локальных адресов. Локальные адреса связи используются для пакетов, отправляемых только напрямую подключенным устройствам (не маршрутизируются). Протокол обнаружения сети (NDP) является крупнейшим пользователем локальных адресов каналов (сортировка NDP заменяет ARP и DHCP в IPv6).

Каждый из ваших интерфейсов будет иметь свой локальный адрес ссылки, начиная с fe80:: и (обычно) заканчивая модифицированной версией MAC-адреса интерфейса (формат EUI-64), чтобы обеспечить наличие уникального адреса в вашем сегменте. В случае вашего петлевого интерфейса к нему больше ничего не подключено, поэтому он может использовать адрес fe80:: 1 без боязни конфликта, поэтому fe80:: 1 обычно используется в качестве адреса "localhost" - эквивалент IPv6 127.0.0.1.

5

Отличный ответ выше от едока. Локальные IPv6-адреса, как указано выше, имеют вид fe80:* фактически fe80::/10 означает, что только первые десять битов сопоставляются с fe8*:* поэтому диапазон равен fe80::0 .. febf:* . Проверь мою арифметику.

Эти адреса эквивалентны 169.254.\*.\* в IPv4, хотя аналоги IPv4 используются гораздо менее эффективно.

Очень распространено иметь несколько адресов в ipv6, но только один в IPv4. Наличие как fe80:: adress, так и глобально значимого маршрутизируемого IPv6-адреса (например, 2001:* ) является правилом, а не исключением. К сожалению, приложения и операционные системы не склонны делать то же самое в IPv4, то есть интерфейсы, как правило, не имеют нескольких адресов IPv4, и я не видел случая, когда интерфейс говорил бы 169.254.\*.\* адрес и адрес другого типа одновременно.

Одновременное использование двух типов в IPv4 предотвратит много боли и страданий, когда, например, комплект включается в неправильном порядке, устройства включаются до того, как маршрутизаторы или серверы и ПК назначают себе 169.254.\*.\* только этот адрес, а не добавляйте второй глобально значимый, маршрутизируемый адрес, когда они позже узнают от своего маршрутизатора или сервера, где они должны находиться в Интернете.

2
 fe80::.....        a link local address

Локальные IPv6-адреса каналов, обозначенные префиксом fe80:, действительны только для непосредственного сетевого канала, к которому подключен этот хост-интерфейс.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .