JP5741421B2 - 検索装置及び検索キー再配置方法 - Google Patents
検索装置及び検索キー再配置方法 Download PDFInfo
- Publication number
- JP5741421B2 JP5741421B2 JP2011277733A JP2011277733A JP5741421B2 JP 5741421 B2 JP5741421 B2 JP 5741421B2 JP 2011277733 A JP2011277733 A JP 2011277733A JP 2011277733 A JP2011277733 A JP 2011277733A JP 5741421 B2 JP5741421 B2 JP 5741421B2
- Authority
- JP
- Japan
- Prior art keywords
- search
- associative memories
- search key
- data table
- associative
- 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.)
- Expired - Fee Related
Links
Images
Description
図7にルーティングテーブル検索装置の一実施形態の構成図を示す。図7に示すルーティングテーブル検索装置24は図2におけるルーティングテーブル検索装置14に対応している。すなわち、ルーティングテーブル検索装置24はネットワークシステムを構成するスイッチ内のルーティングテーブル検索装置である。
以下、検索処理動作について、スイッチにおけるMAC学習テーブルの処理を例として詳細に説明する。本実施形態では、MACアドレスの検索、登録、削除を行いながら、検索回数の統計処理を行う検索処理と、統計結果を分析して検索回数又は頻度が各TCAMで均一となるような検索パターンを選択してTCAMの格納情報を再配置する保守処理を、周期的に交互に繰り返す。これにより、各TCAM26−0〜26−Nへの検索実施頻度の均一性を維持する。
図2に示すようなスイッチは、パケットを受信すると、そのパケットの送信先MACアドレスからどのポートにパケットを転送すべきかを判定するため、送信先MACアドレスを検索キーとしてMAC学習テーブルつまりデータテーブル25の検索を行い、転送先ポートを求める。
送信先MACアドレスを検索キーとして検索を行い、検索を行ったMACアドレスが検索システムに未登録であった場合、その送信先MACアドレスについてデータテーブル25つまりMAC学習テーブルへの登録処理を行う。
システムに登録された送信先MACアドレスが一定期間検索されない場合、そのMACアドレスについてMAC学習テーブルであるデータテーブル25からの削除処理を行う。一般的なスイッチの場合、例えば300秒程度の期間、検索が行われない場合は削除を行う。
保守処理とは、それまで運用で取得された統計結果を分析して検索頻度が各TCAMで均一となるような検索パターンを選択し、TCAMの格納情報を再配置する処理のことである。
検索回数の統計情報を基に、現状のデータテーブル25のエントリをどのTCAMに配置すべきかを、検索パターンテーブル30に登録されている検索パターンから選択する。このために、検索検索統計処理部28は検索統計テーブル29から各検索パターンにおけるTCAMの検索回数を読み込む。
ここで、C_patternは各検索パターンの指標値、A_tcamは検索パターン内の各TCAM検索回数、B_patternは検索パターン内の各TCAM検索回数の最小値である。
再配置検索パターンとして選択した検索パターンに従い、TCAMに登録されているデータを再配置する。まず、検索検索統計処理部28より全てのTCAMの登録データを全てクリアする。クリア実施後、検索検索統計処理部28での統計分析結果から選択された再配置検索パターンに従い、データテーブル25から順次MACアドレスを読み出して、MACアドレスから該当検索パターンのインデックスビットに示されるビットを取得して再配置を行うべきTCAM番号を判別する。そして、該当するTCAMにデータテーブル25から読み出したMACアドレスと該当エントリのインデックスの登録を行い、全てのエントリの登録完了後に検索統計テーブル29の統計情報をクリアし、検索処理に移行する。
検索システムが最初に立ち上がった場合等は検索の統計情報が計上されていない。その際はデータテーブル25の登録状況により初期配置を行う必要がある。データテーブル25には登録されているが、TCAM26−0〜26−Nには登録されてない場合について、説明する。
(3)最小数が求められたら、各TCAMの配置予定数からその最小数を減算し、その値を全て合計する。
(4)全ての検索パターンについて合計値を求め、TCAMの配置条件に到達していないもののうち、一番合計数が少ない検索パターンを再配置検索パターンとして選択する。
次に、ステップS110で検索統計処理部28は図18に示す保守処理(再配置(1))を実行する。ここでは、ステップS100の保守処理(統計分析)で得られた再配置検索パターンを基にTCAMの再配置を行う。
MAC学習テーブルとしてのデータテーブル25に何も登録されていない状態で初期化を行う場合は、検索パターンテーブル30の特定の検索パターン番号、例えば若番を運用中の検索パターン番号として選択し、通常処理に移行する。
検索処理が常時輻輳しているわけではなく、ある程度閑散となる期間がある場合、TCAM26−0〜26−Nを使った検索処理から、データテーブル25を直接順次検索してTCAM26−0〜26−Nの検索を行わないようにし、その間にTCAM26−0〜26−Nのデータ再配置を行うことで保守処理中にも検索処理が可能となる。
保守処理期間中の検索処理は、保守処理と同時に検索を実行するため、TCAM26−0〜26−Nの検索処理を行わず、データテーブル25に格納されているデータを直接参照して検索キーが一致するエントリを順次調査する。また、保守処理期間中はTCAM別の検索回数統計情報の計上を行わない。
保守処理期間中に登録・削除処理部34は登録要求を受理すると、データテーブル25にエントリを登録し、ダイナミック/スタティック情報がダイナミックの場合はエージングタイムを「削除するデータ」とし、スタティックの場合は「削除しないデータ」として更新する。TCAM26−0〜26−Nへの登録は保守処理の再配置により行う。
(付記1)
外部から入力された検索キーを複数の連想メモリに登録されている各エントリの検索キーと比較して一致したエントリの内容を検索結果として出力する検索装置において、
前記検索キーから1つの連想メモリを識別するビット位置を示す複数の検索パターンそれぞれについて前記複数の連想メモリそれぞれの検索回数を算出する算出手段と、
前記複数の検索パターン毎の前記複数の連想メモリそれぞれの検索回数を基に、検索回数が前記複数の連想メモリで均一となる順に前記複数の検索パターンの優先順位を決定する優先順位決定手段と、
前記優先順位が高い検索パターンと前記検索キーを用いて前記複数の連想メモリから識別した連想メモリに前記検索キーを再配置する再配置手段と、
を有することを特徴とする検索装置。
(付記2)
付記1記載の検索装置において、
前記検索結果として出力されるエントリの内容で検索され前記検索キーを含む検索情報が格納されたデータテーブルを有し、
前記再配置手段は、前記優先順位が最も高い検索パターンと前記データテーブルから読み出した検索キーを用いて前記複数の連想メモリから識別した連想メモリに前記データテーブルから読み出した検索キーを再配置するとき、前記複数の連想メモリのいずれかで連想メモリの格納数の上限値を超えた場合、次に優先順位が高い検索パターンと前記データテーブルから読み出した検索キーを用いて前記複数の連想メモリから識別した連想メモリに前記データテーブルから読み出した検索キーを再配置する
ことを特徴とする検索装置。
(付記3)
付記2記載の検索装置において、
前記複数の検索パターン毎の前記複数の連想メモリそれぞれの検索回数が算出されておらず、かつ、前記データテーブルに前記検索キーを含む検索情報が格納されている場合、前記算出手段は、前記データテーブルから読み出した検索キーから前記複数の検索パターンそれぞれについて前記複数の連想メモリそれぞれの配置予定数を算出し、
前記優先順位決定手段は、前記複数の検索パターン毎の前記複数の連想メモリそれぞれの配置予定数を基に、配置予定数が前記複数の連想メモリで均一となる順に前記複数の検索パターンの優先順位を決定する
ことを特徴とする検索装置。
(付記4)
付記1乃至3のいずれか1項記載の検索装置において、
前記算出手段は、前記複数の検索パターンを保持する検索パターンテーブルと、
前記複数の検索パターン毎の前記複数の連想メモリそれぞれの検索回数又は配置予定数を保持する検索統計テーブルと、
を有することを特徴とする検索装置。
(付記5)
外部から入力された検索キーを複数の連想メモリに登録されている各エントリの検索キーと比較して一致したエントリの内容を検索結果として出力する検索装置の検索キー再配置方法において、
前記検索キーから1つの連想メモリを識別するビット位置を示す複数の検索パターンそれぞれについて前記複数の連想メモリそれぞれの検索回数を算出し、
前記複数の検索パターン毎の前記複数の連想メモリそれぞれの検索回数を基に、検索回数が前記複数の連想メモリで均一となる順に前記複数の検索パターンの優先順位を決定し、
前記優先順位が高い検索パターンと前記検索キーを用いて前記複数の連想メモリから識別した連想メモリに前記検索キーを再配置する
ことを特徴とする検索キー再配置方法。
(付記6)
付記5記載の検索キー再配置方法において、
前記検索結果として出力されるエントリの内容で検索され前記検索キーを含む検索情報が格納されたデータテーブルを有し、
前記優先順位が最も高い検索パターンと前記データテーブルから読み出した検索キーを用いて前記複数の連想メモリから識別した連想メモリに前記データテーブルから読み出した検索キーを再配置するとき、前記複数の連想メモリのいずれかで連想メモリの格納数の上限値を超えた場合、次に優先順位が高い検索パターンと前記データテーブルから読み出した検索キーを用いて前記複数の連想メモリから識別した連想メモリに前記データテーブルから読み出した検索キーを再配置する
ことを特徴とする検索キー再配置方法。
(付記7)
付記6記載の検索キー再配置方法において、
前記複数の検索パターン毎の前記複数の連想メモリそれぞれの検索回数が算出されておらず、かつ、前記データテーブルに前記検索キーを含む検索情報が格納されている場合、前記データテーブルから読み出した検索キーから前記複数の検索パターンそれぞれについて前記複数の連想メモリそれぞれの配置予定数を算出し、
前記複数の検索パターン毎の前記複数の連想メモリそれぞれの配置予定数を基に、配置予定数が前記複数の連想メモリで均一となる順に前記複数の検索パターンの優先順位を決定する
ことを特徴とする検索キー再配置方法。
12 アービタ/ピリータ
13 プロセッサ
14,24 ルーティングテーブル検索装置
25 データテーブル
26−0〜16−N TCAM
27 検索制御部
28 検索統計処理部
29 検索統計テーブル
30 検索パターンテーブル
31 要求処理部
32 応答処理部
33 登録・削除処理部
Claims (6)
- 外部から入力された検索キーを複数の連想メモリに登録されている各エントリの検索キーと比較して一致したエントリの内容を検索結果として出力する検索装置において、
前記検索キーから1つの連想メモリを識別するビット位置を示す複数の検索パターンそれぞれについて前記複数の連想メモリそれぞれの検索回数を算出する算出手段と、
前記複数の検索パターン毎の前記複数の連想メモリそれぞれの検索回数を基に、検索回数が前記複数の連想メモリで均一となる順に前記複数の検索パターンの優先順位を決定する優先順位決定手段と、
前記優先順位が高い検索パターンと前記検索キーを用いて前記複数の連想メモリから識別した連想メモリに前記検索キーを再配置する再配置手段と、
を有することを特徴とする検索装置。 - 請求項1記載の検索装置において、
前記検索結果として出力されるエントリの内容で検索され前記検索キーを含む検索情報が格納されたデータテーブルを有し、
前記再配置手段は、前記優先順位が最も高い検索パターンと前記データテーブルから読み出した検索キーを用いて前記複数の連想メモリから識別した連想メモリに前記データテーブルから読み出した検索キーを再配置するとき、前記複数の連想メモリのいずれかで連想メモリの格納数の上限値を超えた場合、次に優先順位が高い検索パターンと前記データテーブルから読み出した検索キーを用いて前記複数の連想メモリから識別した連想メモリに前記データテーブルから読み出した検索キーを再配置する
ことを特徴とする検索装置。 - 請求項2記載の検索装置において、
前記複数の検索パターン毎の前記複数の連想メモリそれぞれの検索回数が算出されておらず、かつ、前記データテーブルに前記検索キーを含む検索情報が格納されている場合、前記算出手段は、前記データテーブルから読み出した検索キーから前記複数の検索パターンそれぞれについて前記複数の連想メモリそれぞれの配置予定数を算出し、
前記優先順位決定手段は、前記複数の検索パターン毎の前記複数の連想メモリそれぞれの配置予定数を基に、配置予定数が前記複数の連想メモリで均一となる順に前記複数の検索パターンの優先順位を決定する
ことを特徴とする検索装置。 - 外部から入力された検索キーを複数の連想メモリに登録されている各エントリの検索キーと比較して一致したエントリの内容を検索結果として出力する検索装置の検索キー再配置方法において、
前記検索キーから1つの連想メモリを識別するビット位置を示す複数の検索パターンそれぞれについて前記複数の連想メモリそれぞれの検索回数を算出し、
前記複数の検索パターン毎の前記複数の連想メモリそれぞれの検索回数を基に、検索回数が前記複数の連想メモリで均一となる順に前記複数の検索パターンの優先順位を決定し、
前記優先順位が高い検索パターンと前記検索キーを用いて前記複数の連想メモリから識別した連想メモリに前記検索キーを再配置する
ことを特徴とする検索キー再配置方法。 - 請求項4記載の検索キー再配置方法において、
前記検索結果として出力されるエントリの内容で検索され前記検索キーを含む検索情報が格納されたデータテーブルを有し、
前記優先順位が最も高い検索パターンと前記データテーブルから読み出した検索キーを用いて前記複数の連想メモリから識別した連想メモリに前記データテーブルから読み出した検索キーを再配置するとき、前記複数の連想メモリのいずれかで連想メモリの格納数の上限値を超えた場合、次に優先順位が高い検索パターンと前記データテーブルから読み出した検索キーを用いて前記複数の連想メモリから識別した連想メモリに前記データテーブルから読み出した検索キーを再配置する
ことを特徴とする検索キー再配置方法。 - 請求項5記載の検索キー再配置方法において、
前記複数の検索パターン毎の前記複数の連想メモリそれぞれの検索回数が算出されておらず、かつ、前記データテーブルに前記検索キーを含む検索情報が格納されている場合、前記データテーブルから読み出した検索キーから前記複数の検索パターンそれぞれについて前記複数の連想メモリそれぞれの配置予定数を算出し、
前記複数の検索パターン毎の前記複数の連想メモリそれぞれの配置予定数を基に、配置予定数が前記複数の連想メモリで均一となる順に前記複数の検索パターンの優先順位を決定する
ことを特徴とする検索キー再配置方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011277733A JP5741421B2 (ja) | 2011-12-19 | 2011-12-19 | 検索装置及び検索キー再配置方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011277733A JP5741421B2 (ja) | 2011-12-19 | 2011-12-19 | 検索装置及び検索キー再配置方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013127760A JP2013127760A (ja) | 2013-06-27 |
JP5741421B2 true JP5741421B2 (ja) | 2015-07-01 |
Family
ID=48778243
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011277733A Expired - Fee Related JP5741421B2 (ja) | 2011-12-19 | 2011-12-19 | 検索装置及び検索キー再配置方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5741421B2 (ja) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3545858B2 (ja) * | 1995-12-01 | 2004-07-21 | 株式会社東芝 | ネットワーク間接続装置及び情報検索装置 |
JP3570606B2 (ja) * | 1998-02-12 | 2004-09-29 | 日本電信電話株式会社 | データ検索装置および方法 |
CN1529889A (zh) * | 2001-07-24 | 2004-09-15 | �ʺ�˿Ƽ�����˾ | 相联存储器系统、网络设备及网络系统 |
US7062601B2 (en) * | 2002-06-28 | 2006-06-13 | Mosaid Technologies Incorporated | Method and apparatus for interconnecting content addressable memory devices |
US7107391B2 (en) * | 2002-12-30 | 2006-09-12 | Micron Technology, Inc. | Automatic learning in a CAM |
US7019674B2 (en) * | 2004-02-05 | 2006-03-28 | Nec Laboratories America, Inc. | Content-based information retrieval architecture |
-
2011
- 2011-12-19 JP JP2011277733A patent/JP5741421B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2013127760A (ja) | 2013-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11811660B2 (en) | Flow classification apparatus, methods, and systems | |
CN109921996B (zh) | 一种高性能的OpenFlow虚拟流表查找方法 | |
US20010028651A1 (en) | Cache table management device for router and program recording medium thereof | |
JP5226714B2 (ja) | オンチップネットワーク内のパケットルーティング | |
US8914320B2 (en) | Graph generation method for graph-based search | |
CN111131084B (zh) | 一种QoS感知的OpenFlow流表查找方法 | |
US10313240B2 (en) | Technologies for efficient network flow classification with vector bloom filters | |
JP7135980B2 (ja) | 登録システム、登録方法及び登録プログラム | |
EP3276501A1 (en) | Traffic classification method and device, and storage medium | |
US11070434B2 (en) | Communications network node | |
US11652744B1 (en) | Multi-stage prefix matching enhancements | |
KR20140144219A (ko) | 통신 노드, 패킷 처리 방법 및 프로그램 | |
Nallusamy et al. | Decision Tree‐Based Entries Reduction scheme using multi‐match attributes to prevent flow table overflow in SDN environment | |
KR100541846B1 (ko) | 3 단계 테이블로 구성된 아이피 주소 룩업 시스템 및 그방법 | |
Shubbar et al. | Fast 2D filter with low false positive for network packet inspection | |
US20070280134A1 (en) | Topology discovery and identification of switches in an n-stage interconnection network | |
JP5741421B2 (ja) | 検索装置及び検索キー再配置方法 | |
US7353331B2 (en) | Hole-filling content addressable memory (HCAM) | |
Bruschi et al. | FlowFight: High performance–low memory top-k spreader detection | |
JP2017107300A (ja) | データ管理プログラム及びデータ管理方法 | |
Akem et al. | Jewel: Resource-Efficient Joint Packet and Flow Level Inference in Programmable Switches | |
CN114422620A (zh) | 一种基于知识蒸馏的数据包分类方法及相关装置 | |
JPWO2005020525A1 (ja) | プロトコル高速化装置 | |
US11895005B1 (en) | Network devices with hardware accelerated table updates | |
JP2018056739A (ja) | スイッチ、および通信方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140805 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150227 |
|
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: 20150331 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150413 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5741421 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |