IPv6 のホワイトリスト / ブロックリストを作成する必要があります。
IPv6 でホストごとまたはネットワークごとに情報を維持するために、どのようなメモリ内オプションがありますか?
私は現在HashTable<UInt32>
、IPv4 に を使用していますが、サブネット トラッキングや CIDR などを実際にマスターしたことはありません。
そうは言っても..そのようなブロックリスト/ホワイトリストを作成するための最も効率的な方法(検索速度、またはメモリ内のコンパクトさ)は何ですか?
TL;DR 質問
UInt128
a が list/btree/hashtable にあるかどうかを調べるにはどうすればよいですか? これに適したデータ構造はどれですか?互いに「近い」IP を見つける方法を教えてください。これは通常 CIDR と呼ばれますが、BigInt の値比較として表現することもできます。
ちょうど私の頭に浮かんだ 1 つのアプローチは、暗号アキュムレータがどのように機能するかです。おそらく、アキュムレータの「メンバーシップ」機能を活用して、数値がセットのメンバーであるかどうかを判断する必要があるかもしれません