(57)【要約】【課題】  MPUや専用ICを使用することなく、少ないテーブル領域に高速にノードアドレスを登録し、高速にノードアドレスを検索することを目的とする。【解決手段】  ノードアドレスＮＡの一部または全部を用いた変動部ノードアドレスＮＡａを圧縮したテーブル用メモリの第１アドレスＡＤを生成するテーブルアドレス計算部５１と、ノードアドレスＮＡが送信元ノードアドレスの場合は接続ポート番号ＲＮＯと組み合わせてデータＤＴを生成して第１アドレスＡＤに保存し、ノードアドレスＮＡが宛先ノードアドレスの場合は読み出したテーブル用メモリに保存されたデータＤＴと比較して送信先ポート番号ＴＮＯを決定するテーブルデータ制御・比較部５２とを備えたことを特徴とする。【選択図】  図２
2010233083.tif 000002
【特許請求の範囲】
【請求項１】
ノードアドレスの一部または全部を用いた変動部ノードアドレスを圧縮したテーブル用メモリの第１アドレスを生成するテーブルアドレス計算部と、
前記ノードアドレスが送信元ノードアドレスの場合は前記送信元ノードアドレスと接続ポート番号を組み合わせてデータを生成して第１アドレスに保存すると共に、前記ノードアドレスが宛先ノードアドレスの場合はテーブル用メモリに保存された前記データを読み出し前記宛先ノードアドレスと比較して送信先ポート番号を決定するテーブルデータ制御・比較部と
を備えたことを特徴とするネットワークアドレス管理装置。
【請求項２】
前記第１アドレスに付加する重複制御アドレスを生成する重複制御部を備え、
前記テーブルアドレス計算部は、第１アドレスに前記重複制御アドレスを付加した第２アドレスを生成し、
前記テーブルデータ制御・比較部は、前記データを第２アドレスに保存することを特徴とする請求項１記載のネットワークアドレス管理装置。
【請求項３】
前記データを読出し、読み出した前記データに新規登録フラグおよび有効フラグを付加するエージング制御部を備えたことを特徴とする請求項１または請求項２に記載のネットワークアドレス管理装置。
【請求項４】
ノードアドレスの一部または全部を用いた変動部ノードアドレスを圧縮したテーブル用メモリの第１アドレスを生成し、
前記ノードアドレスが送信元ノードアドレスの場合は前記送信元ノードアドレスと接続ポート番号を組み合わせてデータを生成して第１アドレスに保存し、
前記ノードアドレスが宛先ノードアドレスの場合はテーブル用メモリに保存された前記データを読み出し前記宛先ノードアドレスと比較して送信先ポート番号を決定することを備えたことを特徴とするネットワークアドレス管理方法。
【請求項５】
ノードと接続する接続ポートと、
データの送受信処理および経路を決定する処理を行うデータ中継コントローラーと、
前記ノード固有のアドレスを記憶するテーブル用メモリと、
データを一時保存するデータバッファ用メモリとを備え、
前記データ中継コントローラー４は、請求項１乃至３のいずれかに記載のネットワークアドレス管理装置を備えたことを特徴とするネットワーク中継装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＬＡＮ（ローカルエリアネットワーク）におけるノードアドレスのデータベースを管理するネットワークアドレス管理装置およびネットワークアドレス管理方法並びにネットワーク中継装置に関する。
【背景技術】
【０００２】
一般に、ネットワーク中継装置は、あるノードからのデータを他のどのノードへ中継すべきかを判断する為に、各データに含まれるノードアドレスをアドレステーブル(以下、テーブルと呼ぶ)に登録し、中継時に検索する処理を行う。
【０００３】
ここで、全てのノードアドレスを記憶する為のテーブル領域を確保する為には、莫大なメモリ容量を必要とするため、テーブル領域の圧縮を行う。その際、圧縮したテーブル領域を効率よく使用するため、また、テーブルから登録されたノードアドレスを高速に検索するための方法として、ハッシュ法等の複雑な計算をMPUや専用ICを用いて行うが、信頼性や保守性を考慮した場合には、上記処理にMPUや専用ICを用いないことが望ましい。
【０００４】
ハッシュ法等の複雑な計算をMPUや専用ICを用いないネットワーク中継装置としては、ノードアドレスの下位ｎビットをテーブルアドレスに割り当てることにより、登録・検索処理の高速化、処理の簡略化を行うものがある（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平03-79136号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述したネットワーク中継装置においては、ノードアドレスの登録・検索処理の高速化、処理の簡略化を主目的としていたため、テーブル領域の圧縮や、ノードアドレスのテーブル上での重複を回避することは考慮されておらず、課題であった。
【０００７】
本発明は、これらの課題を解決するために、MPUや専用ICを使用することなく、少ないテーブル領域に高速にノードアドレスを登録し、高速にノードアドレスを検索することを目的とする。
【課題を解決するための手段】
【０００８】
本発明に係るネットワークアドレス管理装置は、ノードアドレスの一部または全部を用いた変動部ノードアドレスを圧縮したテーブル用メモリの第１アドレスを生成するテーブルアドレス計算部と、前記ノードアドレスが送信元ノードアドレスの場合は前記送信元ノードアドレスと接続ポート番号を組み合わせてデータを生成して第１アドレスに保存すると共に、前記ノードアドレスが宛先ノードアドレスの場合はテーブル用メモリに保存された前記データを読み出し前記宛先ノードアドレスと比較して送信先ポート番号を決定するテーブルデータ制御・比較部とを備えたことを特徴とするものである。
【０００９】
また、本発明に係るネットワークアドレス管理方法は、ノードアドレスの一部または全部を用いた変動部ノードアドレスを圧縮したテーブル用メモリの第１アドレスを生成し、前記ノードアドレスが送信元ノードアドレスの場合は前記送信元ノードアドレスと接続ポート番号を組み合わせてデータを生成して第１アドレスに保存し、前記ノードアドレスが宛先ノードアドレスの場合はテーブル用メモリに保存された前記データを読み出し前記宛先ノードアドレスと比較して送信先ポート番号を決定することを備えたことを特徴とするものである。
【００１０】
また、本発明に係るネットワーク中継装置は、ノードと接続する接続ポートと、データの送受信処理および経路を決定する処理を行うデータ中継コントローラーと、前記ノード固有のアドレスを記憶するテーブル用メモリと、データを一時保存するデータバッファ用メモリとを備えたことを特徴とするものである。
【発明の効果】
【００１１】
本発明によれば、MPUや専用ICを使用することなく、少ないテーブル領域に高速にノードアドレスを登録し、高速にノードアドレスを検索することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施例１に係るネットワーク中継装置を示す図。
【図２】実施例１に係るノードアドレス管理装置を示す図。
【図３】実施例１に係るテーブルデータ構成およびテーブルアドレス構成を示す図。
【図４】本発明の実施例２に係るノードアドレス管理装置を示す図。
【図５】実施例２に係るテーブルアドレス構成を示す図。
【図６】本発明の実施例３に係るノードアドレス管理装置を示す図である。
【図７】実施例３に係るテーブルデータ構成を示す図。
【発明を実施するための形態】
【００１３】
以下、本発明に係るネットワークアドレス管理装置およびネットワークアドレス管理方法並びにネットワーク中継装置の実施形態について、図面を参照して説明する。
【実施例１】
【００１４】
図１は本発明における実施例１に係るネットワーク中継装置を示す図である。
【００１５】
図１に示すように、ネットワーク中継装置３は、ノード１１〜１ｎと接続する為の接続ポート２１〜２ｎと、データの送受信処理や経路を決定する為の処理を行うデータ中継コントローラー４と、ノード１１〜１ｎ固有のアドレスＮＡ情報を記憶するテーブル用メモリ６と、データを一時保存するデータバッファ用メモリ７で構成されている。データ中継コントローラー４には、ノードアドレスＮＡを処理しテーブル用メモリ６に保存し、テーブル用メモリ６から目的のＮＡ情報を読み出す処理をするノードアドレス管理装置５が具備されている。
【００１６】
データ中継コントローラー４は、接続ポート２１〜２ｎから受信したデータを、当該データを受信した接続ポート番号ＲＮＯと合わせてデータバッファ用メモリ７に保存し、保存が完了したデータから順にデータバッファ用メモリ７から読み出す。データ中継コントローラー４がデータバッファ用メモリ７から読み出したデータの中には送信元ノードアドレスが含まれている場合と宛先ノードアドレスが含まれている場合がある。
【００１７】
図２は実施例１に係るノードアドレス管理装置を示す図である。
【００１８】
図２に示すように、ノードアドレス管理装置５は、テーブルアドレス計算部５１とテーブルデータ制御・比較部５２で構成されている。
【００１９】
テーブルアドレス計算部５１は、データ中継コントローラー４からｐビットのノードアドレスＮＡ（送信元ノードアドレスＮＡまたは宛先ノードアドレスＮＡ）を受け取る。ｐビットのノードアドレスＮＡの内のｑビット（ｑ≦ｐ）を切り出したアドレス（変動部ノードアドレスＮＡａ）をｒビット（ｑ＞ｒ）に圧縮してアドレスＡＤ（ｒビット）を生成する。アドレスＡＤはデータＤＴを保存する為のテーブル用メモリ６のアドレスである。
【００２０】
テーブルデータ制御・比較部５２は、データ中継コントローラー４からノードアドレスＮＡとして送信元ノードアドレスＮＡまたは宛先ノードアドレスＮＡとｘビットの接続ポート番号ＲＮＯを受け取る。受け取った送信元ノードアドレスＮＡと接続ポート番号ＲＮＯを組み合わせてテーブル用メモリ６に保存する為のデータＤＴとする。データＤＴをテーブル用メモリ６に保存する。データＤＴはテーブルアドレス計算部５１で生成されたアドレスＡＤに保存する。また、テーブル用メモリ６に保存されたデータＤＴを読み出す。また、データ送信先ポート番号ＴＮＯをデータ中継コントローラー４へ渡す。
【００２１】
ノードアドレス管理装置５は、データ中継コントローラー４が送信元ノードアドレスを読み出した場合（アドレス登録）と、宛先ノードアドレスを読み出した場合（アドレス検索）とでノードアドレス管理装置５は異なった処理をする。
【００２２】
まずは、ノードアドレス管理装置５が、データ中継コントローラー４からノードアドレスＮＡとして送信元ノードアドレスを受け取る場合について説明する。
【００２３】
ノードアドレス管理装置５は、データ中継コントローラー４からノードアドレスＮＡとして送信元ノードアドレスを受け取る場合は、同時にｘビットの接続ポート番号ＲＮＯも受け取る。
【００２４】
図３は、実施例１に係るテーブルデータ構成およびテーブルアドレス構成を示す図である。図３は、ｑビットの変動部ノードアドレスＮＡａをｒビットのアドレスＡＤに圧縮する方法を示す図である。
【００２５】
ｑビットの変動部ノードアドレスＮＡａをｒビット毎に分割する。それぞれを論理演算（ＡＮＤ、ＯＲ、ＮＯＴ、ＸＯＲ等）することにより、ｒビットのアドレスＡＤを生成する。
【００２６】
ここで、閉じた環境下でのネットワークでは、中継装置に接続されているノードの機種が限定されている場合が多く、その場合ノードアドレスＮＡの中のベンダーコードや機種コードといった部分は同一である場合が多い。そのため、その部分はテーブル用メモリ６のアドレスＡＤを計算するｐビットのノードアドレスＮＡの内のｑビット（ｑ≦ｐ）を切り出す操作において切り捨てても、あるノードアドレスＮＡから生成されたｑビットの変動部ノードアドレスＮＡａが、別のノードアドレスＮＡから生成された変動部ノードアドレスＮＡａと重複することは少ない。
【００２７】
また、その変動部ノードアドレスＮＡａはある規則（例えば下２バイト目がインクリメントする等）に従って番号が割り振られていることが多く、接続されているノード数がｒビットで表現される数より少ない場合は、図３に示す方法でｑビットの変動部ノードアドレスＮＡａからｒビットのアドレスＡＤを生成してもアドレスＡＤが重複することは少ない。
【００２８】
次に、ノードアドレス管理装置５が、データ中継コントローラー４からノードアドレスＮＡとして宛先ノードアドレスを受け取る場合について説明する。
【００２９】
ノードアドレス管理装置５は、受け取ったＮＡから上記と同様の方法でテーブル用メモリ６のアドレスＡＤを生成し、テーブル用メモリ６からデータＤＴを読み出す。読み出したデータＤＴは送信元ノードアドレスＮＡと接続ポート番号ＲＮＯとで構成されている。データＤＴの送信元ノードアドレスＮＡとデータ中継コントローラー４から受け取った宛先ノードアドレスＮＡとをテーブルデータ制御・比較部５２にて比較する。送信元ノードアドレスＮＡと宛先ノードアドレスＮＡとが一致していたら読み出した接続ポート番号ＲＮＯを送信先ポート番号ＴＮＯとしてデータ中継コントローラー４へ渡す。送信元ノードアドレスＮＡと宛先ノードアドレスＮＡとが一致していなかった場合は、送信先ポート番号不明ということで、当該データを受信した接続ポート番号を除いた全ポートに送信することを意味する送信先ポート番号ＴＮＯをデータ中継コントローラー４へ渡す。
【００３０】
そして、データ中継コントローラー４は、データバッファ用メモリ７から読み出したデータを、ノードアドレス管理装置５から受け取った送信先ポート番号ＴＮＯの接続ポート２１〜２ｎへ送信する。
【００３１】
本実施形態によれば、ｐビットで表現される全てのノードアドレスＮＡを保存する為のテーブル用メモリ６を用意する場合（2p×(p＋x) bit）に比べ、ｒビットで表現される数だけのノードアドレスＮＡを保存する領域（2r×(p＋x) bit）だけを用意すればよく、テーブル用メモリ６を小さくすることが出来る。また、これらの回路はＭＰＵや専用ＩＣを使用せずに、一般的なロジックＩＣ又はＰＬＤ／ＦＰＧＡのみで構成することが出来、信頼性や保守性の向上と共に、処理時間を短縮することが出来る。
【実施例２】
【００３２】
図４は本発明の実施例２に係るノードアドレス管理装置を示す図である。
【００３３】
実施例２のノードアドレス管理装置は、実施例１のノードアドレス管理装置において、重複制御部５３を設けたものである。なお、実施例１と同一の構成には同一の符号を付し、重複する説明は省略する。
【００３４】
実施例１の説明においては、ノードアドレスＮＡの中のベンダーコードや機種コードが同一であるとし、接続されているノードの変動部ノードアドレスＮＡａが規則に従って割り振られ、ノード数がｒビットで表現される数より少ないとしたが、より開かれた環境下でのネットワークでは、ノードアドレスＮＡの中のベンダーコードや機種コードが数種類存在し、又は、変動部ノードアドレスＮＡａに規則に従わないものが存在し、又は、接続されているノード数がｒビットで表現される数よりも多い場合がある。そのような環境下で、図３に示した方法によりテーブル用メモリアドレスＡＤを算出すると、あるノードアドレスＮＡから算出されるテーブル用メモリアドレスＡＤと、別のノードアドレスＮＡから算出されるテーブル用メモリアドレスＡＤとが重複してしまい、どちらかがテーブル用メモリ６に保存できない場合がある。重複制御部５３は、算出されたテーブル用メモリアドレスＡＤが重複してしまった場合に、テーブル用メモリ６に保存できなくなる事を回避する為の回路である。
【００３５】
図５は、実施例２に係るテーブルアドレス構成を示す図である。図５は、ｑビットの変動部ノードアドレスＮＡａをｒ＋ｙビットのアドレスＡＤａに圧縮する方法を示す図である。
【００３６】
図５に示すように、重複制御部５３がテーブルアドレス計算部５１において算出されたｒビットのアドレス（圧縮アドレスＡＤ）に対して、ｙビットの重複制御アドレスＣＮを付加することによって、ｒ＋ｙビットのテーブル用メモリアドレスＡＤａが生成される。
【００３７】
送信元ノードアドレスのテーブル用メモリ６への登録時には、テーブル用メモリ６のテーブル用メモリアドレスＡＤａにあるデータＤＴを読出す。テーブルデータ制御・比較部５２にて、読み出したデータＤＴの送信元ノードアドレスが登録しようとする送信元ノードアドレスＮＡかメモリ初期化値と一致するか比較する。データＤＴの送信元ノードアドレスが、登録しようとする送信元ノードアドレスＮＡと一致したら、既に登録済みということなので、処理を終了する。また、メモリ初期化値と一致したら、未登録ということなので、そのテーブル用メモリアドレスＡＤａに登録しようとする送信元ノードアドレスＮＡと受信接続ポート番号ＲＮＯを組み合わせたデータＤＴを書き込む。登録しようとする送信元ノードアドレスＮＡにもメモリ初期化値にも一致しない場合は、重複制御部５３にて重複制御アドレスＣＮを別の値に変更し、再度同じ処理を行う、という処理を繰り返す。ｙビットで表現される全ての重複制御アドレスＣＮに対し上記処理を行っても、読み出したデータＤＴの送信元ノードアドレスが登録しようとする送信元ノードアドレスＮＡ又はメモリ初期化値と一致しない場合は、送信元ノードアドレスＮＡのテーブル用メモリ６への書き込みは行わない。
【００３８】
宛先ノードアドレスのテーブル用メモリ６からの検索時には、生成されたアドレスＡＤａにあるデータＤＴを読み出し、テーブルデータ制御・比較部５２にてデータＤＴの送信元ノードアドレスと宛先ノードアドレスとを比較する。データＤＴの送信元ノードアドレスと宛先ノードアドレスとが一致していれば読み出したデータＤＴ内の接続ポート番号ＲＮＯを送信先ポート番号ＴＮＯとしてデータ中継コントローラー４へ渡す。データＤＴの送信元ノードアドレスと宛先ノードアドレスとが一致していなければ、重複制御部５３にて重複制御アドレスＣＮを別の値に変更し、再度同じ処理を行う、という処理を繰り返す。ｙビットで表現される全ての重複制御アドレスＣＮに対し上記処理を行っても、読み出したデータＤＴが宛先ノードアドレスと一致しない場合は、送信先ポート番号不明ということで、当該データを受信した接続ポート番号を除いた全ポートに送信することを意味する送信先ポート番号ＴＮＯをデータ中継コントローラー４へ渡す。
【００３９】
本実施形態によれば、テーブル用メモリアドレスＡＤａに、ｙビットの重複制御アドレスＣＮを含ませることにより、ノードアドレスＮＡをテーブル用メモリアドレスＡＤａに圧縮する際に生じる圧縮アドレスＡＤの重複を2y個許容でき、実施例１で示したネットワーク中継装置をより開かれた環境下のネットワークに適用することが出来る。
【実施例３】
【００４０】
図６は本発明の実施例３に係るノードアドレス管理装置を示す図である。
【００４１】
実施例３のノードアドレス管理装置は、実施例１のノードアドレス管理装置において、ノードアドレス管理装置５内にタイマー５４およびエージング制御部５５を設けたものである。なお、実施例１と同一の構成には同一の符号を付し、重複する説明は省略する。
【００４２】
実施例１および実施例２では、送信元ノードアドレスの登録は、一度登録された後、登録されたノード１１〜１ｎの接続ポート２１〜２ｎからの接続の解除や接続ポート２１〜２ｎの変更をしない前提だが、そのような操作が発生する場合、一度登録したノードアドレスＮＡを削除する処理が必要となる。また、長い期間伝送を行わないノード１１〜１ｎのノードアドレスＮＡを登録しておくことは、テーブル用メモリ６の領域を無駄に占有することとなるので、この場合も同様に、当該ノードアドレスＮＡを削除する処理が必要となる。
【００４３】
図７は、実施例３に係るテーブルデータ構成を示す図である。図７に示すように、ノードアドレスＮＡと受信接続ポート番号ＲＮＯの組み合わせたデータＤＴに加え、それぞれ１ビットで表現される新規登録フラグＬＩ及び有効フラグＶＡを付加したものをデータＤＴａとする。テーブル用メモリ６への登録時には、新規登録フラグＬＩ及び有効フラグＶＡを共にアクティブな状態で登録する（初期化値は共に非アクティブとする）。
【００４４】
そして、ノードアドレスＮＡの登録・検索とは関係なく、エージング制御部５５はタイマー５４にて決められた一定間隔ｔ時間で、テーブル用メモリ６を１アドレスＡＤずつ読出し、読み出したデータＤＴ内の新規登録フラグＬＩ及び有効フラグＶＡを操作し、再度同じアドレスＡＤへ書き戻す処理を行う。そのフラグの処理方法としては、読み出した新規登録フラグＬＩがアクティブなら、非アクティブに変更し、有効フラグＶＡはそのままの状態で書き戻す。新規登録フラグＬＩが非アクティブかつ有効フラグＶＡがアクティブの場合は、新規登録フラグＬＩはそのままの状態で、有効フラグＶＡを非アクティブに変更し書き戻す。共に非アクティブな場合は、共にそのままの状態で書き戻す。
【００４５】
そして、送信元ノードアドレスのテーブル用メモリ６への登録時には、テーブルアドレス計算部５１にて生成されたアドレスＡＤにあるデータＤＴを読出し、テーブルデータ制御・比較部５２にて、データＤＴ内のノードアドレスＮＡが送信元ノードアドレスＮＡと一致するか、有効フラグＶＡが非アクティブかを判断する。データＤＴ内のノードアドレスＮＡが、送信元ノードアドレスＮＡと一致した場合、又は、データＤＴ内のノードアドレスＮＡと送信元ノードアドレスが一致せず有効フラグＶＡが非アクティブの場合は、送信元ノードアドレスＮＡと受信接続ポート番号ＲＮＯ、及びアクティブにした新規登録フラグＬＩと有効フラグＶＡを、同じアドレスＡＤに上書きする。
【００４６】
次に、宛先ノードアドレスのテーブル用メモリ６からの検索時は、実施例１又は実施例２と同様に検索するが、データＤＴ内の受信接続ポート番号ＲＮＯをデータ送信先ポート番号ＴＮＯに割り当てる条件として、データＤＴ内のノードアドレスＮＡと宛先ノードアドレスＮＡが一致することに加え、データＤＴ内の有効フラグＶＡがアクティブであることを追加する。
【００４７】
本実施形態によれば、テーブル用メモリ６に登録されたノード１１〜１ｎの接続ポート２１〜２ｎからの接続の解除や接続ポート２１〜２ｎの変更による、テーブル用メモリ６の更新に対応することが出来、誤った接続ポート２１〜２ｎにデータを送信し続けることを防ぐと共に、長期間伝送しないノードアドレスＮＡをテーブル用メモリ６から削除する等、テーブル用メモリ６を有効に利用することが出来る。
【００４８】
なお、以上の説明は単なる例示であり、本発明は上述の実施の形態に限定されず、様々な形態で実施することができる。例えば、実施例２と実施例３とを組み合せてもよい。
【符号の説明】
【００４９】
１１〜１ｎ  ノード
２１〜２ｎ  接続ポート
３          ネットワーク中継装置
４          データ中継コントローラ
５          ノードアドレス管理装置
５１        テーブルアドレス計算部
５２        テーブルデータ制御・比較部
５３        重複制御部
５４        タイマー
５５        エージング制御部
６          テーブル用メモリ
７          データバッファ用メモリ
【図１】
2010233083.tif 000003
【図２】
2010233083.tif 000004
【図３】
2010233083.tif 000005
【図４】
2010233083.tif 000006
【図５】
2010233083.tif 000007
【図６】
2010233083.tif 000008
【図７】
2010233083.tif 000009