将 IPv4 地址映射到它们的控制 RIR(ARIN、RIPE 等)很容易,因为 v4 地址由 IANA 在 /8 块中分发。我可以编写一个函数,它采用任意 IPv4 地址并通过检查该地址的前 8 位来计算出正确的 RIR。
不过,根据http://www.iana.org/assignments/ipv6-unicast-address-assignments/ipv6-unicast-address-assignments.txt,全球单播 IPv6 地址以不同大小的块形式分发。我看不出为什么这些块按照它们的大小分配的任何押韵或原因。这可能会使编写上述函数的 IPv6 版本变得很麻烦。
有没有一种简单的方法来判断哪个(全球单播)IPv6 地址属于哪个 RIR?还是我必须遍历所有分配的网络块,看看我的地址是否被其中一个覆盖?
谢谢!