我的中有以下块/etc/hosts
:
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
它们是由 Ubuntu 中的一些 automagic 插入的,而不是我写的。我发现很多文件都说你应该有这些行。但为什么?为什么他们是令人向往的?
我怀疑他们不是而且都很粗糙(除了第一个)。因为如果你用谷歌搜索其中一个名字,例如ip6-allrouters
,你找到的只是对它们的引用/etc/hosts
,但没有人真正使用它们。
表达这个问题的另一种方式是,如果删除这些行,会对我造成什么伤害,或者哪些功能将无法正常运行?如果答案是没有任何,我们可以断定它们是多余的吗?
答案1
根据RFC 4291,第 2.7 节:多播地址, 开头的前 8 位 ( FF
in FF0X
) 将地址标识为多播地址。
这旗帜,接下来的 4 位(问题中的第一个)表示0
:FF0X
...永久分配的(“众所周知的”)多播地址,由互联网号码分配机构 (IANA) 分配。
接下来的 4 位(最后一个十六进制值0
或2
中的FF00
或FF02
)定义范围:
0 reserved
[...]
2 Link-Local scope
[...]
这预订的范围保留供将来使用。
这链接本地范围意味着该范围内的包永远不会被路由,因此不能离开子网。
所以地址意味着他遵循:
::1:
这是环回地址,其 IPv4 等效地址为127.0.0.1
。fe00::0
: 可以比较一下E类地址空间在 IPv4 中,因此它在保留范围内;保留以供将来使用。ff02::1
:链路本地范围内所有 IPv6 节点(包括路由器)的组,其 IPv4 等效项为224.0.0.1
。ff02::2
:链路本地范围内所有 IPv6 路由器的组,其 IPv4 等效项为224.0.0.2
。ff02::3
:该选项不再存在且目前未分配。早些时候,它代表链路本地范围内的所有主机(不包括路由器)的组。
进一步阅读/参考文献:
答案2
我认为它们的目的是让您可以更轻松地 ping 所有路由器或所有主机等,而无需记住多播地址。我也没有看到它们在其他地方被使用过。