为什么将 IPv6 地址添加为 /64?

Gen*_*ent 5 networking linux ipv6

在许多教程中,我看到在 Linux 上添加 IPv6 地址的示例,例如

ip -6 地址添加 2001:0db8:0:f101::1/64 dev eth0

由于 IPv6 地址有 128 位,而这只能添加一个 IP,为什么它是 /64 而不是 /128 ?

Chr*_*s S 12

64是子网掩码。在IPv6 中/64 是“默认”子网掩码。在大多数 *nix 操作系统中,您可以通过以CIDR表示法指定 IP 来指定子网掩码。

有关子网的更多信息,请参阅 Evan 的子网划分答案。


eat*_*ter 7

IPv6 寻址架构 ( RFC4291 ) 要求所有单播地址的前缀长度始终为 64 位。使用 /64 以外的其他东西会破坏许多 IPv6 功能,例如邻居发现、安全邻居发现 (SEND)、隐私扩展、移动 IPv6、嵌入式 RP(多播)等。

当前的 IPv6 地址分配指南要求仅在已知需要一个且仅需要一个子网时才分配 /64,否则应将 /56 分配给“预计在接下来的 5 个子网中只需要几个子网的小型站点”年”,或 /48 用于较大的站点。(ARIN 政策 6.5.4.1

许多免费隧道经纪人目前提供 /48s。如果您愿意,您现在可以轻松地在家中设置 65,536 个全球路由/64。(例如,飓风电气会给任何人一个 /48)

如果这看起来很浪费,请考虑一下 /48 的数量可能是 IPv4 /24 的 1600 万倍。/48s 是地球上平方厘米陆地面积的两倍。(2.8?10 14对 1.4?10 14 cm 2)。

  • ...一旦每个纳米机器人都有自己的 IPv6 地址,这将是一个问题...... (8认同)