为什么 2002:: 是无效的 IPv6 地址?

Chr*_*ris 5 windows ipv6

我目前正在学习 IPv6,在测试期间我尝试使用全局 IPv6 地址配置接口但2002::失败了,指出这是一个不正确的地址。而且我注意到,如果我尝试使用以它开头的 IPv6 地址配置接口,2002则它必须高于2002:0099::否则它说这是无效的。

所以,2000::是有效的,2001::是有效的,2002:100::是有效的,但在2002::和之间没有任何东西2002:99::。这是为什么?

kas*_*erd 8

2002::/16前缀用于 6to4,它要求接下来的 32 位(在 16 位前缀之后)是全球单播 IPv4 地址。

您说它必须高于2002:0099::这可能是因为您还没有完全理解 IPv6 地址表示法的十六进制部分。

2002:0099::将对应于 IPv4 address 0.153.0.0,但0.255.255.255也不是全球单播地址。所以2002:00ff::也行不通。

位于 6to4 网关后面的 LAN 上的主机不需要了解 6to4。他们可以将分配给他们的 6to4 地址视为任何其他全球单播 IPv6 地址。因此,不需要将拒绝2002:0099::作为无效地址,但是由于它永远不可能是有效地址,因此操作系统拒绝它确实有意义。

绝对不推荐使用随机 6to4 地址进行测试。如果您想试验 IPv6,还有其他方法可以获取要试验的地址:

  • 通过将您的 ISP 分配给您的 IP 附加到 6to4 前缀,构建一个真正的 6to4 前缀。如果您的 ISP 已分配203.0.113.1给您,则您需要将四个八位字节中的每一个都转换为十六进制值,cb 00 71 01并且您的 IPv6 前缀将为2002:cb00:7101::/48.
  • 通过隧道提供商获取隧道。
  • 从您的 ISP 获取本机 IPv6。
  • 使用 RFC 4193 地址。对于那些,第一个八位字节必须是fd,接下来的五个八位字节必须是随机的。您的前缀可以是fd2a:4b89:4d7d::/48. 这些只能在本地使用,因此如果您配置了这样的地址而没有配置其他 IPv6 地址,则存在软件尝试使用此本地 IPv6 地址而不是使用 IPv4 进行外部通信的风险。

上述选项并非排他性的。配置一个(或多个)每种地址是完全有效的。对于测试和开发,分配多个地址以测试有趣的极端情况是一个好主意。对于生产环境,您应该意识到许多系统在决定使用哪个网关时不考虑源地址,如果在路由器配置为丢弃具有意外源 IP 的数据包的设置中使用多个地址,这可能会导致中断。


msc*_*ett 3

https://www.google.de/?q=ipv6+address+2002 ::

或者检查IPv6 全球单播地址分配以查看 2002:0000::/16 是 6to4 地址范围。