JP6114705B2 - 検索木生成装置及び方法及びプログラム - Google Patents
検索木生成装置及び方法及びプログラム Download PDFInfo
- Publication number
- JP6114705B2 JP6114705B2 JP2014035758A JP2014035758A JP6114705B2 JP 6114705 B2 JP6114705 B2 JP 6114705B2 JP 2014035758 A JP2014035758 A JP 2014035758A JP 2014035758 A JP2014035758 A JP 2014035758A JP 6114705 B2 JP6114705 B2 JP 6114705B2
- Authority
- JP
- Japan
- Prior art keywords
- search tree
- algorithm
- search
- memory
- boundary
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
・Set-Pruning Tre
・Grid of tire
上記のアルゴリズムは任意のビットマスクに対応していないが、一致条件の各ビットを一つのフィールドとして扱うことで任意のビットマスクを含んでいたとしてもフローテーブルを検索することが可能である。
・〜数GB:組み込みマシンなどのメモリ
・〜数百GB:メインメモリ(現在は8GB〜256GB程度)
取得した、エントリの情報、メモリやストレージの使用率、利用可能な記憶領域の情報に基づいて、検索木の根から任意の深さ及びノード数までは、計算速度の速いデータ構造のアルゴリズムAで構成し、それ以降はメモリ効率の高いデータ構造のアルゴリズムBで構成するもの、又は検索木の根から任意の深さ及びノード数までは、メモリ効率の高いデータ構造のアルゴリズムAで構成し、それ以降は計算速度の速いデータ構造のアルゴリズムBで構成するものとする、アルゴリズムの境界を決定する検索木管理手段と、
前記アルゴリズムの境界に基づいて、前記アルゴリズムAと前記アルゴリズムBを有する検索木を生成する検索木生成手段と、を有する検索木生成装置が提供される。
検索木(検索テーブル)130は、検索木(検索テーブル)作成・最適化部140によって作成された検索木であり、検索処理制御部120でこの検索木を用いて検索処理を行う。
・パケットのヘッダのうち、一致条件に使用するものだけを切り出す;
最後に整形した情報を検索処理制御部120に出力する。
検索木(検索テーブル)管理部150は、図2に示すような検索木(検索テーブル)130の2つのアルゴリズムの境界を決定する。図2に示すとおり、根からある深さ、ノード数まではSet-Pruning Trie等、計算速度の速いデータ構造で検索木(algorithm A)を構築し、それ以降は、Hiearchical TrieやMask List等のメモリ効率の高いデータ構造(algorithmB)を使用することで、限られたメモリ量で高速なLookupを実現する。もしくは、メモリ効率が高い検索木を"algorithmA"とし、計算効率の高い検索木を"algorithmB"とする。
以下では、Set-Pruning TrieとHiearchical Trieの組み合わせる場合について説明する。
検索木(検索テーブル)作成・最適化部140は、利用可能な計算資源を最大限利用すると共に、各検索木(検索テーブル)130に対して最適なメモリマッピングを行う。double array等で配列に木をマッピングする際に、有効なマッピング手法としては、van Emde Boas layout(非特許文献5参照)が知られており、何も考慮せずに頂点を配列に配置するよりも、キャッシュヒット率が向上する。
20 メモリ・ストレージ構成測定部
30 使用可能コア測定部
100 フロー検索装置
110 パケット情報受信部
120 検索処理制御部
130 検索木(検索テーブル)
140 検索木(検索テーブル)作成・最適化部
150 検索木(検索テーブル)管理部
Claims (8)
- エントリにビットマスクを含むテーブルの検索に利用される検索木を生成する検索木生成装置であって、
取得した、エントリの情報、メモリやストレージの使用率、利用可能な記憶領域の情報に基づいて、検索木の根から任意の深さ及びノード数までは、計算速度の速いデータ構造のアルゴリズムAで構成し、それ以降はメモリ効率の高いデータ構造のアルゴリズムBで構成するもの、又は検索木の根から任意の深さ及びノード数までは、メモリ効率の高いデータ構造のアルゴリズムAで構成し、それ以降は計算速度の速いデータ構造のアルゴリズムBで構成するものとする、アルゴリズムの境界を決定する検索木管理手段と、
前記アルゴリズムの境界に基づいて、前記アルゴリズムAと前記アルゴリズムBを有する検索木を生成する検索木生成手段と、
を有することを特徴とする検索木生成装置。 - 前記検索木管理手段は、
前記アルゴリズムの境界を、前記メモリやストレージの使用率、利用可能な記憶領域の情報に基づいて、前記アルゴリズムAと前記アルゴリズムBのメモリ使用量を算出し、二分探索によって決定する手段を含む
請求項1記載の検索木生成装置。 - 前記検索木管理手段は、
前記アルゴリズムAを、各頂点でマッチする可能性のあるエントリを集合として扱い、木を辿る毎に該集合を刈り取ることで検索を行うSet-Pruning Trieとし、
前記アルゴリズムBを、マッチする可能性のある辺を全て辿るバックトラッキングのアルゴリズムであるHiearchical Trieとする
請求項1または2記載の検索木生成装置。 - 前記検索木生成手段で生成された前記アルゴリズムAと前記アルゴリズムBを有する検索木に対し、幅優先、深さ優先、ノードの再配置、LOUDS(Level Order Unary Degree Sequence)のいずれかにより、メモリのマッピングを最適化する検索木最適化手段を更に有する
請求項1乃至3のいずれか1項に記載の検索木生成装置。 - 前記検索木管理手段は、
前記検索木が生成される前に、前記エントリの情報の各エントリが含むフィールドの順番をアルゴリズムに合わせて並べ替える手段を含む
請求項1乃至4のいずれか1項に記載の検索木生成装置。 - エントリにビットマスクを含むテーブルの検索に利用される検索木を生成する検索木生成方法であって、
取得した、エントリの情報、メモリやストレージの使用率、利用可能な記憶領域の情報に基づいて、検索木の根から任意の深さ及びノード数までは、計算速度の速いデータ構造のアルゴリズムAで構成し、それ以降はメモリ効率の高いデータ構造のアルゴリズムBで構成するもの、又は検索木の根から任意の深さ及びノード数までは、メモリ効率の高いデータ構造のアルゴリズムAで構成し、それ以降は計算速度の速いデータ構造のアルゴリズムBで構成するものとする、アルゴリズムの境界を決定する検索木管理ステップと、
前記アルゴリズムの境界に基づいて、前記アルゴリズムAと前記アルゴリズムBを有する検索木を生成する検索木生成ステップと、
を行うことを特徴とする検索木生成方法。 - 前記検索木管理ステップにおいて、
前記アルゴリズムの境界を、前記メモリやストレージの使用率、利用可能な記憶領域の情報に基づいて、前記アルゴリズムAと前記アルゴリズムBのメモリ使用量を算出し、二分探索によって決定する
請求項6記載の検索木生成方法。 - コンピュータを、
請求項1乃至5のいずれか1項に記載の検索木生成装置の各手段として機能させるための検索木生成プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014035758A JP6114705B2 (ja) | 2014-02-26 | 2014-02-26 | 検索木生成装置及び方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014035758A JP6114705B2 (ja) | 2014-02-26 | 2014-02-26 | 検索木生成装置及び方法及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015162748A JP2015162748A (ja) | 2015-09-07 |
JP6114705B2 true JP6114705B2 (ja) | 2017-04-12 |
Family
ID=54185592
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014035758A Active JP6114705B2 (ja) | 2014-02-26 | 2014-02-26 | 検索木生成装置及び方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6114705B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021166087A1 (ja) * | 2020-02-18 | 2021-08-26 | 日本電信電話株式会社 | パケット検索装置、パケット検索方法およびパケット検索プログラム |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06139280A (ja) * | 1992-10-29 | 1994-05-20 | Toshiba Corp | ファイル管理システム |
US6874033B1 (en) * | 1998-03-23 | 2005-03-29 | Hitachi, Ltd. | Network repeater and network next transfer desitination searching method |
KR100512949B1 (ko) * | 2003-02-28 | 2005-09-07 | 삼성전자주식회사 | 필드레벨 트리를 이용한 패킷분류장치 및 방법 |
US8625604B2 (en) * | 2009-12-01 | 2014-01-07 | Polytechnic Institute Of New York University | Hash-based prefix-compressed trie for IP route lookup |
-
2014
- 2014-02-26 JP JP2014035758A patent/JP6114705B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2015162748A (ja) | 2015-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11811660B2 (en) | Flow classification apparatus, methods, and systems | |
CN104769884B (zh) | 利用流数据的转发表优化 | |
Meiners et al. | Bit weaving: A non-prefix approach to compressing packet classifiers in TCAMs | |
Meiners et al. | Topological transformation approaches to TCAM-based packet classification | |
US10230639B1 (en) | Enhanced prefix matching | |
US20140122791A1 (en) | System and method for packet classification and internet protocol lookup in a network environment | |
US10284472B2 (en) | Dynamic and compressed trie for use in route lookup | |
Luo et al. | Practical flow table aggregation in SDN | |
US20180039662A1 (en) | Search apparatus, search method, program and recording medium | |
CN107276916B (zh) | 基于协议无感知转发技术的交换机流表管理方法 | |
US20170147708A1 (en) | Efficient graph database traversal | |
WO2014187040A1 (zh) | 基于hash表的关键字映射处理方法和装置 | |
Pao et al. | A multi-pipeline architecture for high-speed packet classification | |
JP2017537566A (ja) | ルーティングテーブルのメンテナンス方法、装置及び記憶媒体 | |
JP6020278B2 (ja) | 自律分散型キャッシュ配置制御システム | |
JP2014504042A (ja) | パケット分類器、パケット分類方法、及びパケット分類プログラム | |
Pao et al. | Efficient packet classification using TCAMs | |
JP6085577B2 (ja) | 検索木生成・検索装置及び方法及びプログラム | |
US10999199B2 (en) | Dynamic route profile storage in a hardware trie routing table | |
JP6114705B2 (ja) | 検索木生成装置及び方法及びプログラム | |
Yu et al. | Characterizing rule compression mechanisms in software-defined networks | |
Veeramani et al. | Efficient IP lookup using hybrid trie-based partitioning of TCAM-based open flow switches | |
Shen et al. | Optimizing multi-dimensional packet classification for multi-core systems | |
JP5814830B2 (ja) | フロー単位パケット転送のための宛先検索装置および検索方法 | |
Heszberger et al. | Adaptive bloom filters for multicast addressing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160118 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20161005 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20161025 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20161220 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170124 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170227 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20170314 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170317 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6114705 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |