JP2003324464A - データ検索装置及びデータ検索方法 - Google Patents

データ検索装置及びデータ検索方法

Info

Publication number
JP2003324464A
JP2003324464A JP2002129061A JP2002129061A JP2003324464A JP 2003324464 A JP2003324464 A JP 2003324464A JP 2002129061 A JP2002129061 A JP 2002129061A JP 2002129061 A JP2002129061 A JP 2002129061A JP 2003324464 A JP2003324464 A JP 2003324464A
Authority
JP
Japan
Prior art keywords
search
data
address
information
input
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.)
Pending
Application number
JP2002129061A
Other languages
English (en)
Inventor
Yuichi Uzawa
裕一 鵜澤
Yasuhiro Oba
康弘 大場
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2002129061A priority Critical patent/JP2003324464A/ja
Priority to US10/305,803 priority patent/US20030204482A1/en
Publication of JP2003324464A publication Critical patent/JP2003324464A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90339Query processing by using parallel associative memories or content-addressable memories
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

(57)【要約】 (修正有) 【課題】 ネットワーク通信における高度ルーティング
サービスのための高速データ検索を比較的簡易な構成で
実現可能な手法を提供する。 【解決手段】 検索データ230を一括入力し、これを
ビット分割して対応するエントリテーブル211,21
2,213に適用して夫々独立に検索動作を実施する。 【効果】 予め検索に使用すべきテーブルをグループ分
けしておき、検索データが入力されると、テーブルに対
応して検索キーも分割されるので、独立して並列に検索
が実行される。複雑な制御アルゴリズムを必要とせず、
比較的簡易な構成で高速検索動作が実現される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はデータ検索装置及び
データ検索方法に係り、特に通信ネットワークを介して
データ転送を行う際に所謂CAMデバイス等を利用して
転送先アドレス/ポートをキーにして転送先を検索する
ためのデータ検索装置及びデータ検索方法に関する。
【0002】
【従来の技術】インターネット等の通信ネットワークを
介してデータ転送を行う場合、ネットワークの中継点と
なるルータまたはスイッチにおいてネットワークを流れ
るパケットのルーティングを行なう必要があり、一般に
この経路選択処理はソフトウェア及びハードウェアによ
って実現される。ここで特に高速にルーティングを行な
う必要がある場合、サーチエンジンとしてCAMデバイ
スが用いられる。
【0003】インターネット上を流れるIPパケットの
ルーティング(スイッチング)動作をこのCAMデバイ
スを使用して行なう場合であって、所謂QoS(クオリ
ティ・オブ・サービス)等の高度なルーティングサービ
スを実現する場合を考えると、所謂レイヤ3プロトコル
によるアドレスに加えレイヤ4プロトコルによるポート
番号までその際の検索対象とする必要がある。
【0004】例えばIPアドレス(ソース・アドレスS
A及びデスティネーション・アドレスDA)をCAMデ
バイスに入力して検索動作を行った後、使用するデータ
転送フローを識別するために上記検索動作で得られたT
CP/UDPのポート番号(ソース・ポート・ナンバー
及びデスティネーション・ポート・ナンバー)を再度C
AMデバイスに入力して検索動作を行なうことになる。
【0005】図1を基に上記動作を具体的に説明する。
ここではネットワーク・サービス・プロバイダ等におい
て上記QoS等を適用し、同一のIPアドレスに対して
異なるサービスを夫々専用のサーバを用いて実施する場
合を考える。その場合、入り口となるルータ701では
外部のネットワーク等から入力(711)されたパケッ
トを適切なルートへ振り分ける必要がある。ここでは入
力されたパケットのヘッダ731が宛先IPアドレス7
31d、送信元IPアドレス731c、宛先ポートアド
レス731b、送信元ポートアドレス731aを有する
ものとする。
【0006】上記QoSでは、宛先IPアドレスは同じ
でも顧客の契約によって以下の(a)〜(c)の如くの
異なるサービスを提供可能である。即ち、(a)パケッ
トヘッダの送信元IPアドレスを参照し、対応する顧客
が例えばベスト・エフォート契約を行っている場合、当
該パケットを低速回線713に回送することが可能であ
る。(b)当該顧客によって音声、映像等、リアルタイ
ム性が要求される情報を伝送するサービスが契約されて
いる場合、該当するパケットを高速回線712に回送
し、他方ftp等の単なるデータ転送の場合、低速回線
713に回送する。(c)単なるwwwに対するアクセ
スの場合、パケットヘッダ731のポート番号を参照す
ることによって、httpサーバ704に至る回線71
4に回送する。
【0007】このようなサービスを実現するため、例え
ば図2に示す如くの構成を有するCAMデバイスを用い
たサーチエンジンが使用される。この例では、外部プロ
セッサ(111〜113)などから検索データ入力バス
(120)を通じてサーチエンジン(100)にIPアドレ
スやポート番号等の検索データが入力される。QoSの
ようなサービスを提供する場合、上記の如くレイヤ4ま
での情報を基にフローの識別を行なう必要があり、その
際、まずレイヤ3のIPアドレス(SA,DA)で検索を
行ない、その結果としてのレイヤ4のポート番号にて再
度CAMデバイスで検索を行なう。
【0008】図2の例では、例えば111のプロセッサ
がまずIPアドレスでの検索を行なった場合、CAMデ
バイス(101)のエントリ104がヒットし、その結果
としてコンテキストRAM(102)の該当するデータ
(106)が出力(103)される。更にこの結果を受け
て、プロセッサ(111)はサーチエンジンに対して今度
はTCP/UDP等のポート番号による検索を行なう。
その結果CAMデバイス(101)のエントリ105がヒ
ットし、その結果としてコンテキストRAM(102)の
該当するデータ(107)が出力(103)され、もってフ
ローの識別がなされる。
【0009】次に、このようなサーチエンジンを用いて
ネット上のルータあるいはスイッチを構成する場合につ
いて考える。その場合、ルーティングテーブルの保守の
容易性やコストの問題から、複数のプロセッサにてひと
つのサーチエンジンを共有する方法が考えられる。この
ような方法を実現する場合、複数のチャネルを並列処理
する場合を考えると、パケットから抽出した情報(経路
情報など)について、各チャネルを処理するプロセッサ
からサーチエンジンに対して検索要求が発行される。こ
こでQoS等をサポートする場合、あるプロセッサから
IPアドレスによる検索が要求され、更にポート番号に
よる検索が要求されることになる。
【0010】
【発明が解決しようとする課題】このような並列処理
を、例えば図2に示すように各プロセッサ(111〜1
13)が行なう場合、各プロセッサがサーチエンジン(1
00)に対して同時に同様の要求を行なうことになり、
共有するサーチエンジンあるいはCAMデバイスの入力
データバス(120)の競合が発生することが考えられ
る。その場合に競合を防止するために処理順序制御等、
必要な処理アルゴリズムが複雑化する可能性がある。
【0011】一方CAMデバイス内部について考える
に、QoS等をサポートする場合、IPアドレスとポー
ト番号とをCAMデバイスのエントリとして設けておく
必要がある。この場合、例えば現状のIPv4の場合、
IPアドレス(SA:32ビット、DA:32ビット)
+ポート番号(16ビット+16ビット)=96ビット
長となる。又Ipv6の場合、IPアドレスだけで12
8ビット長にもなる。
【0012】現在のCAMデバイスは長ビット幅検索動
作を実行可能な構成となっているが、限られたメモリ容
量で長ビット幅設定を行なう場合、収容可能なエントリ
数が激減することとなる。又、あるIPアドレスペアに
対し、対応するポート番号の組は複数個存在し、そらら
に対応する数多くのフローを識別する必要があり、その
ためには非常に多数のエントリが必要となる。
【0013】このエントリ数の増加に対応する方法とし
てCAMデバイス内部でIPアドレス用メモリとポート
番号用メモリとに分割して夫々のメモリで分担して対応
することも可能であるが、この場合であっても、少なく
ともIPアドレスによる検索とポート番号による検索の
計2度の検索動作が必要となり、動作手順が複雑化す
る。
【0014】図3はこの場合のプロセッサの動作を示す
フローチャートである。
【0015】ここでは、まずステップS1にて、宛先ア
ドレス及び送信元アドレスをキーとした検索コマンドを
発行する。ステップS2にてサーチエンジンの入力バス
調停を行う。その結果サーチエンジンから検索結果を
得、同検索結果から送信者(契約者)に関する情報を得る
(ステップS3)。
【0016】次にステップS4にて、宛先ポート番号、
及び送信元ポート番号による検索コマンドを発行する。
ステップS5にてサーチエンジンの入力バス調停を行
う。その結果検索結果を得、同検索結果から該当サービ
スクラスに関する情報を得る(ステップS6)。
【0017】このように、ステップS2,S5の計2度
に及ぶサーチエンジンに対する検索要求が必要となる。
【0018】特開平11−120776号公報では複数
のCAMアレイをカスケード接続することによって収容
エントリ数を増加させる構成が開示されている。しかし
ながらこの構成では、各CAMアレイから出力される検
索結果を順次他のCAMアレイに伝播する動作を行うた
め、最終的に検索結果を得るためにはそれなりの時間を
要すると考えられる。
【0019】本発明は上記問題点に鑑みてなされたもの
であり、比較的簡易な構成で高速検索処理要求に対応し
得る、CAMデバイス等を利用したデータ検索装置及び
検索方法を提供することを目的とする。
【0020】
【課題を解決するための手段】本発明では、IPアドレ
ス、ポート番号等の複数種類の検索データを一括して入
力し、それらを対応するビット幅毎に分割し、各々を該
当するメモリデータ部(エントリテーブル)に供給する構
成である。このように構成することにより、プロセッサ
から検索装置(CAMデバイス)への検索要求の発行は
一回で済み、その結果夫々の検索データ(キー情報)に
対する検索が独立してなされ、その検索結果が各メモリ
データ部から得られる。そしてこれら検索結果情報をア
ドレスとして更にコンテキストRAMから格納情報を得
ることも可能である。
【0021】
【発明の実施の形態】本発明は、上記の如くIPアドレ
ス、ポート番号等をキーにして検索を行なう際にこれら
IPアドレス、TCP/UDPポート群を一括入力し、
CAMデバイスに対して1回の検索要求によって必要な
検索結果を得る構成を提供する。
【0022】即ち、外部からの1回のみの検索要求に対
応するために、例えばCAMデバイス内部にて、IPア
ドレス、ポート番号等のエントリ群を個別に収容し、外
部プロセッサから一括入力されたIPアドレスとポート
番号双方による検索を、CAMデバイス内部で個別に行
なうものである。その結果、外部からの複数回の検索要
求の発行(IPアドレス、ポート番号等の各々に対する
検索要求に対するもの)を回避可能である。
【0023】図4にこの場合の動作フローチャートを示
す。この場合、ステップS11にて全ての検索キー情報
であるIPアドレス及びポート番号による検索コマンド
を発行する。ステップS12にてサーチエンジンの入力
バス調停を行う。そしてステップS13にてサーチエン
ジンからステップS11にて設定した検索キー全てに対
する夫々の検索結果を得、そこから必要な情報、即ち送
信者の認識及び対応するQoSサービスクラス等を認識
する。
【0024】尚この方法はVLANやレイヤ2プロトコ
ルによるスイッチング処理にも適応可能である。また、
本発明による検索方法を複数のプロセッサにて共用され
るサーチエンジンに適用する場合、検索結果として出力
されたデータがどのプロセッサ宛てのデータなのか識別
するための情報を付加することが望ましい。その結果、
データの順序制御および各プロセッサへの振り分け等の
バス制御等の処理が容易に行なえるようになる。
【0025】図5に本発明の第1実施例によるCAMデ
バイス(203)の動作原理を示す。まず、外部(プロセ
ッサ等)から検索データ(A),(B),(C)が入力バス
(220)を介して一括入力される。この検索データ(2
30)の構成はIPアドレスやポート番号、MACアド
レス等よりなり、各々ビット幅の異なるデータとされて
いる。
【0026】このようにして一括入力された検索データ
は、231(A),232(B),233(C)等の所定の長
さ毎に分割され、当該CAMデバイス201に収容され
ている検索対象としてのメモリデータ、即ちエントリテ
ーブル(211,212,213)に対して夫々適用され
る。即ち、検索データ(A)は(A)のグループであるエン
トリテーブル211に適用され、(B)は(B)のグループ
であるエントリテーブル212に適用され、(C)は(C)
のグループのエントリテーブル213に適用される。こ
のようにして各々個別に独立して且つ並列に検索が行な
われるのである。
【0027】各検索対象のエントリの収容についての上
記各グループ毎のエントリテーブルの実装方法として
は、CAMセルアレイを物理的に分割することによって
個別に収容可能である。或いは、同じCAMセルアレイ
を論理的に分けて夫々に対して個別にエントリテーブル
を設定する方法も可能である。
【0028】検索データ231による検索ではエントリ
テーブル211において例えばエントリ214がヒット
すると、該当する情報が出力される(203)。同様に
検索データ232による検索ではエントリ215がヒッ
トして該当する情報が出力(204)され、検索データ
233による検索ではエントリ216がヒットして該当
する情報が出力(205)される。これら出力された情
報はコンテキストRAM202に対するアドレス情報と
して入力され、もってコンテキストRAM202の対応
するアドレスに格納されている情報が、検索要求を行な
ったプロセッサへ返送される。
【0029】以下に図6に基づいて本発明の第2実施例
について説明する。
【0030】この実施例の場合、n個のプロセッサ32
1,322,323,...がサーチエンジン300を
共用している。ここで、例えばプロセッサ(322)が検
索要求を行なう場合を考える。この場合入力バス310
を通じて検索データ311とプロセッサ識別情報312
(以下IDと称する)とをサーチエンジン300に送
る。サーチエンジン300のCAMデバイス301内部
では、検索データ311を後述する方法により所定のビ
ット幅毎に分割し、分割によって得られた各キー情報に
よって、夫々CAMデバイス301の対応するエントリ
テーブル301a、301b、301cを使用した検索
動作が実施され、その結果が出力(305,306,3
07)される。
【0031】これらの出力305,306,307は、
マルチプレクサ304を介してコンテキストRAM30
2のアドレスポート(308)に結合される。その結果該
当するアドレスのコンテキストRAM302の内容(3
13)が前記ID309と共に当該サーチエンジン30
0の出力ポート315から該当するプロセッサへ返送さ
れる。この例ではIDは#2なのでプロセッサ#2(3
22)が受け取ることになる。
【0032】次に図7に基づいて本発明の第3実施例に
ついて説明する。この例では、CAMデバイス401に
おいて、入力された検索データ(キー情報)に対し、各エ
ントリテーブルで,,(411,412,41
3)のエントリが夫々ヒットし、夫々出力(403,4
04,405)されたと仮定する。その場合CAMデバ
イス401はこれらヒットで得られた情報を時分割で出
力(414)する。このように構成することにより、CA
Mデバイス401の出力ポート406を効果的に減らす
ことが可能である。
【0033】次に図8に基づいて本発明の第4実施例に
ついて説明する。この例では、CAMデバイス(501)
の入力部において、入力検索データ(キー情報)530を
受け取った後にCAMデバイス501内部でこれをどの
ように分割するかに関する情報を、予め例えば内部レジ
スタ541等に設定しておき、そのデータ542に基づ
いて分割ビット幅を決める。
【0034】即ちこの第4実施例では、上述の如く分割
方法データをセットアップしてサーチエンジンの運用を
開始すると、入力ポート(520)から所定のフォーマッ
トで検索データ(キー情報)が入力される。上記の如く予
め分割方法が設定されているため、当該入力検索データ
は夫々のビット幅514,515,516を有する検索
データ(531,532,533)に分割される。
【0035】このように分割された検索データ531,
532,533は夫々例えばIPアドレス、ポート番
号、MACアドレス等よりなり、CAMデバイス501
内部で所定の各エントリテーブル(511,512,5
13)に対して適用され、それらを使用した検索動作が
実行される。
【0036】その他のCAMデバイスの構成は例えば図
7に基づいて説明した第3実施例のCAMデバイス40
1と同様である。
【0037】尚、第4実施例では入力検索データの分割
方法に関するデータを予め内部レジスタ等に設定してお
く構成であったが、その他の手法として、CAMデバイ
ス501の外部設定ポート545を介して外部から分割
方法に関するデータを入力するようにしてもよい。又こ
の場合、わざわざ外部設定ポート545を設けずとも、
当該データを検索データ入力用ポート520からコマン
ド形式で入力するようにしてもよい。
【0038】次に図9に基づいて本発明の第5実施例に
ついて説明する。この例の場合、CAMデバイス(60
1)の入力部分において入力ポート620から検索デー
タ(キー情報)630を入力する際、例えばこの検索デー
タの構成及び各構成要素のビット幅等の情報(641)
を、当該検索データ630と合わせて入力する。そして
この実施例の場合、CAMデバイス601内部にその情
報(641)を分析解釈する分析部642を設けておく。
【0039】ここで仮に入力検索データ630の構成が
(A)及び(C)であった場合、分析部642によって、最
初のデータが(A)であり、(B)形式のデータは含まれ
ず、2番目のデータが(C)である旨が解釈される。その
後それらのデータ(A)と(C)(631及び633)は検
索データ(キー情報)として、エントリテーブル611及
び613に夫々に適用され、それらを使用した検索動作
が実行される。
【0040】第5実施例ではこのように構成することに
より、入力検索データ毎に異なるデータ構成(異なるビ
ット幅等)であっても、その都度分析部642による分
析解釈によってこれらが適切に分割されて振り分けられ
るため、CAMデバイス内部の検索動作が適切且つ容易
に実施されることになる。
【0041】上記本発明によるCAMデバイスを用いる
ことにより、マルチプロセッサ及びサーチエンジン共用
のシステムを構築することも可能である。
【0042】尚、本発明は以下の付記に記載の構成を含
む。
【0043】(付記1)複数の検索データの各々について
設けられ、該複数の検索データに関して夫々個別に検索
動作を行う複数の検索手段と、該複数の検索データを一
括入力して夫々対応する複数の検索手段に振り分ける振
り分け手段とよりなる検索装置。
【0044】(付記2)上記複数の検索手段の夫々の検索
出力を時分割多重することによって一つの出力ポートか
ら出力する構成の付記1に記載の検索装置。
【0045】(付記3)更にメモリ手段よりなり、前記複
数の検索手段の出力をそのまま或いはそれをアドレスと
して前記メモリ手段から対応するデータを出力する構成
の付記1又は2に記載の検索装置。
【0046】(付記4)前記複数の検索データと共に識別
情報を入力し、当該識別情報を検索結果又はメモリ出力
と共に出力する構成の付記1乃至3のうちのいずれかに
記載の検索装置。
【0047】(付記5)更に前記複数の検索手段からの出
力を順次選択して出力する選択手段よりなり、前記選択
手段の選択出力を前記メモリ手段にアドレスとして入力
する構成の付記3又は4に記載の検索装置。
【0048】(付記6)前記複数の検索データを夫々対応
する複数の検索手段へ振り分けるために分割するための
情報を当該複数の検索データの入力前に設定する構成の
付記1乃至5のうちのいずれかに記載の検索装置。
【0049】(付記7)前記複数の検索データを夫々対応
する複数の検索手段へ振り分けるために分割するための
情報を外部から入力する構成の付記1乃至6のうちのい
ずれかに記載の検索装置。
【0050】(付記8)前記複数の検索データを夫々対応
する複数の検索手段へ振り分けるために分割するための
情報を当該複数の検索データに付加して入力する構成の
付記1乃至7のうちのいずれかに記載の検索装置。
【0051】(付記9)複数の検索データの各々について
設けられ、該複数の検索データに関して夫々個別に検索
動作を行う複数の検索手段を使用してデータ検索動作を
行うデータ検索方法であって、該複数の検索データを一
括入力して夫々対応する複数の検索手段に振り分ける振
り分け段階よりなる検索方法。
【0052】(付記10)上記複数の検索手段の夫々の検
索出力を時分割多重することによって一つの出力ポート
から出力する構成の付記9に記載の検索方法。
【0053】(付記11)前記複数の検索手段の出力をそ
のまま或いはそれをアドレスとして所定のメモリ手段か
ら対応するデータを出力する構成の付記9又は10に記
載の検索方法。
【0054】(付記12)前記複数の検索データと共に識
別情報を入力し、当該識別情報を検索結果又はメモリ出
力と共に出力する構成の付記9乃至11のうちのいずれ
かに記載の検索方法。
【0055】(付記13)更に前記複数の検索手段からの
出力を順次選択して出力する選択手段を使用し、前記選
択手段の選択出力を前記メモリ手段にアドレスとして入
力する構成の付記11又は12に記載の検索方法。
【0056】(付記14)前記複数の検索データを夫々対
応する複数の検索手段へ振り分けるために分割するため
の情報を当該複数の検索データの入力前に設定する構成
の付記9乃至13のうちのいずれかに記載の検索方法。
【0057】(付記15)前記複数の検索データを夫々対
応する複数の検索手段へ振り分けるために分割するため
の情報を外部から入力する構成の付記9乃至14のうち
のいずれかに記載の検索方法。
【0058】(付記16)前記複数の検索データを夫々対
応する複数の検索手段へ振り分けるために分割するため
の情報を当該複数の検索データに付加して入力する構成
の付記9乃至15のうちのいずれかに記載の検索方法。
【0059】
【発明の効果】本発明によれば、CAMデバイス等のテ
ーブルデータ(エントリテーブル)を利用した検索システ
ムにおいて、予め検索に使用すべきテーブルデータをグ
ループ分けしておき、検索データが入力されるとそれを
各テーブルデータグループ(エントリテーブル)対応に予
め分割し、夫々対応するテーブルデータグループ(エン
トリテーブル)に適用する。その結果、各グループ対応
の検索データ毎に、対応する限られたエントリ数のテー
ブルデータグループ(エントリテーブル)にて、各々独立
して並列に検索動作が実行され得る。そのため、QoS
の適用等によって多数のエントリを収納した検索用テー
ブルデータが使用される場合であっても、特に複雑な制
御アルゴリズムを必要とせず、比較的簡易な構成で高速
な検索動作が実現可能となる。
【図面の簡単な説明】
【図1】本発明を適用可能なネットワークにおけるルー
ティングシステムを説明するための図である。
【図2】従来のCAMデバイスによる検索システムの構
成を説明するための図である。
【図3】図2のシステムにおける検索動作フローを説明
するためのフローチャートである。
【図4】本発明による検索動作フローを説明するための
フローチャートである。
【図5】本発明の第1実施例の概略構成を説明するため
のブロック図である。
【図6】本発明の第2実施例の概略構成を説明するため
のブロック図である。
【図7】本発明の第3実施例の概略構成を説明するため
のブロック図である。
【図8】本発明の第4実施例の概略構成を説明するため
のブロック図である。
【図9】本発明の第5実施例の概略構成を説明するため
のブロック図である。
【符号の説明】
201,301,401,501,601 CAMデ
バイス 301a,301b,301,511,512,51
3、611,612,613 エントリテーブル 302 コンテキストRAM 321,322,333 プロセッサ 642 検索データ分割分析部
───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5K030 GA04 HA08 HB13 HB28 HC01 HD03 KA06 KX23 LB05 LC01 LE09

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】複数の検索データの各々について設けら
    れ、該複数の検索データに関して夫々個別に検索動作を
    行う複数の検索手段と、 該複数の検索データを一括入力して夫々対応する複数の
    検索手段に振り分ける振り分け手段とよりなる検索装
    置。
  2. 【請求項2】更に前記複数の検索データを夫々対応する
    複数の検索手段へ振り分けるために分割するための情報
    を入力する手段を含む請求項1に記載の検索装置。
  3. 【請求項3】更にメモリ手段よりなり、 前記複数の検索手段の出力をそのまま或いはそれをアド
    レスとして前記メモリ手段から対応するデータを出力す
    る構成の請求項1又は2に記載の検索装置。
  4. 【請求項4】複数の検索データの各々について設けられ
    該複数の検索データに関して夫々個別に検索動作を行う
    複数の検索手段によってデータ検索を行う検索方法であ
    って、 該複数の検索データを一括入力して夫々対応する複数の
    検索手段に振り分ける段階を含む検索方法。
  5. 【請求項5】前記複数の検索データを夫々対応する複数
    の検索手段へ振り分けるために分割するための情報を当
    該複数の検索データに付加して入力する段階を更に含む
    請求項4に記載の検索方法。
JP2002129061A 2002-04-30 2002-04-30 データ検索装置及びデータ検索方法 Pending JP2003324464A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2002129061A JP2003324464A (ja) 2002-04-30 2002-04-30 データ検索装置及びデータ検索方法
US10/305,803 US20030204482A1 (en) 2002-04-30 2002-11-27 Data search system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002129061A JP2003324464A (ja) 2002-04-30 2002-04-30 データ検索装置及びデータ検索方法

Publications (1)

Publication Number Publication Date
JP2003324464A true JP2003324464A (ja) 2003-11-14

Family

ID=29243919

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002129061A Pending JP2003324464A (ja) 2002-04-30 2002-04-30 データ検索装置及びデータ検索方法

Country Status (2)

Country Link
US (1) US20030204482A1 (ja)
JP (1) JP2003324464A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006135660A (ja) * 2004-11-05 2006-05-25 Alaxala Networks Corp 連想メモリ及びパケット転送装置
JP2007116549A (ja) * 2005-10-21 2007-05-10 Mitsubishi Electric Corp ネットワーク中継装置
JP2009532989A (ja) * 2006-04-03 2009-09-10 エクストリーム・ネットワークス・インコーポレイテッド Camのキーサイズを超えるテーブルインデックスを用いてテーブルルックアップ動作を実行する方法
WO2009110445A1 (ja) * 2008-03-03 2009-09-11 日本電気株式会社 アドレス検索方法およびパケット処理装置

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4047245A (en) * 1976-07-12 1977-09-06 Western Electric Company, Incorporated Indirect memory addressing
US4656626A (en) * 1984-12-14 1987-04-07 Itt Corporation Apparatus and method for providing dynamically assigned switch paths
US5454105A (en) * 1989-06-14 1995-09-26 Hitachi, Ltd. Document information search method and system
FR2669496B1 (fr) * 1990-11-21 1995-03-31 Alcatel Business Systems Commutateur temporel a architecture eclatee et module de raccordement pour la constitution d'un tel commutateur.
US5764634A (en) * 1996-03-13 1998-06-09 International Business Machines Corporation Lan switch with zero latency
US6122707A (en) * 1997-09-04 2000-09-19 Nortel Networks Corporation Content addressable memory system with self-timed signals and cascaded memories for propagating hit signals
US6549519B1 (en) * 1998-01-23 2003-04-15 Alcatel Internetworking (Pe), Inc. Network switching device with pipelined search engines
JPH11272676A (ja) * 1998-03-26 1999-10-08 Kawasaki Steel Corp 分割検索方法及び装置
US6768992B1 (en) * 1999-05-17 2004-07-27 Lynne G. Jolitz Term addressable memory of an accelerator system and method
US6542391B2 (en) * 2000-06-08 2003-04-01 Netlogic Microsystems, Inc. Content addressable memory with configurable class-based storage partition
US6944709B2 (en) * 1999-09-23 2005-09-13 Netlogic Microsystems, Inc. Content addressable memory with block-programmable mask write mode, word width and priority
US6526474B1 (en) * 1999-10-25 2003-02-25 Cisco Technology, Inc. Content addressable memory (CAM) with accesses to multiple CAM arrays used to generate result for various matching sizes
US6374326B1 (en) * 1999-10-25 2002-04-16 Cisco Technology, Inc. Multiple bank CAM architecture and method for performing concurrent lookup operations
US6463067B1 (en) * 1999-12-13 2002-10-08 Ascend Communications, Inc. Submission and response architecture for route lookup and packet classification requests
ATE319249T1 (de) * 2000-01-27 2006-03-15 Ibm Verfahren und vorrichtung für klassifizierung von datenpaketen
US6891829B1 (en) * 2000-06-14 2005-05-10 Mindspeed Technologies, Inc. Communication packet processor with a look-up engine and content-addressable memory for retrieving context information for a core processor
US6760777B1 (en) * 2000-09-15 2004-07-06 Pluris, Inc. Method and apparatus for distributing and providing fault tolerance to path-vector routing protocols within a multi-processor router
US6868085B1 (en) * 2000-10-27 2005-03-15 Telefonaktiebolaget Lm Ericsson (Publ) Method for parallel searching a look-up table
JP3601445B2 (ja) * 2000-12-06 2004-12-15 日本電気株式会社 パケット転送装置及びそれに用いる転送情報管理方法並びにその転送情報検索方法
US7002965B1 (en) * 2001-05-21 2006-02-21 Cisco Technology, Inc. Method and apparatus for using ternary and binary content-addressable memory stages to classify packets
US6687715B2 (en) * 2001-06-28 2004-02-03 Intel Corporation Parallel lookups that keep order
JP2003018204A (ja) * 2001-07-02 2003-01-17 Hitachi Ltd フロー検出機能を備えたパケット転送装置およびフロー管理方法
US6763426B1 (en) * 2001-12-27 2004-07-13 Cypress Semiconductor Corporation Cascadable content addressable memory (CAM) device and architecture
US6988164B1 (en) * 2001-12-27 2006-01-17 Cypress Semiconductor Corporation Compare circuit and method for content addressable memory (CAM) device
US7245623B1 (en) * 2002-01-08 2007-07-17 Cisco Technology, Inc. System and method using hierarchical parallel banks of associative memories
US6745280B2 (en) * 2002-03-28 2004-06-01 Integrated Device Technology, Inc. Content addressable memories having entries stored therein with independently searchable weight fields and methods of operating same
US7079542B2 (en) * 2002-07-02 2006-07-18 Samsung Electronics Co., Ltd. Internet protocol address look-up method
US7219187B1 (en) * 2002-08-30 2007-05-15 Netlogic Microsystems, Inc. Search parameter table in a content addressable memory
US6990552B2 (en) * 2002-10-31 2006-01-24 Mosaid Technologies, Inc. Sorting method and apparatus using a CAM
US7356033B2 (en) * 2002-11-21 2008-04-08 Lucent Technologies Inc. Method and apparatus for performing network routing with use of power efficient TCAM-based forwarding engine architectures
US7260675B1 (en) * 2003-07-15 2007-08-21 Integrated Device Technology, Inc. CAM-based search engines that support pipelined multi-database search operations using encoded multi-database identifiers
US7260674B2 (en) * 2004-05-25 2007-08-21 Intel Corporation Programmable parallel lookup memory

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006135660A (ja) * 2004-11-05 2006-05-25 Alaxala Networks Corp 連想メモリ及びパケット転送装置
JP2007116549A (ja) * 2005-10-21 2007-05-10 Mitsubishi Electric Corp ネットワーク中継装置
JP4627243B2 (ja) * 2005-10-21 2011-02-09 三菱電機株式会社 ネットワーク中継装置
JP2009532989A (ja) * 2006-04-03 2009-09-10 エクストリーム・ネットワークス・インコーポレイテッド Camのキーサイズを超えるテーブルインデックスを用いてテーブルルックアップ動作を実行する方法
JP4742167B2 (ja) * 2006-04-03 2011-08-10 イクストリーム・ネットワークス・インコーポレーテッド Camのキーサイズを超えるテーブルインデックスを用いてテーブルルックアップ動作を実行する方法
WO2009110445A1 (ja) * 2008-03-03 2009-09-11 日本電気株式会社 アドレス検索方法およびパケット処理装置
JP5035410B2 (ja) * 2008-03-03 2012-09-26 日本電気株式会社 アドレス検索方法およびパケット処理装置
US8526436B2 (en) 2008-03-03 2013-09-03 Nec Corporation Address search method and packet processing device

