在 IPv4 中,人们经常使用像10.0.0.0
( 10.0.0.1
- 10.0.0.254
) 或192.168.0.0
这两个都相当容易记住。在 IPv6 中它们的替代方案是什么?我知道我可以发明任何我能想到的可能的子网,但我宁愿使用更标准的东西。
ISC-DHCP 服务器2001:db8:0:1::/64
在其示例中使用,但这个地址范围在我看来相当复杂且难以记住。
是否可以使用一些非常简单的东西,例如a::0 - a::ffff
?有哪些好的例子容易记住并且被广泛使用?
答案1
RFC 3849正式指定2001:db8::/32
为用于文档的前缀。这就是 ISC DHCP 服务器的文档使用它的原因。
RFC 5737将 IPv4 的文档子网定义为以下块:
192.0.2.0/24 (TEST-NET-1)
198.51.100.0/24 (TEST-NET-2)
203.0.113.0/24 (TEST-NET-3)
不懂的文档编写者会误用RFC 1918IPv4 私有地址范围:
10.0.0.0/8
172.16.0.0/12
192.168.0.0/16.
与此(糟糕)做法相同的 IPv6 做法是使用RFC 4193的唯一本地地址前缀fc00::/7
。
有什么难记住的2001:db8::/32
?想象一下斯坦利·库布里克的粉丝们争论2001:太空漫游。这是 2001 年的一场辩论。
该2001::
前缀用于许多公共可路由地址,因此2001:db8::
甚至“看起来像”一个“真实的”前缀。
答案2
人们使用这些地址并不是因为它们容易记住,而是因为它们被专门分配给私人使用(见RFC 1918)。
IPv6 确实有一组称为唯一本地地址 (RFC 4193) 可以类似方式使用。这些地址的子网为:
fd00::/8
但是,RFC 确实规定前 40 位应随机生成,以便全局不会发生冲突。以下是 RFC 的细分:
| 7 bits |1| 40 bits | 16 bits | 64 bits |
+--------+-+------------+-----------+----------------------------+
| Prefix |L| Global ID | Subnet ID | Interface ID |
+--------+-+------------+-----------+----------------------------+
因此,这并不容易记住,但却是“正确的方法”。