在许多教程中,我看到了在Linux上添加IPv6地址的例子
ip -6 addr add 2001:0db8:0:f101 :: 1/64 dev eth0
由于IPv6地址有128位,这只是添加一个IP,为什么它是/ 64而不是/ 128?
IPv6寻址体系结构( RFC4291 )要求所有单播地址始终具有64位的前缀长度。 使用a / 64以外的内容会破坏一些IPv6function,如邻居发现,安全邻居发现(SEND),隐私扩展,移动IPv6,embedded式RP(组播)等。
当前的IPv6地址分配准则只有在知道只需要一个子网的情况下才需要分配一个/ 64,否则应该把一个/ 56分配给那些“预计在接下来的5个子网上只需要几个子网的小站点”年“,或大/ 48位的大型网站。 ( ARIN政策6.5.4.1 )
目前一些免费的隧道经纪人提供/ 48。 如果你愿意的话,你现在可以很容易地在家里设置65536个全局路由/ 64个。 (例如, 飓风电气将给任何人一个48)
如果这看起来很浪费,那么考虑到IPv4 / 24的可能性比48/48更多。 是地球上平方厘米的两倍多/ 48倍。 (2.8× 10 14对比1.4×10 14 cm 2 )。
64是子网掩码。 在IPv6 / 64中是“默认”子网掩码。 在大多数* nix操作系统中,您可以通过以CIDR表示法指定IP来指定子网掩码。
请参阅Evan的Subnetting答案了解更多有关子网的信息。
大多数隧道代理(或本地ipv6委派)给你一个/ 64,然后将整个/ 64路由到你的端点。 由于两个端点(代理/ ISP端和您的端)都是/ 64的一部分,因此您需要configuration/ 64前缀。
这和从ISP获得ipv4范围基本相同。 如果获得/ 24,则将networking掩码255.255.255.0(或/ 24)添加到您的IP地址。 否则,你的主机不知道子网是多大。