Also Published As

Publication number Publication date
US20030204482A1 (en) 2003-10-30

Similar Documents

Publication Publication Date Title
US7420979B2 (en) VLAN server
US6633565B1 (en) Apparatus for and method of flow switching in a data communications network
JP3790217B2 (ja) 高速インターネットプロトコルルートルックアップ遂行及びルーティング/フォワーディングテーブル管理のための装置及び方法
JP3645734B2 (ja) ネットワーク中継装置及びネットワーク中継方法
US8630294B1 (en) Dynamic bypass mechanism to alleviate bloom filter bank contention
US7349382B2 (en) Reverse path forwarding protection of packets using automated population of access control lists based on a forwarding information base
US7412561B2 (en) Transposing of bits in input data to form a comparand within a content addressable memory
US7826369B2 (en) Subsets of the forward information base (FIB) distributed among line cards in a switching device
US6987762B2 (en) Packet exchange and router and input packet processing method thereof
US7096277B2 (en) Distributed lookup based on packet contents
CN100525240C (zh) 数据分组通信设备
US6711153B1 (en) Route lookup engine
EP1158729A2 (en) Stackable lookup engines
US7403526B1 (en) Partitioning and filtering a search space of particular use for determining a longest prefix match thereon
US9485179B2 (en) Apparatus and method for scalable and flexible table search in a network switch
CN112600752A (zh) 一种默认策略路由的芯片实现方法、数据报文的芯片处理方法及装置
US7249216B2 (en) Data relay apparatus, content addressable/associative memory device, and content addressable/associative memory device use information search method
JP2003324464A (ja) データ検索装置及びデータ検索方法
JP3228249B2 (ja) ルータ装置
US20170237691A1 (en) Apparatus and method for supporting multiple virtual switch instances on a network switch
JP3837670B2 (ja) データ中継装置、連想メモリデバイス、および連想メモリデバイス利用情報検索方法
JPH0934816A (ja) 大規模ipネットワーク
JP4726310B2 (ja) 情報検索装置、情報検索用マルチプロセッサおよびルータ
JP3199914B2 (ja) フレーム中継制御方法、及びその装置
CN115865802B (zh) 虚拟实例的流量镜像方法、装置、虚拟机平台及存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050310

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060411

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060609

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060704