(57)【要約】【課題】ソフトウエアタイマを用いた場合では、ＣＡＭを用いて検索を高速化したにもかかわらずエントリ削除動作が低速になってしまうという課題があった。【解決手段】ＩＰアドレスと時間情報を入力データとして登録アドレスを出力するＣＡＭ１０１と、登録アドレスを入力アドレスとしてＭＡＣアドレスを出力するＲＡＭ１０２と、登録時間と検索時間を選択してＣＡＭ１０１への入力とするタイマコードセレクタ１０６と、外部入力される登録アドレスとＣＡＭ１０１が出力する更新アドレスを選択してＣＡＭ１０１への入力とするアドレスセレクタ１０３と、外部入力される登録アドレスとＣＡＭ１０１が出力する更新アドレスを選択してＲＡＭ１０２への出力とするアドレスセレクタ１０４と、連想メモリ１０１において入力データの任意のｂｉｔを無効化するＭａｓｋＢｉｔとを備えた。【選択図】  図１
2010041248.tif 000002
【特許請求の範囲】
【請求項１】
ＩＰアドレスの入力によってＭＡＣアドレスを出力するＡＲＰテーブル管理装置であって、
ＩＰアドレスと時間情報を入力データとして登録アドレスを出力する連想メモリと、
登録アドレスを入力アドレスとしてＭＡＣアドレスを出力するランダムアクセスメモリと、
登録時間と検索時間を選択して前記連想メモリへの入力とするタイマコードセレクタと、
外部入力される登録アドレスと前記連想メモリが出力する更新アドレスを選択して連想メモリアドレスへの入力とする第一のアドレスセレクタと、
外部入力される登録アドレスと前記連想メモリが出力する更新アドレスを選択してＲＡＭへの出力とする第二のアドレスセレクタと、
前記連想メモリにおいて、入力データの任意のｂｉｔを無効化するＭａｓｋＢｉｔとを備え、
タイマコード入力をＭａｓｋすることでＩＰアドレスからＭＡＣアドレスへの変換を行い、ＩＰアドレス入力をＭａｓｋすることで任意の時間情報を持つエントリを検索することを特徴とするＡＲＰテーブル管理装置。
【請求項２】
前記連想メモリへの入力データとして登録情報が一定時間で消去される動的な情報か、永続的に保持する静的な情報かを示すＴｙｐｅフィールドを備え、
前記Ｔｙｐｅフィールドにより動的な情報のみを削除可能なアドレスとして抽出ができることを特徴とする請求項１に記載のＡＲＰテーブル管理装置。
【請求項３】
連想メモリへの入力データとして登録情報が有効であるか無効であるかを示すＳｔａｔｕｓフィールドを備え、
前記Ｓｔａｔｕｓフィールドにより検索対象を登録情報のみを対象とし、無効な登録情報を検索することを特徴とする請求項１に記載のＡＲＰテーブル管理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＥＴＦのＲＦＣ８２６に基づくイーサネット（登録商標）アドレス解決プロトコルのためのＡＲＰ（Address Resolution Protocol）テーブル管理装置に関する。より詳しくは、エージングと呼ばれるＡＲＰテーブルエントリの時間制御に関する。
【背景技術】
【０００２】
イーサネットアドレス解決プロトコルは、３２Ｂｉｔで構成されるネットワーク固有に割り当てられるＩＰアドレスを用いて、ローカルネットワーク上における機器Ｉ／Ｆ固有に割り当てられている４８ＢｉｔのＭＡＣアドレスを取得するためのプロトコルである。
【０００３】
図２は、２台のＣｌｉｅｎｔ端末とＨＵＢ、そして外部ネットワークに接続されるＲｏｕｔｅｒ１から構成されるサブネットワークを示した図である。
【０００４】
図２において、Ｃｌｉｅｎｔ１からＣｌｉｅｎｔ２にデータを送信する場合、アプリケーション層では相手のＩＰアドレスとともに送信するデータをペイロードとしてＩＰ層の処理を行う。そして先に渡された相手のＩＰアドレス、送信元としての自分のＩＰアドレス、データ長などを解析し、ＩＰ Ｈｅａｄｅｒを作成し、ペイロードと共にＩＰパケットが作成される。
【０００５】
次にＥｔｈｅｒｎｅｔ（登録商標）上に送出するために自分のＭＡＣアドレスと送出先のＭＡＣアドレスが必要となる。このとき、相手のＩＰアドレスは既知であるが、ＭＡＣアドレスが分からない場合がある。このとき、前述のＩＰパケットを送出する前に、送出元のＣｌｉｅｎｔ端末ではＡＲＰリクエストパケットを同一サブネット内にブロードキャストパケットとして送出して、相手先ＩＰアドレスに該当する機器が存在するかどうかを検索する。
【０００６】
図３は、ＡＲＰリクエストパケットのフォーマットである。ＡＲＰリクエストパケットではＭＡＣヘッダ内の相手先のＭＡＣアドレスが不明なので、宛先ＭＡＣアドレスフィールドにはブロードキャストアドレスと呼ばれる"FF:FF:FF:FF:FF:FF"を入れておく。すると、この宛先ＭＡＣアドレスを持つパケットは全てのサブネット内の機器に伝搬するブロードキャストパケットとして送出される。
【０００７】
ＡＲＰパケットフィールドにはＡＲＰの送出元のハード仕様、プロトコル仕様に続いて、そのＡＲＰパケットの命令コード、送出元のＩＰ、ＭＡＣアドレスがある。送り先のＩＰアドレスなどが記述されており、ＡＲＰリクエストパケットを受け取ったネットワーク機器は、ＡＲＰパケットを解析して自分のＩＰアドレスを探していることが判明したらＡＲＰリプライパケットを送出する。
【０００８】
ＡＲＰリプライパケットの宛先は、ＡＲＰリクエストパケットの送出元となるのでＡＲＰリプライパケットはブロードキャストではなくてユニキャスト、つまりＡＲＰリクエストパケットの送信元のＭＡＣアドレス宛に送出される。
【０００９】
ＡＲＰリプライパケットにはＡＲＰリクエストパケットを受け取った機器のＭＡＣアドレスが記述されている。よって、このＡＲＰリプライパケットを受け取ったＣｌｉｅｎｔ端末ではＩＰアドレスとＭＡＣアドレスの変換表、つまりＡＲＰテーブルと呼ばれるデータベースが作成される。
【００１０】
図４は、ＡＲＰテーブルの一例を示した図である。このデータベースにＩＰアドレスとＭＡＣアドレスの対応情報が登録されると、ＩＰパケットを発送するたびにＡＲＰパケットによる問い合わせをしなくてもデータベースへの問い合わせによりＭＡＣアドレスを得ることができる。このＡＲＰテーブルはＩＰアドレス、ＭＡＣアドレス、Ｔｙｐｅフィールドから構成されており、最後のＴｙｐｅフィールドはこのエントリが静的なエントリか、動的なエントリかを表している。
【００１１】
静的なエントリの場合、一旦登録されると意図的に削除されない限り永続的に保持されるエントリであることを表し、動的なエントリの場合はエントリされて一定時間を超えてアクセスが無い場合に削除されるエントリであることを表している。
【００１２】
この"エントリの削除"という動作は、ネットワークの構成の変化に対応するために必要な機能である。仮にネットワーク機器のある端末がネットワークの不具合や電源の遮断などの理由でネットワークの構成から削除された場合、ネットワーク上の他の端末が永続的にＡＲＰテーブルにエントリとして保持しておくことは無駄な機能である。
【００１３】
ＩＰアドレスを端末が変更した場合に以前のエントリを保持しておくことはネットワーク上に無駄なトラヒックが流れたり、誤動作の原因ともなるため、一定期間の後にＡＲＰテーブルからエントリを削除する機能はＡＲＰテーブル管理上、必須の機能である。
【００１４】
図４に示したＣｌｉｅｎｔ１のＡＲＰテーブルは、Ｃｌｉｅｎｔ２とＲｏｕｔｅｒ１のＩＰアドレス、ＭＡＣアドレスがそれぞれＴｙｐｅ＝ｄｙｎａｍｉｃとしてエントリされている。一方、Ｃｌｉｅｎｔ２のＡＲＰテーブルにはＲｏｕｔｅｒ１のエントリのＴｙｐｅがＳｔａｔｉｃとしてエントリされている。このようにＲｏｕｔｅｒのような常時動作することを前提としている機器に対してはＳｔａｔｉｃでエントリすることもあり、その運用はＡＲＰテーブルを持つ端末側で決めることが出来る。
【００１５】
同じようにｄｙｍａｎｉｃでエントリした場合においても機器によってＡＲＰテーブルからエントリを削除するまでの"一定期間"をどの程度の時間にするかは端末に一任されている。
【００１６】
ただし、この時間が短すぎるとＡＲＰパケットの発行が頻繁に行われるようになり、長すぎるとネットワークの動的な変更に追従できなくなる。一般的には３０秒から１分程度、大きなネットワーク（サブネットの端末が数千を超える程度）の場合は１０分程度に設定することが一般的である。もちろん、この時間は端末の通信アプリケーションの使用方法にも依存するためにこれらの時間と異なる場合もある。
【００１７】
ＩＰアドレスからＭＡＣアドレスを迅速に検索するためのソフトウエアアルゴリズムは多く存在している。一方で、ハードウェアデバイスとして連想メモリ：ＣＡＭ（content address memory）を用いたＡＲＰテーブル管理装置が知られている。図５に従来例におけるＣＡＭを使用したＩＰ−ＭＡＣ変換テーブルすなわち、ＡＲＰテーブルおよび管理装置を示す。
【００１８】
図５において、５０１はＣＡＭ、５０２はＲＡＭ、５０３はアドレス選択回路、５０４はアドレスエンコーダ、５０５はタイマ、５０６はアドレスデコーダである。この変換テーブルの動作はＩＰアドレスとＭＡＣアドレスの登録動作と、ＩＰアドレスの問い合わせに対してＭＡＣアドレスを出力する問い合わせ動作に分けられる。
【００１９】
一方、５０４、５０５、５０６のアドレスエンコーダ、タイマ、アドレスデコーダの一連のモジュールでテーブルの時間管理を行っている。まず、登録動作について説明する。
【００２０】
ＩＰアドレスとＭＡＣアドレスをそれぞれＣＡＭとＲＡＭに登録するためにＣＡＭとＲＡＭで使用される共通のアドレスが必要になる。このため、アドレスセレクタ５０３は登録動作の場合には外部からのレファレンスアドレス入力を選択してＲＡＭにアドレスとして与える。このアドレスの幅によって、変換テーブルへのエントリ数が決定される。アドレスの幅を８ｂｉｔとすると２５６エントリ、つまり２５６種類のＩＰアドレスからＭＡＣアドレスへの変換が可能である。エントリ数を増加させたい場合はこのアドレス幅を増やすと共にＣＡＭ／ＲＡＭの容量を増やす必要がある。
【００２１】
さて、ＣＡＭ／ＲＡＭアドレスの入力と共にエントリしたいＩＰアドレスをＣＡＭに与え、ＭＡＣアドレスをＲＡＭに与える。これにより共通のＣＡＭ／ＲＡＭアドレスにＩＰアドレスとＭＡＣアドレスがそれぞれＣＡＭとＲＡＭに蓄積される。問い合わせ動作の場合はＣＡＭから出力されるＣＡＭ ＡｄｒｓをＲＡＭアドレスとして与えるようにアドレスセレクタを選択しておく。
【００２２】
ＣＡＭに対してＩＰアドレスを問い合わせデータとして入力するとＣＡＭは即座に登録時のＣＡＭ Ａｄｒｓを出力する。該当するＣＡＭ Ａｄｒｓが存在しない場合はＵｎｍａｔｃｈを出力して問い合わせ動作を終了する。
【００２３】
Ｍａｔｃｈ出力と共にＣＡＭ Ａｄｒｓ出力をＲＡＭに対して出力すると、ＣＡＭ ＡｄｒｓからＭＡＣアドレスが出力される。このようにしてＩＰアドレスからＭＡＣアドレスを得ることが出来る。
【００２４】
図２の例としてあげた、サブネット内に３つのネットワーク機器しかない場合はデータベースを全てＲＡＭ上に展開し、エントリ毎に逐一比較検索を行ってもそれほど処理時間はかからない。しかし、サブネット内のネットワーク機器が数千とか数万の単位で管理する場合は検索時間のコストがかかるので、本従来例で挙げたようなＣＡＭを用いたＡＲＰテーブルおよび管理方法が用いられる。
【発明の開示】
【発明が解決しようとする課題】
【００２５】
しかし、上記従来例に見られるＡＲＰテーブル管理装置では以下のような問題点があった。すなわち、ネットワーク内の機器の構成が変化した場合、ネットワーク機器の増減やトポロジの変化などに対応するようにある一定の時間間隔でアクセスのなかったＡＲＰテーブル内のエントリを削除しなければならない。そのため、各エントリにタイマを備え、タイマが満了になったエントリを検索して削除する動作が必要となる。よって、これら全てのエントリに対して、それぞれのタイマで管理するためのハードウェア資源を用意しなくてはならないという問題点があった。
【００２６】
また、ソフトウエアタイマを用いた場合ではＣＡＭを用いて検索を高速化したにもかかわらずエントリ削除動作が低速になってしまうという問題点があった。
本発明は、上記問題点を解決することを目的とする。
【課題を解決するための手段】
【００２７】
本発明のＡＲＰテーブル管理装置は、ＩＰアドレスの入力によってＭＡＣアドレスを出力するＡＲＰテーブル管理装置であって、ＩＰアドレスと時間情報を入力データとして登録アドレスを出力する連想メモリと、登録アドレスを入力アドレスとしてＭＡＣアドレスを出力するランダムアクセスメモリと、登録時間と検索時間を選択して前記連想メモリへの入力とするタイマコードセレクタと、外部入力される登録アドレスと前記連想メモリが出力する更新アドレスを選択して連想メモリアドレスへの入力とする第一のアドレスセレクタと、外部入力される登録アドレスと前記連想メモリが出力する更新アドレスを選択してＲＡＭへの出力とする第二のアドレスセレクタと、前記連想メモリにおいて、入力データの任意のｂｉｔを無効化するＭａｓｋＢｉｔとを備え、タイマコード入力をＭａｓｋすることでＩＰアドレスからＭＡＣアドレスへの変換を行い、ＩＰアドレス入力をＭａｓｋすることで任意の時間情報を持つエントリを検索することを特徴とする。
【発明の効果】
【００２８】
本発明によれば、ＩＰアドレスからＭＡＣアドレスへの変換のほか、それぞれのエントリのエージング、およびタイムアウトしたエントリの抽出、使用してないエントリの抽出などの処理が可能となる。
【発明を実施するための最良の形態】
【００２９】
以下、添付図面を参照して、本発明の実施の形態を詳細に説明する。図１は、本発明の概念に基づく一実施形態であるＡＲＰテーブル管理装置の構成例を示した図である。本実施形態のＩＰアドレスの入力によってＭＡＣアドレスを出力するＡＲＰテーブル管理装置は、ＩＰアドレスと時間情報を入力データとして登録アドレスを出力する連想メモリを有する。
【００３０】
本実施形態に係るＡＲＰテーブル管理装置は、登録アドレスを入力アドレスとしてＭＡＣアドレスを出力するランダムアクセスメモリと、登録時間と検索時間を選択して連想メモリへの入力とするタイマコードセレクタとを有する。また、外部入力される登録アドレスと連想メモリ自身が出力する更新アドレスを選択して連想メモリアドレスへの入力とする第一のアドレスセレクタとを有する。また、外部入力される登録アドレスと連想メモリ自身が出力する更新アドレスを選択してＲＡＭへの出力とする第二のアドレスセレクタと、前記連想メモリには入力データの任意のｂｉｔを無効化出来るＭａｓｋＢｉｔとを有する。このような構成の本実施形態は、タイマコード入力をＭａｓｋすることでＩＰアドレスからＭＡＣアドレスへの変換を行い、ＩＰアドレス入力をＭａｓｋすることで任意の時間情報を持つエントリを検索する。
更には、前記連想メモリへの入力データとして登録情報が一定時間で消去される動的な情報か、永続的に保持する静的な情報かを示すＴｙｐｅフィールドを備え、前記Ｔｙｐｅフィールドにより動的な情報のみを削除可能なアドレスとして抽出ができる。また、連想メモリへの入力データとして登録情報が有効であるか無効であるかを示すＳｔａｔｕｓフィールドを備え、前記Ｓｔａｔｕｓフィールドにより検索対象を登録情報のみを対象とし、無効な登録情報を検索する。
【００３１】
図１において、１０１はＩＰアドレスを記憶する連想メモリ（ＣＡＭ）、１０２はＭＡＣアドレスを記憶するランダムアクセスメモリ（ＲＡＭ）、１０３および１０４はＣＡＭ／ＲＡＭに入力されるアドレスを選択するアドレスセレクタである。なお、１０３が本発明でいう第一のアドレスセレクタ、１０４が第二のアドレスセレクタに対応する。
【００３２】
また１０５はタイマであり、１０６はアドレスセクタ１０４がＡＲＰエントリのエージング用のタイマ１０５の出力からのタイマコードもしくは検索用のタイマコードを選択するタイマコードセレクタである。まず、このＡＲＰテーブル管理システムへのエントリ登録手順について順を追って説明する。
【００３３】
エントリ登録時にはＱｕｅｒｙ／Ｅｎｔｒｙ入力にはＥｎｔｒｙを選択して入力する。これにより、１０１のＣＡＭ、１０２のＲＡＭが書込動作モードとなり、１０３と１０４のアドレスセレクタは外部から入力されるＣＡＭ／ＲＡＭアドレスをそれどれＣＡＭとＲＡＭに入力する。そして１０６のタイマコードセレクタはＣＡＭへの入力として１０５のタイマを選択するようにする。
【００３４】
エントリ登録動作時には入力情報としてＣＡＭ／ＲＡＭアドレス、ＩＰアドレス（３２ｂｉｔ）、Ｔｙｐｅ／Ｓｔａｔｕｓ（２ｂｉｔ）、ＭＡＣアドレス（４８ｂｉｔ）が必要となる。
【００３５】
ＩＰアドレスはＣＡＭにデータとして入力し、ＭＡＣアドレスはＲＡＭにデータとして入力する。同時に、Ｔｙｐｅ／Ｓｔａｔｕｓ情報はＣＡＭ／ＲＡＭ共通のデータとして入力、１０５のタイマからの登録時のタイマコード出力をＣＡＭにデータとして入力する。
【００３６】
図６にＣＡＭ／ＲＡＭへの登録情報の一例を示す。本実施形態では、ＣＡＭのアドレス"０"にはＩＰアドレスとして"１９２．１６８．０．１１"、登録時のタイムコードとして"０１：３０"、ＣＡＭ／ＲＡＭのアドレス"０"に共通の情報として、Ｔｙｐｅ＝"Ｄｙｎａｍｉｃ"が入力される。また、Ｓｔａｔｕｓ＝"ｕｐ"、ＲＡＭのアドレス"０"にＭＡＣアドレスとして"６６：５５：４４：３３：２２：１１"がそれぞれ入力されているものとする。検索時はＩＰアドレス、タイマコード、Ｔｙｐｅ／Ｓｔａｔｕｓ情報のいずれかを利用しての検索が可能である。
【００３７】
これら入力される情報のうち、検索に使用しない情報はＭａｓｋ情報を入力して検索対象から外すことが可能である。Ｍａｓｋ情報入力はＩＰアドレス、タイマコード、Ｔｙｐｅ／Ｓｔａｔｕｓ情報の検索情報にｂｉｔ単位で対応している。
【００３８】
ここで、図６のＣＡＭ／ＲＡＭの内容で"１９２．１６８．０．１１"をキーとして検索した結果としてＭＡＣアドレスを出力させるまでの手順について説明する。ＣＡＭ１０１による検索の結果、符合するエントリが存在する場合には"Ｍａｔｃｈ"出力と共にＣＡＭ ＡｄｒｓがＣＡＭ１０１から出力される。
【００３９】
まず、動作モードとして検索モードとして動作するのでこれによりＣＡＭ１０１、ＲＡＭ１０２ともに読み出しモードで動作する。１０４のアドレスセレクタは検索動作時にはＣＡＭ Ａｄｒｓを選択おり、ＣＡＭ１０１から出力されるアドレスはＲＡＭアドレスとして入力される。入力する検索キーとしてはＩＰアドレスとして"１９２．１６８．０．１１"、Ｓｔａｔｕｓとして"Ｕｐ"のエントリを検索することになる。
【００４０】
他の入力情報、つまりエントリのタイプとタイマコードは検索対象から外すようにマスクコードを入力する。その結果、アドレス＝"０"および、有効なアドレスが出力したことを示す"Ｍａｃｔｃｈ"がＣＡＭ１０１から出力される。これらの出力はＲＡＭ１０２のアドレスおよびイネーブル情報として入力される。ＲＡＭ１０２はアドレス＝"０"の内容をデータとして出力するのでＭＡＣアドレス＝"６６：５５：４４：３３：２２：１１"とＴｙｐｅ＝"ｄ"と、Ｓｔａｔｕｓ＝"Ｕｐ"を出力する。
【００４１】
このようにしてＩＰアドレスからそのＩＰアドレスに対応するＭＡＣアドレスが出力される。
【００４２】
続いて、ＣＡＭ１０１に登録しているタイマコードを更新する動作を行う。これによりＣＡＭ１０１が検索したエントリに検索した時点でのタイマコードのみが更新される。検索結果として出力されたＣＡＭアドレスはＲＡＭ１０２に加えられる一方で、ＣＡＭ１０１のアドレス入力としてフィードバックしており、さらに"Ｍａｃｔｈ"出力もＣＡＭ１０１および１０３のアドレスセレクタにフィードバックしている。
【００４３】
これによりＣＡＭ１０１は検索モードから登録モードに移行し、アドレスセレクタにはＣＡＭ１０１自身が出力したアドレスが登録アドレスとして入力される。タイマコードの入力にはタイマ１０５からの更新時のタイマコードが入力され、他のＩＰアドレスやＴｙｐｅ／Ｓｔａｔｕｓ情報などのデータ入力に対してはＭａｓｋがかけられる。これによりタイマコードのみが更新される。
【００４４】
以上のように登録時と、ＩＰアドレスからＭＡＣアドレスを得る場合の検索時の動作について説明した。続いて、削除対象となるエントリの検索について説明する。
【００４５】
従来例で説明したようにネットワークの動的な変更に対応するためにＡＲＰテーブルは登録、検索など一定以上時間が経ったダイナミックなエントリは削除しなければならない。先に説明したようにＣＡＭ１０１の各エントリにはタイマコードとして登録・検索した時点での時刻情報が記載されている。このことから時刻情報を検索キーとしてＣＡＭによる検索を行うことが可能である。
【００４６】
仮にタイマコードを８ｂｉｔとして毎秒カウントアップするタイマとすると、最大２５５秒のカウントが可能である。
【００４７】
最後のアクセスから６０秒経過したエントリを検索する場合、現在時刻を示すタイマの出力から６０を減算した値、Ｓｔａｔｕｓが有効であることを示すＳｔａｔｕｓ＝ｕｐ、動的なエントリであることを示すＴｙｐｅ＝ｄｙｎａｍｉｃを検索キーとする。そして、他のＩＰアドレスやＴｙｐｅ情報にＭａｓｋをかけて検索する。
【００４８】
この検索でＭａｃｔｈ出力があった場合に出力されたｒｅｓｕｌｔアドレスが、登録・検索してから６０秒経過したエントリのアドレスである。エントリから削除するためには当該エントリのｒｅｓｕｌｔアドレスをレファレンスアドレスとして入力し、Ｓｔａｔｕｓ入力を"ｄｏｗｎ"として登録すればエントリの削除が完了となる。
【００４９】
該当するエントリが複数存在した場合、先のエントリを削除した後に再度同じタイマコード、Ｓｔａｔｕｓで検索したときに異なるＣＡＭ／ＲＡＭアドレスでＭａｃｔｈ出力が得られる。ここで得られたＣＡＭ／ＲＡＭアドレスも同様に削除を行い、Ｕｎｍａｔｃｈ出力が得られるまで繰り返す。
【００５０】
以上の作業を毎秒実施することで最後のアクセスから６０秒以上経過したエントリを抽出し、削除することが可能となる。さらにタイマコードの下位ｎビットをＭａｓｋして検索することで２＾ｎ［秒］に一度の検索−削除も可能であることを付け加えておく。
【００５１】
最後に、新たにエントリを登録する際に未使用のエントリを検索する場合はＳｔａｔｕｓ情報が"ｄｏｗｎ"であることのみを検索キーとして抽出できたｒｅｓｕｌｔアドレスが未使用のエントリとなる。このｒｅｓｕｌｔアドレスをレファレンスアドレスとして使用することが可能である。ここで空きエントリが抽出出来なかった場合は最後のアクセスから最も時間が経過したエントリから削除してゆく。
【００５２】
この最後のアクセスから最も時間が経過したエントリを検索するためには、単純な方法として検索タイマコードを"１ずつ"減算してゆく方式がある。また、検索タイマコードの下位ビットをＭａｓｋして検索範囲を広げてから徐々にＭａｓｋビットの上位からＭａｓｋから外すことで検索を絞り込む方式などが用いられる。
【００５３】
なお、本発明を実現するために、上述した実施形態の機能を実現するソフトウェアのプログラムコード（コンピュータプログラム）を記録した記憶媒体を用いても良い。この場合には記憶媒体をシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによって本発明の目的が達成される。
【００５４】
この場合、記憶媒体から読み出されたプログラムコード自体が上述した実施形態の機能を実現することになり、プログラムコード自体及びそのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００５５】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
【００５６】
また、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（基本システム或いはオペレーティングシステム）等が実際の処理の一部又は全部を行う場合も含まれることは言うまでもない。
【００５７】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれてもよい。この場合には、書き込まれたプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部又は全部を行ってもよい。
【図面の簡単な説明】
【００５８】
【図１】本発明の実施の形態に係るＡＲＰテーブル管理装置の一例を示した図である。
【図２】ネットワークの構成例を示した図である。
【図３】ＲＦＣ８２６に記述されているＡＲＰパケットのフォーマットを示した図である。
【図４】ＩＰ−ＭＡＣ変換テーブルの一例を示した図である。
【図５】従来例におけるＣＡＭを使用したＩＰ−ＭＡＣ変換するＡＲＰテーブル管理装置を示した図である。
【図６】本発明の実施の形態に係るＩＰ−ＭＡＣ変換テーブルの一例を示した図である。
【符号の説明】
【００５９】
１０１  連想メモリ
１０２  ランダムアクセスメモリ
１０３  アドレスセレクタ
１０４  アドレスセレクタ
１０５  タイマ
１０６  タイマコードセレクタ
５０１  連想メモリ
５０２  ランダムアクセスメモリ
５０３  アドレスセレクタ
５０４  アドレスエンコーダ
５０５  タイマ
５０６  アドレスデコーダ
【図１】
2010041248.tif 000003
【図２】
2010041248.tif 000004
【図３】
2010041248.tif 000005
【図４】
2010041248.tif 000006
【図５】
2010041248.tif 000007
【図６】
2010041248.tif 000008