Индексированный расположился алгоритм поиска для IP-адресов

Вы можете сделать это, чтобы центрировать текст

<TextView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center" />
10
задан Einstein 25 June 2009 в 05:54
поделиться

3 ответа

Вы можете посмотреть на Дерево интервалов , чтобы найти все интервалы, которые перекрываются с любым заданным интервалом или точкой.

Для неперекрывающихся IP-диапазонов вы можете использовать b-дерево или компактные попытки, такие как массивы Judy (64-битные) для индексации и поиска (сохранить start-ip как ключ, а конечный ip как значение).

2
ответ дан 4 December 2019 в 02:26
поделиться

У вас есть 10 миллиардов правил для сопоставления 4 миллиардов возможных адресов?

Составьте таблицу из 4 миллиардов адресов. Для каждого из 10 миллиардов правил «нарисуйте» адреса, к которым оно применяется, сделав что-нибудь разумное, когда два или более правил применяются к одному и тому же адресу.

3
ответ дан 4 December 2019 в 02:26
поделиться

The simple Radix Tree which has been used in the longest prefix match Internet route lookups, can be scaled to hold nodes that represent the larger CIDR subnets that overlap other smaller ones. A longest match lookup will traverse these nodes which will also be selected to get the entire set of CIDR subnets that match an IP address.

Now, to hold the IP ranges in the same tree, we can convert each range into a set of CIDR subnets. This can be always done though the set may have lots of subnets (and even some host IPs -- that is, IP/32 kind CIDR addresses).

3
ответ дан 4 December 2019 в 02:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: