Macos Localhost-fe80的含义::1%lo0

Macos Localhost-fe80的含义::1%lo0,macos,localhost,ipv6,Macos,Localhost,Ipv6,“fe80::1%lo0”是什么意思“fe80::1%lo0 localhost”Mac osx上的私有/etc/hosts文件在fe80::/10范围内的地址是链接本地地址。这些地址只对它们所在的链路有意义,因此具有多个接口的设备在其所有接口上可能具有相同的地址,当然也将具有相同的链路本地网络 这就是%符号起作用的地方。这是设备上的接口id,用于区分地址所在的接口。不同的操作系统在%符号后会有不同的值。我们正在考虑OS X中文件/etc/hosts/中的记录“fe80::1%lo0 local

“fe80::1%lo0”是什么意思“fe80::1%lo0 localhost”Mac osx上的私有/etc/hosts文件在fe80::/10范围内的地址是链接本地地址。这些地址只对它们所在的链路有意义,因此具有多个接口的设备在其所有接口上可能具有相同的地址,当然也将具有相同的链路本地网络


这就是%符号起作用的地方。这是设备上的接口id,用于区分地址所在的接口。不同的操作系统在%符号后会有不同的值。

我们正在考虑OS X中文件
/etc/hosts/
中的记录
“fe80::1%lo0 localhost”

这意味着对于主机名“localhost”,在区域
“lo0”
中使用IPv6链接本地地址
“fe80::1”
。本地链路意味着此地址不可路由,并且将被本地网络中的任何路由器丢弃(至少应该如此)

当我们谈论OS X时,OS X“lo0”iface的典型配置是:

lo0: inet6 ::1 prefixlen 128 inet 127.0.0.1 netmask 0xff000000 inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1 lo0: inet6::1预桥128 inet 127.0.0.1网络掩码0xff000000 inet6 fe80::1%lo0预桥64作用域ID 0x1
从这里我们可以看到,此链路本地地址的主要目标是支持链路本地地址空间中的环回网络通信。但很少有应用程序使用它

简单地说,这是典型的IPv6,相当于127.0.0.1,如果您想要更多,请使用google或read IPv6rfc@sim,这是不正确的,::1是与IPv4 127.0.0.1地址等效的IPv6地址。FE80::/10范围内的任何内容都是链接本地地址,与169.254.0.0/16 IPv4地址范围更为相似,但不同。IPv6接口可能分配了多个地址,IPv6要求每个接口上都有一个链路本地地址。链接本地地址范围在每个接口上,单个设备上每个接口的链接本地地址可能相同。@RonMaupin请看我的回答您混淆了两个不同的东西。fe80::/10地址范围与::1本地主机地址无关。本地主机接口可以有任何链接本地地址。默认情况下,它是fe80::1,但可以更改为fe80::/10范围内的任何地址。IPv6接口具有多个地址,并且始终具有链接本地地址。本地主机接口将具有::1地址和链接本地地址。fe80::1可以分配给所有接口,因为它只与分配给它的链接相关,并且对于本地主机接口来说它不是特定的或必需的。@RonMaupin我重写了我的答案以避免混淆其他地址类型也需要
%
之后的接口id,或者仅针对以
fe80
?@jez开头的地址,RFC 6874解释道:“为了限制这种风险,除了明确定义的用法外,实现不允许使用这种格式,例如发送到前缀为fe80::/10的链接本地地址。在撰写本文时,这是已知的唯一明确定义的用法。”