2013-08-18 104 views
0

有沒有辦法從Ipv6 CIDR獲取IPv6地址數?從PHP Ipv6 CIDR獲取IPv6地址數

例如:CIDR:2403:3E00 ::/32 => 需要得到IPv6地址的個數:79228162514264337593543950336

+0

是否可以添加該頁面上的功能(PHP5從cidr前綴計算IPv6範圍) - http://stackoverflow.com/questions/10085266/php5-calculate-ipv6-range-from-cidr-prefix/10086404#10086404 它在CIDR IP地址的額外收益數 前綴:... 第一:... 最後:.. 和 NumberIP:......? – user2253402

回答

0

IPv6地址具有128個比特,這(略微簡化的)的數目是專用到網絡地址,其餘專用於主機地址。

在你的情況下,32位專用於網絡部分(/32),所以其他96專用於主機地址。

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

爲了保持精確性,您可以使用bcpow作爲此echo'bcpow(2,128-32),「\ n」;' – Orangepill

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

是錯誤的,你仍然需要

79228162514264337593543950336 - 1 = 79228162514264337593543950335 hosts 

PS。對不起,我不能評論它的名譽答案約喬姆,這就是爲什麼我沒有多大興趣在stackoverflow。