【发布时间】:2010-11-05 18:07:54
【问题描述】:
给定一个 ACL 列表,其中包含 100 亿个以 CIDR 表示或两个 IP 之间的 IPv4 范围:
x.x.x.x/y
x.x.x.x - y.y.y.y
用于测试给定 IP 地址是否满足一个或多个 ACL 范围标准的有效搜索/索引算法是什么?
让我们假设大多数 ACL 范围定义跨越大量 C 类块。
通过哈希表索引点很容易,但尝试一下,因为我可能无法想出一个合理的方法来检测哪些点被一大串“线”覆盖。
有一些想法,比如在某个细节级别索引提示——比如在 C 类级别预先计算涵盖该点的每个 ACL,但表会太大..或者某种 KD 树来动态设置详细程度。
还想到也许有碰撞检测算法可以解决这个问题。
有正确方向的提示或指示吗?
【问题讨论】:
标签: indexing ip-address search