【问题标题】:Get all Ipv6 Addresses from CIDR prefix?从 CIDR 前缀获取所有 IPv6 地址?
【发布时间】:2015-11-25 10:38:54
【问题描述】:

我找到了很多关于如何从 ipv4 cidr 子网获取所有地址的信息,但对 ipv6 没有任何帮助。

有 php 库来计算吗? 我需要的是来自 ipv6 cidr 子网的所有地址的数组。

例如来自这个子网的所有地址 3FFA:FF2B:4D:A000::/51。

之后我想对此地址进行 nslookup。

【问题讨论】:

  • 我觉得标题应该改成IPv6,而不是IPv4。
  • 哦,谢谢你是对的!

标签: php ipv6 subnet cidr


【解决方案1】:

我需要的是来自 ipv6 cidr 的所有地址的数组

实际上,这可能不是您想要的。涉及的地址数量可能会迅速增长到无法管理。将它们全部保存在一个数组中将需要大量内存。 (例如,如果您将每个地址保存为 128 位值 那么对于 /51,您将需要大约 2,000,000,000,000 TB 的内存来保存该数组)。

您真正想要的可能是生成顺序地址的东西,以便您可以迭代地址并对每个地址执行一些操作;同样,这不太可能是可管理的,因为即使您只需要 1ns 来处理每个 IP,您也将花费数千年来实际迭代 /51 中的所有地址(例如 (1e-9 * 2**77) /(86400*365) = 4,791,848 年)。

【讨论】:

    猜你喜欢
    • 2013-08-20
    • 2012-04-22
    • 2023-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-20
    • 1970-01-01
    相关资源
    最近更新 更多