(57)【要約】【課題】  ある検索を実行中に他の検索要求があった場合、実行中の検索が終了するまでは、他の検索を行うことができなかった。【解決手段】  複数の比較・検索装置１０４の少なくとも一つが検索を実行中に他の検索要求があった場合、検索を実行中の比較・検索装置１０４以外の比較・検索装置により、実行中の検索のために検索データベース１０１により出力されたデータと他の検索のための検索キーとの比較を行い、他の検索が開始されたアドレスに基づいて他の検索の検索終了アドレスを設定する。【選択図】  図１
2010211389.tif 000002
【特許請求の範囲】
【請求項１】
データベースに蓄積されたデータを用いてネットワークプロトコルの処理を行うプロトコル処理装置において、
前記データベースに与えるアドレスを生成する生成手段と、
複数の検索手段と、
前記複数の検索手段による検索結果に基づいてネットワークプロトコルの処理を行う処理手段とを備え、
前記複数の検索手段は、
検索キーを入力する入力手段と、
前記生成手段が生成したアドレスに応じて前記データベースにより出力されたデータと前記入力手段により入力された検索キーを比較する比較手段と、
前記生成手段が生成する検索開始アドレス及び検索終了アドレスを設定する設定手段と、
前記生成手段が生成したアドレスと検索終了アドレスの一致を監視する監視手段とを備え、
前記複数の検索手段の少なくとも一つが検索を実行中に他の検索要求があった場合、前記検索を実行中の検索手段以外の検索手段により、前記実行中の検索のために前記データベースにより出力されたデータと前記他の検索のための検索キーとの比較を行い、前記他の検索が開始されたアドレスに基づいて前記他の検索の検索終了アドレスを設定することを特徴とするプロトコル処理装置。
【請求項２】
請求項１に記載のプロトコル処理装置において、前記複数の検索手段の少なくとも一つが検索を実行中に、前記データベースの、前記実行中の検索とは異なるアドレスに蓄積されたデータの検索を要求する他の検索要求があった場合、前記実行中の検索の終了後に、前記他の検索要求による検索を開始することを特徴とするプロトコル処理装置。
【請求項３】
請求項１に記載のプロトコル処理装置において、
前記データベースへの登録が要求されたデータを格納する格納手段を更に備え、前記複数の検索手段による検索の終了後に、前記格納手段に格納されたデータを前記データベースに登録することを特徴とするプロトコル処理装置。
【請求項４】
複数の検索器により検索されたデータベースに蓄積されたデータを用いてネットワークプロトコルの処理を行うプロトコル処理方法において、
入力手段が、検索キーを入力し、
生成手段が、前記データベースに与えるアドレスを生成し、
設定手段が、前記生成ステップが生成する検索開始アドレス及び検索終了アドレスを設定し、
比較手段が、前記生成ステップが生成したアドレスに応じて前記データベースにより出力されたデータと前記入力ステップにより入力された検索キーを比較し、
監視手段が、前記生成ステップが生成したアドレスと検索終了アドレスの一致を監視し、
前記複数の検索器の少なくとも一つが検索を実行中に他の検索要求があった場合、前記検索を実行中の検索器以外の検索器により、前記実行中の検索のために前記データベースにより出力されたデータと前記他の検索のための検索キーとの比較を行い、前記他の検索が開始されたアドレスに基づいて前記他の検索の検索終了アドレスを設定することを特徴とするプロトコル処理方法。
【請求項５】
請求項４に記載のプロトコル処理方法において、前記複数の検索器の少なくとも一つが検索を実行中に、前記データベースの、前記実行中の検索とは異なるアドレスに蓄積されたデータの検索を要求する他の検索要求があった場合、前記実行中の検索の終了後に、前記他の検索要求による検索を開始することを特徴とするプロトコル処理方法。
【請求項６】
請求項４に記載のプロトコル処理方法において、
前記データベースへの登録が要求されたデータを格納する格納ステップを更に備え、前記複数の検索器による検索の終了後に、前記格納ステップで格納されたデータを前記データベースに登録することを特徴とするプロトコル処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プロトコル処理装置及び方法に関するものである。
【背景技術】
【０００２】
ネットワークプロトコル処理においては、テーブルと呼ばれるデータベースを基にした検索処理が行われる。代表的な検索処理としてはＡＲＰ（Ａｄｄｒｅｓｓ  Ｒｅｓｏｌｕｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）テーブル検索、ソケットテーブル検索、ＴＣＰＣＢ（ＴＣＰ  Ｃｏｎｔｒｏｌ  Ｂｌｏｃｋ）検索、ルーティングテーブル検索など複数の検索処理がある。これらの検索処理による負荷はネットワーク規模とともに増大しており、専用の検索エンジンと呼ばれるハードウェア（または専用プロセッサ）を用いて処理する方式が用いられることがある。
【０００３】
そのような検索エンジンに使用されるデバイスにＣＡＭ（Ｃｏｎｔｅｎｔ  Ａｄｄｒｅｓｓａｂｌｅ  Ｍｅｍｏｒｙ）と呼ばれる専用メモリデバイスが知られている。ＣＡＭは検索キー（データ）を入力すると、検索キーと一致した登録データが格納されているアドレスを出力する特殊なメモリである。ＣＡＭ、登録データを格納しているメモリセル全てを同時に出力し、検索キーと比較するため非常に高速に検索することが出来る。しかしながら、メモリセル全てを同時に出力する時の瞬間電流が大きく、通常ロジックの生産プロセスとは異なる工程が必要なので、ＣＡＭデバイスは高コストとなる。
【０００４】
その高価なＣＡＭの代替としてＲＡＭを用いて逐次比較した結果を出力する方式の連想メモリが知られている。特許文献１には、図４に示すような連想メモリが記載されている。この連想メモリでは、専用ＣＡＭを用いずに安価なＲＡＭデバイスを使用することで、低コストで連想メモリを実現することが出来、かつ逐次比較でありながら複数の検索を同時に行えることを特徴としている。
【０００５】
この連想メモリを実現するために、特許文献１によれば、ＲＡＭに接続されたアドレス発生回路４０４により参照データメモリ４０５内の登録データを順次出力させる。そして、複数の一致判定回路４０６によってそれぞれの検索キーと一致判定を行い、一致した時のアドレスを出力する。これにより参照データメモリ４０５の個数を削減し、複数の検索を同時行うことを図ったものである。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００１−１６０２９１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記従来例では、ある検索を実行中に他の検索要求があった場合、実行中の検索が終了するまでは、他の検索を行うことができなかった。
【課題を解決するための手段】
【０００８】
本発明に係るプロトコル処理装置は、データベースに蓄積されたデータを用いてネットワークプロトコルの処理を行うプロトコル処理装置において、前記データベースに与えるアドレスを生成する生成手段と、複数の検索手段と、前記複数の検索手段による検索結果に基づいてネットワークプロトコルの処理を行う処理手段とを備え、前記複数の検索手段は、検索キーを入力する入力手段と、前記生成手段が生成したアドレスに応じて前記データベースにより出力されたデータと前記入力手段により入力された検索キーを比較する比較手段と、前記生成手段が生成する検索開始アドレス及び検索終了アドレスを設定する設定手段と、前記生成手段が生成したアドレスと検索終了アドレスの一致を監視する監視手段とを備え、前記複数の検索手段の少なくとも一つが検索を実行中に他の検索要求があった場合、前記検索を実行中の検索手段以外の検索手段により、前記実行中の検索のために前記データベースにより出力されたデータと前記他の検索のための検索キーとの比較を行い、前記他の検索が開始されたアドレスに基づいて前記他の検索の検索終了アドレスを設定することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、実行中の検索が終了するのを待たずに、他の検索を開始することにより、検索スループットを向上されることが可能となる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施形態にかかる連想メモリのブロック図の一例である。
【図２】本発明の実施形態にかかる検索データベースのアドレスマップである。
【図３】本発明の実施形態にかかる各比較装置の動作シーケンス図である。
【図４】従来例における連想メモリの一例である。
【図５】検索装置を含むネットワーク装置（プロトコル処理装置）の例である。
【図６】ネットワークの構成例である。
【図７】ルーティングテーブルの例である。
【図８】本発明の実施形態にかかる比較器の一例である。
【発明を実施するための形態】
【００１１】
以下、添付図面を参照して、本発明に係る第一の実施の形態を詳細に説明する。
【００１２】
図１は本発明を実施した連想メモリの構成例を示した図である。
【００１３】
図１において、１０１はＳＲＡＭなどのメモリを用いた検索データベース、１０２は検索データベース１０１の検索アドレスを生成する検索アドレス生成装置、１０３は検索データベース１０１への登録データを一時的に蓄積する登録データバッファである。
【００１４】
１０４は検索データベース１０１の出力と検索キーを比較する比較・検索装置（検索器）である。また、比較・検索装置（検索器）１０４は、検索アドレス生成装置１０２へ検索開始アドレスを与えると共に、生成されたアドレスを監視する。図１では、ｎ個の比較・検索装置（検索器）１０４が設けられている。以下、１個目の比較・検索装置（検索器）を比較・検索装置１、２個目の比較・検索装置（検索器）を比較・検索装置２などと称することがある。
【００１５】
比較・検索装置（検索器）１０４は、アドレスレジスタ１０５、アドレス監視装置１０６、検索キーレジスタ１０７と、比較器１０８を備える。アドレスレジスタ１０５は、検索データベース１０１内の検索開始・終了アドレスを保持する。アドレスレジスタ１０５は、検索アドレス生成装置１０２が生成する検索開始アドレス及び検索終了アドレスを設定する。検索アドレス生成装置１０２は、アドレスレジスタ１０５に設定された検索開始アドレスから順にアドレスを生成し、検索データベース１０１に出力する。アドレス監視装置１０６は、検索アドレス生成装置１０２を制御すると共に、アドレス出力を監視する。即ち、アドレス監視装置１０６は、検索アドレス生成装置１０２が生成したアドレスと、アドレスレジスタ１０５に設定された検索終了アドレスの一致を監視する。検索キーレジスタ１０７は、検索キー（検索すべきデータ）を入力し、検索キーを保持し、比較器１０８は、検索データベース１０１の出力と検索キーレジスタ１０７の内容を比較する。
【００１６】
検索データベース１０１は、検索アドレス生成装置１０２が生成したアドレスに応じてデータを出力し、比較器１０８は、検索データベースにより出力されたデータと検索キーレジスタに入力、保持された検索キーを比較する。
【００１７】
まず、検索データベース１０１の情報について説明する。ネットワークプロトコル処理においては、ＡＲＰテーブル検索、ソケットテーブル検索、ルーティングテーブル検索など複数の検索処理が行われ、それぞれの検索対象によって検索キーの幅、検索の深さ（検索の対象となる項目数）は異なる。これらのデータベースの格納例を図２に示す。図２に示すように、通常、検索の種類によって一度の検索に必要なビット幅や、テーブルに登録されているデータ量がそれぞれ異なり、また、各テーブルが記憶されているアドレス配置なども異なる。第一の実施形態の説明においては図２に示す検索データベースを前提に説明する。
【００１８】
最初に、第一の実施形態における基本的な検索動作について説明する。まず、検索キーレジスタ１０７に検索キー、および検索種別が入力されると、比較・検索装置１０４は、検索種別による検索データベース１０１内における開始・終了アドレスをアドレスレジスタ１０５に発行し、アドレス監視装置１０６に通知する。アドレスレジスタ１０５は、検索アドレス生成装置１０２が生成する（検索）開始アドレス及び（検索）終了アドレスを設定する。検索種別がＡＲＰ検索であれば、開始アドレスは０、終了アドレスはｉである。アドレス監視装置１０６は検索アドレス生成装置１０２がアドレス生成をしていないことを確認し、検索アドレス生成装置１０２に検索アドレス生成開始を指示する。検索アドレス生成装置１０２は、検索データベース１０１に与えるアドレスを生成する。それにより検索アドレス生成装置１０２から検索データベース１０１に対して開始アドレスから終了アドレスまで連続的にアドレスが与えられる。
【００１９】
検索データベース１０１からは各アドレスに対応する登録データが出力され、検索キーレジスタ１０７の検索キーとの比較が比較器１０８により行われる。このとき、比較器１０８は、検索データベース１０１の登録データと検索キーを比較対象とし、検索種別によって定義されたビット幅のみの比較を行う。図２は、ＡＲＰテーブル検索、ルーティングテーブル検索、ソケットテーブル検索で、比較されるビット幅が異なることを示している。比較されるビット幅は、ＡＲＰテーブル検索、ルーティングテーブル検索、ソケットテーブル検索の順に長くなる。比較した結果が一致した場合、応答出力に一致情報を出力する。このとき、一検索入力に対して一応答出力が求められている場合は、ここで検索を終了する。しかし、一検索入力に対して複数応答出力が求められている場合は、検索アドレス生成装置１０２は継続して検索アドレスの生成を行う。このようにして検索データベース１０１から終了アドレスまでの出力が完了した時点で検索が終了となる。アドレス監視装置１０６は、検索アドレス生成装置１０２が生成したアドレスと（検索）終了アドレスの一致を監視し、一致すると検索を終了する。
【００２０】
次に一つの検索対象に対して複数の検索要求を行った場合の検索動作について説明する。
【００２１】
図３は図１の比較装置における検索例を時系列に示した図である。縦軸方向には各比較装置の動作状況を示し、横軸は時間を表している。
【００２２】
まず時刻＃１に検索１が投入されると、比較・検索装置１による“Ｓｅａｒｃｈ１”が開始される。検索１は、図２のＡＲＰ検索テーブルを検索対象とするＡＲＰテーブル検索である。このとき比較・検索装置１におけるアドレスレジスタ１０５の値は開始アドレス＝０、終了アドレス＝ｉが同時に与えられる。また、求める検索結果の種類としてシングルヒットとマルチヒットのどちらかを予め選択するものとする。シングルヒットとは検索データベース内に検索キーと同一のデータが得られた時点で検索を終了する検索で、唯一つの検索結果を得るための検索である。それに対してマルチヒットでは検索データベースの与えられて検索範囲にわたって検索し、複数の検索結果を出力することを可能とする検索である。
【００２３】
検索１においてはシングルヒットを選択しているため、比較・検索装置１からの出力“応答１”が得られた時点で検索は終了となり、終了アドレス＝ｉになる以前で比較・検索装置１による検索は終了となる。図３では、検索１の検索キーと一致するデータが存在せず、終了アドレス＝ｉまでの検索が終了した時点で、一致データが存在しなかったことを示す終了“応答１”が比較・検索装置１から出力される。
【００２４】
図３の例では、“応答１”が出力される以前の時刻＃２において検索対象が検索１と同じ検索２が投入される。このとき、比較・検索装置１は“Ｓｅａｒｃｈ１”を行っている最中で検索アドレスａｄｒ＝ｂ−１まで比較が終了している。検索２もＡＲＰテーブル検索である。検索２は検索１と同じ検索対象であるためａｄｒ＝ｂから同じ検索データベース１０１の出力を用いて比較・検索装置１と比較・検索装置２を用いた比較を行う。結果、比較・検索装置２のアドレスレジスタに登録される開始アドレス＝ｂ、終了アドレス＝ｂ−１となる。なお、開始アドレス＝ｂ＋１、終了アドレス＝ｂとしてもよい。すなわち、比較・検索装置１０４の少なくとも一つ（比較・検索装置１）が検索“Ｓｅａｒｃｈ１”を実行中に他の検索要求（検索２）があった場合、以下のように処理する。すなわち、検索“Ｓｅａｒｃｈ１”を実行中の比較・検索装置（検索器）１以外の比較・検索装置２により、実行中の検索“Ｓｅａｒｃｈ１”のために検索データベース１０１により出力されたデータと他の検索（検索２）のための検索キーとの比較を行う。また、比較・検索装置２は、他の検索（検索２）が開始されたアドレスに基づいて他の検索（検索２）の検索終了アドレスを比較・検索装置２のアドレスレジスタに設定する。比較・検索装置２のアドレス監視装置１０６により、検索アドレス生成装置１０２が生成したアドレスが検索終了アドレスに一致したことが検出されると、検索２は終了する。
【００２５】
比較・検索装置１による検索が終了しても継続して検索され、さらに当初の検索１による終了アドレスｉに到達すると開始アドレスに巻き戻ってさらに検索が実行される。そして終了アドレス＝ｂ−１になった時点で検索２による検索が終了する。なお、シングルヒットの検索が終了アドレスになるまで継続されるのは、最終アドレスに一致データがあったか、もしくは一致データが無かった場合である。このように、ある比較・検索装置による検索が行われていても同種の検索であれば、検索データベース１０１の出力を複数の比較・検索装置による検索に使用することが出来る。
【００２６】
検索２で一致データが発見された後に、検索１が終了した場合には、検索１が終了した時点で、検索アドレス生成装置１０２によるアドレス生成は一旦中断される。また、検索１が終了した後に、検索２が終了した場合には、検索２が終了した時点で、検索アドレス生成装置１０２によるアドレス生成は一旦中断される。検索２で一致データが存在しなかった場合にも、比較・検索装置２の検索終了アドレス＝ｂ−１に達すると他の比較・検索装置による検索が行われていないので、検索アドレス生成装置１０２によるアドレス生成は一旦中断される。
【００２７】
検索アドレスの生成を行っていない時間は検索データベース１０１への登録データの書き込みに用いられる。逐次比較方式の連想メモリでは、複数サイクルに渡って比較が行われるので、この検索期間での検索データベース１０１への書き込みは禁じられる。そのため、検索アドレスを生成していない時間をアドレス監視装置１０６により検知して、それまで蓄積された登録データバッファ１０３から検索データベース１０１への書き込みが行われる。すなわち、登録データバッファ１０３は、検索データベース１０１への登録が要求されたデータを格納し、比較・検索装置１０４による検索の終了後に、登録データバッファ１０３に格納されたデータを検索データベース１０１に登録する。
【００２８】
続いて時刻＃５になると、同じ検索対象である検索３、検索４が連続して要求される。検索３、４も、ＡＲＰテーブル検索である。同時に検索要求されても複数の比較・検索装置１、２を用いることで容易に対応出来る。さらに時刻＃６で異なる検索対象への検索５が要求されると、現時点で空いている比較・検索装置３の検索キーレジスタ、アドレスレジスタに検索要求が登録される。時刻＃７で比較・検索装置１による検索３が終了しても比較・検索装置２による検索４は継続中であるため即時に検索実行に移行できない。
【００２９】
時刻＃８に検索４が終了すると、検索・検索装置３のアドレスレジスタに保存している開始アドレスを検索アドレス生成装置１０２に送信して検索５を開始する。検索５は、ルーティングテーブル検索である。すなわち、複数の比較・検索装置１０４の少なくとも一つが検索を実行中に、検索データベース１０１の、実行中の検索とは異なるアドレスに蓄積されたデータの検索を要求する他の検索要求（検索５）があった場合、実行中の検索の終了を待つ。そして、その実行中の検索の終了後に、他の検索要求（検索５）による検索を開始する。
【００３０】
検索５ではマルチヒットを要求しているため検索途中で応答５−１，や応答５−２のように検索結果が出力されても検索アドレス生成装置１０２によるアドレス生成、検索は継続される。検索アドレス生成装置１０２によるアドレス出力がアドレスレジスタ１０５に登録されている終了アドレスａｄｒ＝ｋに到達した時点で検索５が終了する。
【００３１】
次に、以上をふまえてネットワークプロトコル処理に伴う検索処理の動作例について述べる。図５はネットワーク装置（プロトコル処理装置）の構成例である。図５においてＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）９０３、ＰＨＹ（物理層）９０４を含むネットワーク装置（プロトコル処理装置）においてシステムバス上に検索装置９０５が接続されている。検索装置９０５の構成は、図１に示したとおりである。この検索装置９０５はＣＰＵ９０１の検索要求に対して、システムバス９０７上のメモリ９０２や検索装置９０５が占有しているメモリ９０６上に配置している検索データベース上のデータと検索要求した検索キーとの一致検索を行うことが可能である。図１の構成は、検索装置９０５がメモリ９０６を内蔵し、メモリ９０６上に検索データベース１０１を設けた形態である。ネットワーク装置（プロトコル処理装置）は、検索データベース１０１に蓄積されたデータを用いてネットワークプロトコルの処理を行う。ＣＰＵ９０１は、検索装置９０５（比較・検索装置１０４）による検索結果に基づいてネットワークプロトコルの処理を行う。ＣＰＵ９０１は、ネットワークプロトコル処理として、ＡＲＰテーブル検索、ソケットテーブル検索、ルーティングテーブル検索など複数の検索処理を行う。
【００３２】
このネットワーク装置（プロトコル処理装置）が図６に示すようなネットワークにＤｅｖｉｃｅ１として接続されている場合についてパケット送受信時のふるまいについて説明する。当然のことながら、図５、図６に用いた構成例、ネットワーク例は検索装置の動作について説明するために用いたものであって、検索装置、ネットワーク装置が接続される形態について限定されるものではない。
【００３３】
まず、ネットワーク装置（プロトコル処理装置）上のメモリ９０２上に送信するＩＰパケットが用意されると、ネットワーク装置は、送信アドレスにパケットを届けるために、テーブルを参照してパケットの転送先を決定するルーティングと呼ばれる動作を行う。ルーティングを決めるためのテーブルをルーティングテーブルと呼ぶ。また、転送先は必ずしも送信先ではなく、ネットワーク経路を制御するルータやＬ３（Ｌａｙｅｒ  ３）スイッチなどの中継装置である場合がある。
【００３４】
パケット転送機能を有しない１ポートのネットワークインタフェースを有していない装置であってもルーティングを行う必要があり、図７にそのようなＤｅｖｉｃｅ１におけるルーティングテーブルの一例を示す。ルーティングテーブルから宛先を決める際は、一致した中で、ネットマスク（Ｎｅｔｍａｓｋ）が長いネットワークを選択するロンゲストマッチ（最長一致）と呼ばれる方法が用いられる。ネットマスクとはＩＰアドレスからネットワークを識別するためのネットワークアドレスを分離するために用いられる３２ｂｉｔの数値である。
【００３５】
そのため、比較器を図８に示すように構成し、検索データと検索キーの一致出力を検索マスクによって有効／無効をフィルタリングする作業を各ビットについて行う。この作業を各ネットマスクの場合について行い、最長一致する検索結果をルーティング先として決定する。以下、具体例を説明する。
【００３６】
図７の場合はネットマスクが２５５．２５５．２５５．２５５の場合の検索、続いて２５５．２５５．２５５．０の場合、２５５．０．０．０の場合、０．０．０．０の場合と全部で４パターンの検索を行う。本実施例の場合、４つの比較・検索装置１０４に対して事前にネットマスクのパターンを用意しておき、パケットの宛先アドレスが判明した時点でアドレスを各比較器に入力し、各ネットマスクのパターン（上記の４パターン）の検索を同時に開始することが出来る。検索データベース１０１のルーティングテーブルから宛先アドレスとネットマスク（検索マスク）を読出し、読出したネットマスクの比較を行う比較・検索装置で検索データベース１０１のルーティングテーブルから読出した宛先アドレスと検索キーの比較を行う。
【００３７】
検索が終了した時の各比較・検索装置が出力した比較結果を、不図示のネットマスク長による優先順位（ネットマスク長が長いほど優先順位が高い）によるデコード回路に加えることでロンゲストマッチした比較結果が得られる。ネットマスクが２５５．２５５．２５５．２５５の検索で一致データが得られれば、その一致データを検索結果とする。ネットマスクが２５５．２５５．２５５．２５５の検索で一致データが得らない場合、２５５．２５５．２５５．０の検索で一致データが得られれば、その一致データを検索結果とする。以下、順に、２５５．０．０．０の検索、０．０．０．０の検索の結果を検索結果として採用する。そして、得られた結果により格納メモリを参照し、検索結果に対応して格納メモリに格納されたインタフェースが出力すべきインタフェースとして決定される。
【００３８】
ルーティングテーブル検索は一般的にテーブル自体のサイズは大きくないが、ネットマスク毎の検索が必要であったため、本形態のように各ネットマスク長（上記の４パターン）の検索を並列に行う場合に検索アドレスを同一にすることで、より高速化が期待できる。
【００３９】
ルーティングの結果、ＩＰパケットの送出先がイーサネット（登録商標）（ｅｔｈ０）であった場合、ＩＰパケットの前にＭＡＣヘッダを付加する必要がある。通常、ＩＰアドレスに対応するＭＡＣアドレスへの変換表としてＡＲＰテーブルがある。送信するＩＰパケットは、このテーブルに対応した宛先ＭＡＣアドレスをＭＡＣヘッダにつける必要がある。ＡＲＰテーブルに該当するＩＰアドレスが無い場合は、アドレス解決プロトコルにしたがってネットワーク上の端末にＡＲＰ要求パケットをブロードキャストする。
【００４０】
例えば、図６に示す構成のネットワークにおいてＤｅｖｉｃｅ１がＮｅｔｗｏｔｋＡにＡＲＰ要求パケットを送出し、Ｄｅｖｉｃｅ３がＡＲＰ応答パケットをＤｅｖｉｃｅ１に送出したとする。すると、Ｄｅｖｉｃｅ１のＡＲＰテーブルにＤｅｖｉｃｅ３のＩＰアドレス（１９２．１６８．０．２３）とＭＡＣアドレス（００：１１：３２：３Ｃ：０４：Ａ５）が格納メモリ内に登録される。このＡＲＰテーブル情報がＤｅｖｉｃｅ１内にある場合はＡＲＰパケットを出力することなくＡＲＰテーブルを参照することでＭＡＣアドレスを得ることが出来る。
【００４１】
以上述べたように、本実施例によれば複数の検索装置それぞれに検索キーレジスタ、アドレスレジスタを用意することで検索データベースの検索位置を各検索装置によって特定することが出来る。したがって、複数の検索装置による効率的な検索、単一の検索データベース装置による多種の検索が可能となる。
【００４２】
なお、上述した実施形態の機能を実現するべく各種の装置を動作させるように、該各種装置と接続された装置あるいはシステム内のコンピュータに対し、上記実施形態の機能を実現するためのソフトウェアのプログラムコードを供給してもよい。このように、そのシステムあるいは装置のコンピュータ（プロセッサ）に格納されたプログラムに従って上記各種装置を動作させることによって実施した形態も、本発明の範疇に含まれる。
【符号の説明】
【００４３】
１０１  （検索）データベース装置
１０２  検索アドレス生成装置
１０３  データバッファ
１０４  比較・検索装置
１０５  アドレスレジスタ装置
１０６  アドレス監視装置
１０７  検索キーレジスタ装置
【図１】
2010211389.tif 000003
【図２】
2010211389.tif 000004
【図３】
2010211389.tif 000005
【図４】
2010211389.tif 000006
【図５】
2010211389.tif 000007
【図６】
2010211389.tif 000008
【図７】
2010211389.tif 000009
【図８】
2010211389.tif 000010