从PHP中获取Ipv6 CIDR的IPv6地址数

时间:2013-08-18 17:58:16

标签: php ip ip-address ipv6 cidr

有没有办法从Ipv6 CIDR获取IPv6地址数量?

例如:CIDR:2403:3E00 :: / 32 => 需要获取ipv6地址的数量:79228162514264337593543950336

2 个答案:

答案 0 :(得分:0)

IPv6地址有128位,其中(略微简化)一个号码专用于网络地址,其余的专用于主机地址。

在您的情况下,32位专用于网络部分(/32),因此其他96位专用于主机地址。

2^(128-32) = 2^96 = 79228162514264337593543950336 hosts

答案 1 :(得分:0)

2^(128-32) = 2^96 = 79228162514264337593543950336 

错了,你还需要

79228162514264337593543950336 - 1 = 79228162514264337593543950335 hosts

PS。抱歉,由于声誉,我无法评论Joachim的答案,这就是我对stackoverflow不太感兴趣的原因。