1

将 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?还是我必须遍历所有分配的网络块,看看我的地址是否被其中一个覆盖?

谢谢!

4

1 回答 1

1

唯一的方法是匹配您提到的列表:解析列表并将您的地址与条目匹配。应该只有一个匹配的条目;这是你的结果。

为什么块有不同的大小?嗯,我认为这是有历史原因的。首先,只2001:分发地址;分配的块大小可能会因客户的不同需求而死。很快,他们注意到 /23 太小了。最终(在 2006 年左右),他们为每个 RIR 分配了一个 /12,现在必须考虑如何处理这个问题。这应该会持续一段时间;如果它们都被使用,将分配新的块。

于 2012-06-28T22:21:35.243 回答