2012-06-28 25 views
1

由于v4地址由/ 8的块分配给IANA,所以很容易将IPv4地址映射到其控制的RIR(ARIN,RIPE等)。我可以编写一个函数,它只需要一个任意的IPv4地址,并通过检查该地址的前八位来计算出适当的RIR。将任意IPv6地址映射到单独的RIR(ARIN,RIPE等)

尽管如此,根据http://www.iana.org/assignments/ipv6-unicast-address-assignments/ipv6-unicast-address-assignments.txt,全局单播IPv6地址正在以不同大小的块分发。我无法看到为什么这些街区被分配到他们的大小的任何押韵或理由。这可能使编写上述函数的IPv6版本变得很麻烦。

是否有一种简单的方法可以判断哪个(全局单播)IPv6地址属于哪个RIR?或者我将不得不迭代所有分配的网络块并查看我的地址是否被其中一个覆盖?

谢谢!

回答

1

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

块为什么有不同的大小?那么,我认为这有历史原因。首先,只发送2001:地址;分配的块大小可能会死于客户的不同需求。不久,他们发现a/23太小了。最终(在2006年左右),他们为每个RIR分配了一个/ 12,现在必须看看如何与之相处。这应该持续一段时间;如果全部使用,则会分配新块。

+0

大鼠。我想尽可能多,但希望更容易一些。感谢您的回答。 –