我目前正在学习 IPv6,在测试期间,我尝试使用全局 IPv6 地址配置接口,但2002::
失败了,说明地址不正确。而且我注意到,如果我尝试使用以它开头的 IPv6 地址配置接口,2002
则它必须高于2002:0099::
否则它说这是无效的。
所以,2000::
是有效的,2001::
是有效的,2002:100::
是有效的,但在2002::
和之间没有任何内容2002:99::
。这是为什么?
我目前正在学习 IPv6,在测试期间,我尝试使用全局 IPv6 地址配置接口,但2002::
失败了,说明地址不正确。而且我注意到,如果我尝试使用以它开头的 IPv6 地址配置接口,2002
则它必须高于2002:0099::
否则它说这是无效的。
所以,2000::
是有效的,2001::
是有效的,2002:100::
是有效的,但在2002::
和之间没有任何内容2002:99::
。这是为什么?
2002::/16
前缀用于 6to4,它要求接下来的 32 位(在 16 位前缀之后)是全球单播 IPv4 地址。你说它一定比
2002:0099::
这高可能是因为你还没有完全理解 IPv6 地址符号的十六进制部分。2002:0099::
将对应于 IPv4 address0.153.0.0
,但0.255.255.255
也不是全球单播地址。所以2002:00ff::
也行不通。位于 6to4 网关后面的 LAN 上的主机不需要了解 6to4。他们可以将分配给他们的 6to4 地址视为任何其他全球单播 IPv6 地址。因此,不需要将
2002:0099::
其作为无效地址拒绝,但是由于它永远不可能是有效地址,因此操作系统拒绝它确实有意义。绝对不推荐使用随机 6to4 地址进行测试。如果您想试验 IPv6,还有其他方法可以让地址试验:
203.0.113.1
给您,您会将四个八位字节中的每一个转换为十六进制值cb
00
71
01
,并且您的 IPv6 前缀将为2002:cb00:7101::/48
.fd
组必须是随机的,接下来的五个八位位组必须是随机的。您的前缀可能是fd2a:4b89:4d7d::/48
. 这些只能在本地使用,因此如果您配置这样的地址而没有其他 IPv6 地址,则存在软件尝试使用此本地 IPv6 地址而不是使用 IPv4 进行外部通信的风险。上述选项并非排他性的。配置每种地址中的一个(或多个)是完全有效的。对于测试和开发,分配多个地址以测试有趣的极端情况可能是一个好主意。对于生产环境,您应该知道,许多系统在决定使用哪个网关时没有考虑源地址,如果在路由器配置为丢弃具有意外源 IP 的数据包的设置中使用多个地址,这可能会导致损坏。
https://www.google.de/?q=ipv6+address+2002 ::
或检查IPv6 Global Unicast Address Assignments以查看 2002:0000::/16 是 6to4 地址范围。