(第1の実施形態)
図1は、本発明の第1の実施形態のネットワーク装置10のハードウェアの構成を示すブロック図である。
本発明の第1の実施形態のネットワーク装置10は、イーサネットのMACアドレス情報に基づいて、転送先を選択するイーサネットスイッチであり、スイッチ101、複数の検索エンジン102(検索エンジン102−1〜102−4)、複数のNIC103(NIC103−1〜NIC103−8)、複数のネットワーク回線104(ネットワーク回線104−1〜104−8)、NIC間接続回線105、及び、CPU106を備える。
ネットワーク装置10は、ネットワーク回線104を介して他のネットワーク装置10と接続される。すべてのNIC103は、NIC間接続回線105によって接続され、相互に通信が可能である。また、スイッチ101には、多様な処理をソフトウェアによって行うため、CPU106が接続される。なおネットワーク装置10には、ソフトウェア又はテーブルを格納するための、図示しないメモリが備わる。
スイッチ101は、検索エンジン102によって扱うことができない制御メッセージの処理、及び、テーブルの管理などを行う。スイッチ101は、すべての検索エンジン102と相互に接続され、検索エンジン102間の通信を実現する。本発明の第1の実施形態の検索エンジン102は、それぞれ、複数のNIC103と接続される。
検索エンジン102は、パケットの送信先がどの検索エンジン102の配下にいるかなどの宛先の情報を保持する。例えば、NIC103−1がパケットを受信した場合、検索エンジン102−1は、検索エンジン102−1が保持する宛先の情報によってパケットの送信先を検索し、検索エンジン102−1の配下にパケットの送信先があると判定した場合は、そのままNIC103−1を介してパケットを送信先に送る。
また、検索エンジン102−1は、パケットを検索することによって、検索エンジン102−1以外の検索エンジン102−3の配下にパケットの送信先があると判定した場合、スイッチ101にパケットを送る。スイッチ101は、検索エンジン102−3にパケットを転送し、検索エンジン102−3は、NIC103−5又はNIC103−6を介して、パケットを宛先に送信する。
(検索エンジン102)
図2は、本発明の第1の実施形態の検索エンジン102の構成を示すブロック図である。
検索エンジン102は、複数のNIC103に接続され、CPU106及びスイッチ101に接続される。検索エンジン102は、パケットバッファ1021、検索部1022、連想メモリ1023、及び、宛先情報テーブル1024を備える。パケットバッファ1021は、受信したパケットを一時的に格納するためのバッファである。検索部1022は、受信したパケットの宛先を検索するプログラム又はハードウェアである。
連想メモリ1023は、パケットのヘッダ領域に含まれるMACアドレス又はIPアドレスと、パケットの送信先のおおまかな宛先とを対応づけるテーブルである。おおまかな宛先とは、階層構造で示されたアドレスのうち、浅い階層のアドレスによって示される宛先である。
宛先情報テーブル1024は、パケットのヘッダ領域に含まれるMACアドレス又はIPアドレスと、連想メモリ1023において検索されたおおまかな宛先情報よりもさらに詳細な宛先とを保持するテーブルである。
検索部1022は、連想メモリ1023においておおまかな宛先を取得し、取得した宛先によって宛先情報テーブル1024をさらに検索することによって、検索の速度をあげることができる。
検索エンジン102は、スイッチ101又はNIC103からパケットを受信すると、パケットをパケットバッファ1021に一時的に格納する。また検索エンジン102は、受信したパケットに含まれる、ヘッダ領域と、そのパケットが一時的に格納されたパケットバッファ1021のMACアドレスとを、検索部1022に送信する。ヘッダ領域には、パケットの送信先を示すMACアドレスが含まれる。
検索部1022は、送信されたパケットのヘッダ領域を解析し、受信したパケットがトラフィックではなく制御メッセージであると判定した場合、パケットバッファ1021に制御メッセージを送る。パケットバッファ1021は、スイッチ101を介してCPU106に制御メッセージを送信する。
なお、第1の実施形態における制御メッセージは、LPIへの移行を促すメッセージ、又は、LPIからの復帰などを促すウェイクメッセージなどの、LPIに関するメッセージである。
検索部1022は、送信されたパケットのヘッダ領域を解析し、パケットがトラフィックであると判定した場合、送信されたパケットのヘッダ領域に含まれるMACアドレスを抽出し、抽出されたMACアドレス又はIPアドレスをキーとして、パケットを転送するために必要な宛先を検索する。
具体的には、検索部1022は、パケットのヘッダ領域に含まれるMACアドレスをキーとして連想メモリ1023を検索し、おおまかな宛先を取得する。さらに、連想メモリ1023によって取得されたおおまかな宛先を、宛先情報テーブル1024の記憶位置に変換し、宛先情報テーブル1024から詳細な宛先を取得する。取得された宛先の検索結果は、例えば、転送先となる別の検索エンジン102への経路であったり、検索エンジン102自らに直接接続されるNIC103を介して、さらに接続されるネットワーク回線104のうちの一つのネットワーク回線104への経路であったりする。
検索部1022は、連想メモリ1023及び宛先情報テーブル1024から取得された宛先を、パケットが一時的に格納されたパケットバッファ1021のMACアドレス情報とともに、パケットバッファ1021に送る。さらに連想メモリ1023及び宛先情報テーブル1024から取得された宛先が自らに直接接続されるNIC103であった場合、検索部1022は、自らに接続されるNIC103のポートが現在LPI中であるか否かを示す情報と、そのパケットが送信される先の簡易経路情報も併せて取得する。
簡易経路情報とは、後述する手段に基づいて取得され、パケットがどのネットワーク装置10を介して送信されるかを示す情報である。
そして、自らに接続されるNIC103のポートがLPI中である場合、検索部1022は、パケットバッファ1021を介してNIC103に、LPIからの復帰を促すウェイクメッセージを送信する。なお、検索エンジン102は、NIC103から送られるLIPに移行した旨の通知を保持する。
また検索部1022は、LPIからの復帰を促すウェイクメッセージに、簡易経路情報を付加する。簡易経路情報を付加することによって、ネットワーク装置10は、LPIからの復帰を促すウェイクメッセージを次にどのネットワーク装置10に送付するべきかを判定することができる。
パケットバッファ1021は、検索部1022から宛先の検索結果を送られると、パケットが一時的に格納されたパケットバッファ1021のMACアドレス情報に基づいて、送信するパケットを抽出する。そして、抽出されたパケットに、検索部1022から送られた宛先の検索結果を付加し、抽出されたパケットを宛先に送信する。なお、LPI中のNIC103に復帰を促すウェイクメッセージを送信する場合、LPIからの復帰を促すウェイクメッセージに、抽出されたパケットを付加し、抽出されたパケットを付加されたウェイクメッセージをLPI中のNIC103に転送する。
CPU106は、検索部1022から送られたパケットが一時的に格納されているパケットバッファ1021のアドレス情報に基づいて、パケットバッファ1021からパケットを抽出する。このCPU106は、不明な宛先の宛先解決、メモリ内情報の更新、及び、エージング処理等を行う。またCPU106は、LPIへの移行又はLPIからの復帰を促す制御メッセージを受信し、受信した制御メッセージをメモリ内へ反映し、簡易経路情報を管理し、LPI制御部1035へ簡易経路情報を通知する。
(NIC103)
図3は、本発明の第1の実施形態のNIC103の構成を示すブロック図である。
第1の実施形態のNIC103は、1本以上の108に接続され、1つの検索エンジン102に接続される。また、NIC103は、NIC103間で相互に通信可能なように、NIC間接続回線105によってすべてのNIC103と接続されている。
NIC103は、RECONCILIATION SUBLAYER(以下、RSと表記)1031と、MAC1032と、振り分け回路1033と、バッファ1034と、LPI制御部1035とを備える。
RS1031は、ネットワーク回線104を介して、ポート間の通信速度及び通信モードを最適化、すなわち、オートネゴシエーションを行う。MAC1032は、パケットを符号化したり、パケットの切り出し、すなわちパケットの同期を取ったりする。MAC1032は、NIC103がLPI中、LPI制御部1035によって停止される。振り分け回路1033は、NIC103におけるパケットの送り先を制御する。バッファ1034は、LPIからの復帰を待つ間、振り分け回路1033によってパケットが格納される。
LPI制御部1035は、NIC間接続回線105に接続され、NIC間接続回線105を介してLPIに関する制御メッセージを受信すると、MAC1032を停止させることによってNIC103をLPIに移行させ、MAC1032を起動させることによってNIC103をLPIから復帰させる。また、LPI制御部1035は、他のネットワーク装置10に送信するウェイクメッセージ、すなわちLPIからの復帰を促すウェイクメッセージ、及び、LPIへの移行を促す制御メッセージを作成する。
なお、ウェイクメッセージのコードには、図4に示すEEEのメッセージコードに基づいたフォーマットを使用する。
図4は、本発明の第1の実施形態のウェイクメッセージのフォーマットを示す説明図である。
図4に示すウェイクメッセージのメッセージコードは、EEE TECHNOLOGY MESSAGE CODE41と、未使用領域42と、EEE ADVERTISEMENT43と、簡易経路情報44とを含む。EEE TECHNOLOGY MESSAGE CODE41は、11ビットであり、制御メッセージの種別を示す。未使用領域42は、6ビットである。EEE ADVERTISEMENT43は、7ビットであり、物理回線の種別とEEEへの対応状況を示す。さらに、簡易経路情報44は、未使用の23ビット目から47ビット目に、アドレスを示す情報を含む。
PC又は他のネットワーク装置10などの外部からネットワーク回線104を介して入力される信号は、RS1031においてオートネゴシエーション用の信号とトラフィックとに分離される。オートネゴシエーション用の信号は、接続開始時、すなわちオートメーション用の信号が受信された時に、リンクの速度及びLPIの可否などを、その信号の送信元と合意する機能と、リンク状態の監視及びLPIの制御とのために利用される。
オートネゴシエーション用の信号のうちLPIに関するものは、RS1031において内容を解析され、LPI制御部1035に制御メッセージとして送信される。一方、ネットワーク回線104を介して外部から送信されたトラフィックは、RS1031からMAC1032に送られる。トラフィックは、MAC1032において符号化などの処理をされると、振り分け回路1033によって検索エンジン102に送信される。
検索エンジン102によってNIC103へ送られた信号は、振り分け回路1033に送られる。振り分け回路1033は、検索エンジン102によって送られた信号を解析し、その信号がLPIに関する制御メッセージである場合、その信号をLPI制御部1035に送信する。
検索エンジン102によって送られた信号がトラフィックであり、信号を受信したNIC103がLPI中でない場合、振り分け回路1033は、トラフィックの到着をLPI制御部1035に通知し、また、受信したトラフィックをMAC1032に送信する。
受信した信号がトラフィックであり、信号を受信したNIC103がLPI中の場合、振り分け回路1033は、LPIから復帰するまで、すなわちMAC1032が起動するまでの間、受信した信号に含まれるパケットをバッファ1034に格納する。振り分け回路1033は、バッファ1034に受信したパケットを格納した後、LPI制御部1035からLPIが終了した旨を通知されると、バッファ1034から格納したパケットを取得し、取得したパケットをMAC1032に送信する。
MAC1032は、振り分け回路1033からパケットが送られると、送られたパケットに符号化などの処理を行い、符号化などをされたパケットをRS1031に送る。RS1031は、MAC1032からパケットを送られると、送られたパケットを含む信号をネットワーク回線104へ送信する。
(LPIへの移行)
NIC103は、二つの場合においてLPIとなる。一つ目の場合は、LPI制御部1035によってLPIへの移行が決定される場合であり、二つ目の場合は、ネットワーク回線104を介して対向側のネットワーク装置10からLPIへの移行を促す制御メッセージを受信した場合である。
LPIに移行する一つ目の場合におけるLPI制御部1035は、トラフィックを含む信号が検索エンジン102又はNIC103などの上流から一定時間送られていないことを検知した場合、LPIへの移行を決定し、MAC1032を停止する。
LPI制御部1035がLPIへの移行を決定する場合、LPI制御部1035は、振り分け回路1033がトラフィックを含む信号を受信した旨が振り分け回路1033によって通知された時間の間隔に基づいて、LPIに移行するか否かを判定する。一定時間トラフィックが振り分け回路1033によって受信されない場合、LPI制御部1035は、LPIへの移行を促す制御メッセージを、RS1031を介して対向側のネットワーク装置10に送信する。
このLPIへの移行を促す制御メッセージに、対向側のネットワーク装置10が同意する場合、対向側のネットワーク装置10は、LPIへの移行を同意する旨の制御メッセージをNIC103に返信する。LPIへの移行を同意する旨のメッセージが対向側のネットワーク装置10から送られた場合、LPI制御部1035は、RS1031、MAC1032及び振り分け回路1033にLPIへ移行するよう通知する。
RS1031は、LPI制御部1035からLPIへの移行を通知されると、RS1031自身とRS1031に備わるポートを含む物理層とを省電力状態にする。MAC1032は、LPI制御部1035からLPIへの移行を通知されると、送受信をするための回路を停止することによって、省電力状態になる。
また振り分け回路1033は、LPI制御部1035からLPIへの移行を通知されると、LPIに移行する旨を検索エンジン102に通知する。そして振り分け回路1033は、LPIへの移行を記憶しておき、LPIから復帰する旨をLPI制御部1035によって通知されるまで、検索エンジン102から送られるパケットをバッファ1034へ格納し続ける。
一方、対向側のネットワーク装置10から、LPIへの移行に同意する旨のメッセージが受信できない場合、LPI制御部1035は、MAC1032及び振り分け回路1033に限定的なLPIへの移行を通知する。限定的なLPIへの移行を通知された場合、MAC1032は、MAC1032に備わる送信側の回路のみがLPIによる省電力状態に移行し、対向側からのパケットを受信するMAC1032に備わる回路を起動させたままとする。
振り分け回路1033は、限定的なLPIへの移行を通知された場合、通常のLPIへの移行と同様に、LPIに移行する旨を検索エンジン102に通知する。そして、LPIへの移行を記憶しておき、LPIから復帰する旨をLPI制御部1035によって通知されるまで、検索エンジン102から送られるパケットをバッファ1034へ格納し続ける。
LPIに移行する二つ目の場合におけるNIC103は、ネットワーク回線104、RS1031、及び振り分け回路1033を介してLPIへの移行を促す制御メッセージを受信する。振り分け回路1033は、LPIへの移行を促す制御メッセージをLPI制御部1035に転送する。なお、LPIへの移行を促す制御メッセージは、RS1031によってLPI制御部1035に転送されてもよい。
LPI制御部1035は、LPIへの移行を促すメッセージを受信すると、自身が備わるNIC103において、転送途中のパケットが到着する予定がないか否かを、NIC103に接続されるネットワーク回線104、NIC間接続回線105、又は検索エンジン102からの接続予約などに基づいて判定する。パケットが到着する予定がある場合、LPI制御部1035は、パケットの処理が終了するのをを待つ。
そして、パケットが到着する予定がない場合、LPI制御部1035は、LPIへの移行に同意する旨のメッセージを対向側のネットワーク装置10に送信し、同時に、MAC1032及び振り分け回路1033にLPIへの移行を通知する。
自らのLPI制御部1035によってLPIへの移行が決定される場合と同じく、MAC1032は、LPIへの移行を通知されると、送受信をするための回路を停止することによって、省電力状態になる。また、振り分け回路1033は、LPI制御部1035からLPIへの移行を通知されると、LPIに移行する旨のメッセージを検索エンジン102に通知する。そして、LPIへの移行を記憶しておき、LPIから復帰する旨のメッセージをLPI制御部1035によって送られるまで、検索エンジン102から送られるパケットをバッファ1034へ格納し続ける。
(LPIからの復帰)
NIC103は、三つの場合においてLPIから復帰する。一つ目の場合は、検索エンジン102から送信されたLPIからの復帰を促すメッセージに基づいてLPIから復帰する場合である。二つ目の場合は、NIC103が、対向側のネットワーク装置10からネットワーク回線104を介してウェイクメッセージを受信することによってLPIから復帰する場合である。そして三つ目の場合は、NIC103が、他のNIC103からNIC間接続回線105を介してウェイクメッセージを受信することによってLPIから復帰する場合である。
図5は、本発明の第1の実施形態の検索エンジン102から送信されたLPIからの復帰を促すメッセージに基づいてLPIから復帰するための手順を示すシーケンス図である。
検索エンジン102から送信されたLPIからの復帰を促すメッセージに基づいてLPIから復帰する場合、振り分け回路1033は、LPIからの復帰を促すメッセージと併せて簡易経路情報を検索エンジン102から受信する(S12001)。振り分け回路1033は、LPIからの復帰を促すメッセージに付加されていたトラフィックのためのパケットを、バッファ1034に格納する(S12002)。振り分け回路1033は、LPIからの復帰を促すメッセージを、LPIに関する通知であると判定し、LPI制御部1035に送信する(S12003)。
LPI制御部1035は、LPIからの復帰を促すメッセージを受信すると、簡易経路情報を含むウェイクメッセージを作成して、RS1031及びネットワーク回線104を介して対向側のネットワーク装置10に送信する(S12004)。また、MAC1032にLPIからの復帰を促すメッセージを送信する(S12006)。
次にLPI制御部1035は、LPIからの復帰が完了した旨をMAC1032から通知され(S12006)、また、LPI制御部1035が送信したウェイクメッセージへの返信が対向側のネットワーク装置10から送信されるまで待機する(S12007)。
MAC1032による通知とウェイクメッセージへの返信とをともに受信した場合、LPI制御部1035は、LPIからの復帰が完了した旨を振り分け回路1033に通知する(S12008)。振り分け回路1033は、バッファ1034に格納した順番にパケットをバッファ1034から取得し(S12009)、取得したパケットをMAC1032へ送信し始める(S12010)。また、振り分け回路1033は、LPIからの復帰が完了した旨を検索エンジン102に通知する(S12011)。
図6は、本発明の第1の実施形態の対向側のネットワーク装置10から送信されたLPIからの復帰を促すウェイクメッセージに基づいてLPIから復帰するための手順を示すシーケンス図である。
LPI制御部1035が、対向側のネットワーク装置10からネットワーク回線104を介してウェイクメッセージを受信することによってLPIから復帰する場合、LPI制御部1035は、RS1031を介して対向側のネットワーク装置10からウェイクメッセージを受信すると(S13001)、MAC1032及び振り分け回路1033にLPIから復帰する旨を通知する(S13005)。
またLPI制御部1035は、ウェイクメッセージに付加された簡易経路情報を、LPI制御部1035が保持する簡易経路検索テーブルにおいて検索する。ウェイクメッセージに付加された簡易経路情報に該当する簡易経路が、LPI制御部1035が保持する簡易経路検索テーブルに存在する場合、その簡易経路検索テーブルが示すNIC103に、NIC間接続回線105を介してウェイクメッセージを転送する(S13004)。なお、ウェイクメッセージを送信されるNIC103は、他のネットワーク装置10におけるNIC103でもよい。
次にLPI制御部1035は、検索エンジン102から送信されたLPIからの復帰を促すメッセージに基づいてLPIから復帰する場合と同様に、LPIからの復帰が完了した旨をMAC1032から通知され(S13006)、また、LPI制御部1035が送信したウェイクメッセージへの返信がNIC103から送信されるまで待機する(S13007)るまで待機する。そして、LPIからの復帰が完了した旨をMAC1032から通知されると、LPI制御部1035は、LPIからの復帰が完了した旨を振り分け回路1033に通知する(S13008)。
振り分け回路1033は、LPIからの復帰が完了した旨を通知されると、バッファ1034に格納したものから順番にパケットをMAC1032へ送信し始める。そして、振り分け回路1033は、LPIからの復帰が完了した旨を、ウェイクメッセージが送信された対向側のネットワーク装置10に通知する(S13011)。
図7は、本発明の第1の実施形態の同じネットワーク装置10内に備わるNIC103から送信されたLPIからの復帰を促すウェイクメッセージに基づいてLPIから復帰するための手順を示すシーケンス図である。
LPI制御部1035が、NIC103からNIC間接続回線105を介してウェイクメッセージを受信することによってLPIから復帰する場合の手順は、図5に示す手順と同様であり、LPIからの復帰を促すメッセージが、NIC103によって送信される点のみが異なる。
すなわち、LPI制御部1035は、同じネットワーク装置10に備わる他のNIC103から送られたウェイクメッセージをNIC間接続回線105を介して受信すると(S14001)、そのウェイクメッセージに含まれるパケットをRS1031及びネットワーク回線104を介して、対向側のネットワーク装置10に送信する(S14004)。同時にMAC1032にLPIから復帰する旨を通知する(S14006)。
次にLPI制御部1035は、LPIから復帰が完了した旨をMAC1032から通知され(S14006)、また、LPI制御部1035が送信したウェイクメッセージへの返信がNIC103から送信されるまで待機する(S14007)るまで待機する。そして、LPIから復帰が完了した旨をMAC1032から通知されると、LPI制御部1035は、LPIからの復帰が完了した旨を振り分け回路1033に通知する(S14008)。振り分け回路1033は、バッファ1034に格納したものから順番にMAC1032へパケットを送信し始める。また、振り分け回路1033は、LPIからの復帰が完了した旨を同じネットワーク装置10に備わる他のNIC103に通知する(S14011)。
LPIへの移行時に、対向側のネットワーク装置10からLPIへの移行の同意が得られなかった場合、前述したように、NIC103は限定的なLPIの状態である。限定的なLPIから復帰する手順において、図5に示すS12004及びS12007と図6に示すS13004及びS13007と図7のS14004及びS14007とは不要である。
LPI制御部1035は、LPI中でない場合においても対向側のネットワーク装置10又は他のNIC103からウェイクメッセージを受信する場合がある。この場合には、LPIから復帰することはなく、ウェイクメッセージを他のネットワーク装置10又は他のNIC103に中継する。すなわち対向側のネットワーク装置10から送信されたウェイクメッセージの場合、簡易経路情報から簡易経路検索テーブルの検索を行い、該当する経路情報が存在する場合には検索されたNIC103にNIC間接続回線105を介してウェイクメッセージを転送する。他のNIC103からウェイクメッセージを受信した場合にはそのまま、ウェイクメッセージを対向側のネットワーク装置10に転送する。
(簡易経路情報)
簡易経路情報を作成する方法には、管理者が限定された有限個の経路をあらかじめNIC103に設定され、さらにそのうちの適切なものを選択することによって作成されるスタティックな方法と、本発明のLPIに対応するネットワーク装置10の間で、ネットワークトポロジー情報を共有することによって作成されるダイナミックな方法と、そして、これらの両者の混合のハイブリッドな方法との3種類とがある。
管理者が限定された有限個の経路をあらかじめ設定することによって簡易経路情報を作成する方法では、LPIが対応しているネットワーク装置10の範囲に関する固定的な経路が、すべてのLPIに対応するネットワーク装置10の間で共有されている。これらの簡易経路情報を設定されたネットワーク装置10は、CPU106から各LPI制御部1035の簡易経路検索テーブルに、各経路に対応するNIC103の情報を保持する。
LPIに対応するネットワーク装置10の間で、ネットワークトポロジー情報を共有するダイナミックな方式では、LPIに対応しているすべてのネットワーク装置10が互いに認識しあうことで簡易経路情報を共有する方法である。LPIに対応したネットワーク装置10が新たに本実施形態のネットワークに接続された際、ネットワークに接続されたネットワーク装置10は、ネットワーク全体に自らのアドレスとLPIに対応していることを通知するフレームをブロードキャストする。
このときに、LPIに対応する他のすべてのネットワーク装置10は、新たにネットワークに接続されたネットワーク装置10に至る経路を学習する。さらに、学習をしたネットワーク装置10は、新たにネットワークに接続された装置に自らのアドレスとLPIに対応していることを通知するフレームを返信する。これによって、LPIに対応するネットワーク装置10間だけでの簡易経路テーブルを作成する。
テーブルの作成にはMACアドレス順にテーブルをソートするなどのルールに則って、すべてのネットワーク装置10への簡易経路が同一の経路を意味するように更新する方法と、簡易経路を管理するネットワーク装置10が更新されたテーブルを配布する方法があり、これらは管理者によってあらかじめ選択可能である。
ダイナミックな方法には、LPIに対応するネットワーク装置10の数が増えた際に、管理する経路が飛躍的に増大するという問題がある。上記のハイブリッドな方法は、ダイナミックな方法における前述の問題を解消するため、主要な経路を構成するためのネットワークの端点となるネットワーク装置10に、簡易経路を構成するネットワーク装置10を限定する方法である。管理者がネットワークの端点とならないネットワーク装置10を明示的に指定することによって、端点とならないネットワーク装置10は、LPIに対応しながらも簡易経路の構築には関与しない。
各ネットワーク装置10のMACアドレスの検索テーブルと簡易経路との関連付けは、新たなネットワーク装置10の接続が発生した際に、学習される。MACアドレスがネットワーク内に通知される際に、そのネットワーク装置10が接続する最初のLPIに対応するネットワーク装置10が、自らがこのアドレスに対する簡易経路の終点であることを通知する。この情報に基づいて、LPIに対応する各ネットワーク装置10は、該当するネットワーク装置10までの簡易経路に対応する情報を、MACアドレスの検索テーブルに格納する。
図8は、本発明のLPIからの復帰手順との対比例を示すシーケンス図である。
図8は、本発明の第1の実施形態を用いない複数のネットワーク装置10が、パケットを受信してからLPIから復帰する手順の概要を示す。
なお、以降において各ネットワーク装置10には、ネットワーク装置10−1〜10−8が含まれる。
ネットワーク装置10−1がパケットを受信すると(S15001)、ネットワーク装置10−1は、LPIからの復帰を促すためのウェイクメッセージをネットワーク装置10−2に送信する(S15002)。ウェイクメッセージを受信すると、ネットワーク装置10−2はLPIから復帰し、LPIから復帰した後、起動が完了した旨をネットワーク装置10−1に通知する(S15003)。ネットワーク装置10−2から起動が完了した旨を通知された後、ネットワーク装置10−1は、S15001において受信したパケットをネットワーク装置10−2に送信する(S15004)。
ネットワーク装置10−2は、ネットワーク装置10−1からパケットを受信すると、LPIからの復帰を促すためのウェイクメッセージをネットワーク装置10−3に送信する(S15005)。ウェイクメッセージを受信すると、ネットワーク装置10−3は、LPIから復帰し、LPIから復帰した後、起動が完了した旨をネットワーク装置10−2に通知する(S15006)。ネットワーク装置10−3から起動が完了した旨を通知された後、ネットワーク装置10−2は、S15004において受信したパケットをネットワーク装置10−3に送信する(S15007)。
図9は、本発明の第1の実施形態のLPIからの復帰手順を示すシーケンス図である。
図9は、複数のネットワーク装置10において図7に示すLPIからの復帰の手順を行った場合の、手順の概要を示す。なお、図8に示すNIC103の手順においても、同じ手順の概要となる。
ネットワーク装置10−5がパケットを受信すると(S16001)、ネットワーク装置10−5は、LPIからの復帰を促すためのウェイクメッセージをネットワーク装置10−6に送信する(S16002)。ウェイクメッセージを受信すると、ネットワーク装置10−6は、LPIからの復帰を開始するとともに、LPIからの復帰を促すためのウェイクメッセージをネットワーク装置10−7に送信する(S16005)。ネットワーク装置10−6は、LPIから復帰した後、起動が完了した旨をネットワーク装置10−5に通知する(S16003)。ネットワーク装置10−2から起動が完了した旨を通知された後、ネットワーク装置10−5は、S16001において受信したパケットをネットワーク装置10−6に送信する(S16004)。
LPIからの復帰を促すためのウェイクメッセージをネットワーク装置10−6から受信すると、ネットワーク装置10−7は、LPIからの復帰を開始するとともに、LPIからの復帰を促すためのウェイクメッセージをネットワーク装置10−8に送信する(S16008)。ネットワーク装置10−7は、LPIから復帰した後、起動が完了した旨をネットワーク装置10−6に通知する(S16006)。ネットワーク装置10−7から起動が完了した旨を通知された後、ネットワーク装置10−6は、S16004において受信したパケットをネットワーク装置10−7に送信する(S16007)。
図8に示すネットワーク装置10は、パケットを送ろうとするネットワーク装置10がLPIから復帰した旨を通知するまで、パケットの送信を待機する。さらに、パケットを受信してから、ウェイクメッセージを送信する。
一方、図9に示すネットワーク装置10は、ウェイクメッセージを受信すると、LPIからの復帰を開始するとともに、対向側のネットワーク装置10にウェイクメッセージを送信する。このため、図8に示すネットワーク装置10は、パケットを送信するために、対向側のネットワーク装置10がLPIから復帰するために要する時間分だけ待機しなくてはならないが、図9に示すネットワーク装置10は、対向側のネットワーク装置10がLPIから復帰するための時間分待機する必要がなくなる。すなわち、図9に示すネットワーク装置10によるパケットの転送は、ネットワーク装置10がLPIから復帰するための時間分待機する必要がないため、遅延時間を削減することができる。
第1の実施形態を用いることによって、LPIによる省電力化を実現しつつ、多段のLPIの復帰によって増加するパケット到着までの遅延時間を削減することができる。
また、第1の実施形態によるネットワーク装置10は、最初にLPIから復帰するネットワーク装置10が、検索された簡易経路情報に基づいて、次にパケットを送るべき経路のNIC103に、ウェイクメッセージを送信することによって、パケットの到着前にLPIからの復帰を実施し、LPIの復帰に要する時間の蓄積を解消できる。
また、第1の実施形態のネットワーク装置10は、振り分け回路1033とRS1031との間の別々の経路に、LPI制御部1035及びMAC1032を備えることによって、LPI中でも制御メッセージを受信することが可能となり、前述の遅延時間を削減することができる。
(第2の実施形態)
本発明を実現するための第2の実施形態を、図10に示す。
図10は、本発明の第2の実施形態のネットワーク装置50のハードウェア構成を示すブロック図である。
第2の実施形態のネットワーク装置50は、複数の検索エンジン501(検索エンジン501−1〜501−3)と、複数のNIC502(NIC502−1〜502−3)と、複数のネットワーク回線504(ネットワーク回線504−1〜504−6)と、1つのエンジン制御部503を備える。第2の実施形態におけるすべての検索エンジン501は、すべてのNIC502と各々接続される。また、エンジン制御部503は、すべての検索エンジン501及びすべてのNIC502と相互に接続される。エンジン制御部503は、CPUを備え、検索エンジン501及びNIC502を制御する。
第2の実施形態のネットワーク装置50は、NIC502から入力されたパケットを一つの検索エンジン501のみによって検索し、宛先を検索されたパケットをNIC502から送信する。このため、第1の実施形態のネットワーク装置10と比較して、検索エンジン501が一つであるため、検索エンジン501において消費される電力を削減することができる。
図11は、本発明の第2の実施形態の検索エンジン501の構成を示すブロック図である。
検索エンジン501は、パケットバッファ5011と検索部5012と連想メモリ5013と宛先情報テーブル5014と電源制御部5015とを備える。パケットバッファ5011と検索部5012と連想メモリ5013と宛先情報テーブル5014との機能は、第1の実施形態のパケットバッファ1021と検索部1022と連想メモリ1023と宛先情報テーブル1024と各々同じである。
検索エンジン501は、NIC502から送られるパケットを検索部5012に一時的に格納し、受信したパケットに含まれるヘッダ領域と、一時的に格納されたパケットバッファ5011のアドレス情報とを、検索部5012に送信する。検索部5012は、パケットに含まれるヘッダ領域に基づいてアドレスを抽出し、そのアドレスをキーとして連想メモリ5013を検索する。さらに、連想メモリ5013の検索結果に基づいて、宛先情報テーブル5014を検索することによって、パケットの転送先の情報を取得する。
取得されるパケットの転送先の情報は、パケットがいずれのNIC502のいずれのポートから送信されるべきかという装置内の出力先の情報と、パケットが送信される先を示す簡易経路情報とからなる。さらに検索部5012は、受信されたパケットの宛先に関する統計情報を取得することによって、トラフィック流量、すなわちパケットが送受信される量の統計情報を取得する。検索部5012は、このトラフィック流量を含む統計情報を監視することによって、トラフィックが増加している経路を取得する。
さらに検索エンジン501は、エンジン制御部503からの制御信号を受信することによって、高速な停止及び復帰と、動作周波数の変更とが可能である。電源制御部5015は、検索エンジン501の停止、復帰、及び検索エンジン501の動作周波数の変更を制御する。電源制御部5015は、パケットバッファ5011を監視し、パケットバッファ5011に格納されているパケットがなくなった際、エンジン制御部503から送信された制御信号に基づいて、検索エンジン501の電源を操作する。
図12は、本発明の第2の実施形態のNIC502の構成を示すブロック図である。
NIC502は、RX側ポート5021、TX側ポート5022、RX側MAC5023、TX側MAC5024、WAKE UP受信部5025、WAKE UP送信部5026、パケットバッファ5027(5027−1、5027−2)、及び、振り分け回路5028を備える。
RX側ポートは、受信用のポートであり、TX側ポートは、送信用のポートである。RX側MACは受信側のMACであり、TX側MAC5024は、送信側のMACである。RX側MAC及びTX側MAC5024は、信号への符号化等を行う。WAKE UP受信部5025は、トラフィック量の通知、または、ネットワーク装置50の処理能力を指定をする制御メッセージを他のネットワーク装置50から受信し、WAKE UP送信部5026は、トラフィック量の通知、または、処理能力の指定をする制御メッセージを他のネットワーク装置50へ送信する。パケットバッファ5027−1及びパケットバッファ5027−2は、パケットを一時的に格納するためのバッファである。NIC502は、受信したパケットを検索エンジン501のうちいずれかに転送する。
図12に示すネットワーク回線504−1を介して送信されたパケットはRX側ポートによって受信され、その内容によって、トラフィックと制御メッセージとに分けられる。パケットがトラフィックである場合、パケットは、RX側MACに送信され、パケットとして抽出される。抽出されたパケットは、パケットバッファ5027−1に送信され、パケットバッファ5027−1において一時的に格納され、順番に振り分け回路5028から、いずれかの検索エンジン501に送信される。
一方、RX側ポートによって受信された制御メッセージは、WAKE UP受信部5025に送られる。WAKE UP受信部5025は、制御メッセージの内容を解析し、ネットワーク装置50の現在の状態と比較して変更が必要な場合、エンジン制御部503に制御メッセージを転送する。さらに、エンジン制御部503へ制御メッセージを転送する必要がある場合、WAKE UP受信部5025は、制御メッセージ内の簡易経路情報に基づいて、制御メッセージを出力すべきポートを備えるNIC502に、制御メッセージを転送するため、パケットを転送先の情報とともに振り分け回路5028に送る。
なお、ここで第2の実施形態における制御メッセージとは、これからネットワーク装置50に受信されるであろうトラフィックの量、または、ネットワーク装置50に要求される処理能力を通知するためのメッセージである。制御メッセージに、これからネットワーク装置50に受信されるであろうトラフィックの量を通知することによって、対向側のネットワーク装置50が、必要な処理性能を算出してもよい。制御メッセージは、他のネットワーク装置50から送信される。
WAKE UP受信部5025が制御メッセージをエンジン制御部503に転送するか否かを選択する方法は、いくつか存在する。一つ目の方法は、検索エンジン501の稼働率が100%ではない場合、常にエンジン制御部503に制御メッセージを転送する方法である。別の方法は、WAKE UP受信部5025には現在の検索エンジン501の稼動状況が記録されており、制御メッセージが要求している処理能力を下回る場合、エンジン制御部503に制御メッセージを転送する方法である。
さらに別の方法は、WAKE UP受信部5025が、検索エンジン501の稼働率だけではなく、現在の検索エンジン501の処理能力にどれだけの余裕があるか否かを示すパラメータを保持し、新たなパケットの増加を受け入れる余裕があるか否かを判定することによって、制御メッセージをエンジン制御部503に転送するか否かを選択する方法である。WAKE UP受信部5025は、エンジン制御部503に制御メッセージを送信することによって、検索エンジン501の稼動状況を制御する。
なお、ここで稼動状況とは、検索エンジン501がパケットをどの程度の速度で処理しているか(すなわち、動作速度又は動作周波数)、また、複数の検索エンジン501のうちいくつが稼動しているかといった状況を示す情報である。ネットワーク装置50の処理能力は、稼動状況がどの程度であるかに依存する。
これらの稼動状況に関するデータを取得する方法には、エンジン制御部503から取得する方法と、入力側のパケットバッファ5027−1におけるパケットの蓄積率を参考にする方法とがある。さらに、WAKE UP受信部5025は、制御メッセージにおける転送先を検索するための簡易経路テーブルを保持する。制御メッセージを受信した際、この簡易経路テーブルを検索することによって、WAKE UP受信部5025は、適切な振り分け回路5028と振り分け回路5028に接続される転送先のポートとの情報を取得する。WAKE UP受信部5025によって保持される簡易経路テーブルは、エンジン制御部503によって更新される。
振り分け回路5028は、すべての検索エンジン501と接続されており、検索エンジン501の稼動状況の情報を保持する。振り分け回路5028は、パケットバッファ5027−1を介してRX側MACからトラフィックを受信すると、ハッシュ関数に基づいてパケットに含まれるヘッダ領域からハッシュ値を作成する方法などによって、転送先の検索エンジン501を選択する。
振り分け回路5028は、検索エンジン501の稼動状況に基づいて振り分けの重み付けをすることによって、転送先、すなわち検索エンジン501へパケットを振り分ける。さらに、振り分け回路5028は、すべての振り分け回路5028同士によって接続されており、入力側のWAKE UP受信部5025から送られた制御メッセージを、他の振り分け回路5028に転送する。さらに、振り分け回路5028は、エンジン制御部503と接続され、エンジン制御部503から検索エンジン501の稼動状況を変更させる通知を受信する。
振り分け回路5028が、検索エンジン501からトラフィックを受信した場合、そのトラフィックに含まれるパケットは、出力側のパケットバッファ5027−2に格納される。また、受信したトラフィックに含まれるパケットは、TX側MAC5024において符号化などの処理がされた後、TX側ポートを介してネットワーク回線504に送信される。
また、検索エンジン501、又は、他の振り分け回路5028から送られた制御メッセージは、WAKE UP送信部5026に送られる。WAKE UP送信部5026は、受信した制御メッセージに適切なヘッダ領域を付加し、適切な出力先ポート、すなわち宛先を指定し、TX側ポートに送信する。このヘッダ領域を付加するための簡易経路テーブルは入力側のWAKE UP受信部5025が保持していた簡易経路テーブルと同じであり、エンジン制御部503によって更新される。ヘッダに付加されるアドレスは、第2の実施形態のネットワーク装置50の機能と同じ機能を備え、かつ、簡易経路上にあって最も近い位置にあるネットワーク装置50を示すアドレスである。
TX側MAC5024は、パケットバッファ5027−2からトラフィックを受信し、符号化などの処理を行い、TX側ポートに送る。TX側ポートは、TX側MAC5024からトラフィックを受信し、WAKE UP送信部5026からの制御メッセージを受信すると、これらのトラフィック及び制御メッセージをネットワーク回線504−2を介して簡易経路上のネットワーク装置50に送信する。
エンジン制御部503は、すべての検索部5012、振り分け回路5028、WAKE UP受信部5025、及び、WAKE UP送信部5026と接続される。エンジン制御部503は、検索エンジン501の稼動状況と、振り分け回路5028からのトラフィック量の情報を統括して監視しており、これらの情報に基づいて検索エンジン501の稼動状況を制御する。さらに、他のネットワーク装置50によって送られた、制御メッセージを解析し、解析された結果に基づいて検索エンジン501を制御する。
エンジン制御部503は、制御メッセージを受信し、検索エンジン501を制御する場合、稼動中であり、かつ稼働率が変化しない検索エンジン501に、トラフィックの増加が予測される経路に制御メッセージを送信するよう指示する。また、稼動中であり、かつ、稼働率が変化しない検索エンジン501がない場合、エンジン制御部503は、稼働率が変化した検索エンジン501のうち一つに、トラフィックの増加が予測される経路に制御メッセージを送信するよう指示する。
トラフィックの増加が予測される経路とは、これからトラフィックが送信されることによって、トラフィックが増加することが予測される複数のネットワーク装置50である。トラフィックが増加することが予測されるネットワーク装置50に、制御メッセージを送信することによって、第2の実施形態のネットワーク装置50は、トラフィックが増加することが予測されるネットワーク装置50に、トラフィックが到着前にあらかじめ、稼動状況を上げさせることができる。
検索エンジン501は、検索エンジン501自身が保持するトラフィックの統計情報に基づいて、送信されるトラフィックを処理するためにネットワーク装置50に要求される処理性能と、トラフィックが増加する宛先の経路を示す簡易宛先とを制御メッセージに付加する。そして、この簡易宛先を付加された制御メッセージをNIC502に送信する。
検索部5012が宛先を検索した際に宛先が不明だった場合、検索部5012によって宛先解決が行われる。宛先解決では、検索エンジン501から宛先解決用のパケットが送信される。宛先解決用のパケットには、宛先を解決したいアドレスと宛先解決を要求しているネットワーク装置50のアドレスとが含まれる。
この宛先解決用のパケットは、ネットワーク中をブロードキャストされる。そして、宛先を解決するべきアドレスの情報を保持するネットワーク装置50が、ブロードキャストされた宛先解決用のパケットを受信すると、自らの下位のレイヤのアドレスを含んだパケットを宛先解決用のパケットの送信元に返信する。
また、宛先解決対象のネットワーク装置50が第2の実施形態の機能を備えるネットワーク装置50であった場合、自らの下位のレイヤのアドレスを含んだパケットを返信する前に、簡易経路を構築するためのパケットを、宛先解決用のパケットの送信元に返信する。この簡易経路を構築するためのパケットが送られる先は、宛先解決の要求元であり、ブロードキャストに対する返信のためのパケットと同じ経路によって送信される。さらに、簡易経路を構築するためのパケットには、新たな簡易経路が含まれる。
なお、宛先解決対象のネットワーク装置50が第2の実施形態の機能を備えるネットワーク装置50でない場合、第2の実施形態の機能を備えるネットワーク装置50のうち、最初に返信パケットを中継するネットワーク装置50が、代理で返信用のパケットを作成する。
さらに、このパケットを受信した途中の経路上のネットワーク装置50のうち、第2の実施形態の機能を備えるネットワーク装置50は、エンジン制御部503に本パケットを送信することによって、パケット内に含まれる返信元のアドレスと最後に記載されたアドレスと簡易経路の情報とを取得する。そして、自らのアドレスを追記した後、受信したパケットを転送する。その後エンジン制御部503は、取得された情報に基づいて、検索部5012によって検索される検索テーブル及び各NIC502に備わるWAKE UP受信部5025とWAKE UP送信部5026とが保持する簡易経路に関する情報を更新する。
ネットワーク装置50は、簡易経路のうち宛先解決用のパケットが到達しない宛先に関して、ルーティングプロトコルと連動することによって、簡易経路を構築し、また、簡易経路を更新する。
この場合、第2の実施形態の機能によって連携するネットワーク装置50のうち、簡易経路の管理を取り仕切るマスターノードを選出し、該当のマスターノードが他のネットワーク装置50に簡易経路情報を通知することによって簡易経路を構築し、また、簡易経路を更新する。
なお、図12に示す第2の実施形態のNIC502は、各々の要素を、パケットの受信側と送信側とを分割したが、受信側及び送信側を一つの要素としてもよい。すなわち、第1の実施形態のNIC103と同様に実装してもよい。
また、第1の実施形態のネットワーク装置10に、第2の実施形態の要素を追加することによって、第1の実施形態と第2の実施形態とをともに実装可能である。
図13は、本発明の第2の実施形態の稼動状況を変更する手順との対比例を示すシーケンス図である。
図13は、本発明の第2の実施形態を用いないネットワーク装置50において、ネットワーク装置50(ネットワーク装置50−1及びネットワーク装置50−2)の稼動状況を変更する手順を示す。
ネットワーク装置50−1におけるNIC502がトラフィックの増加と必要な処理能力とを通知するパケットを受信し(S17001)、トラフィックが増加し、かつネットワーク装置50−1の処理能力が下回ると判定された場合、NIC502は、稼動状況を変更する旨をエンジン制御部503に通知する(S17002)。そして、エンジン制御部503は、検索エンジン501に動作速度を変更させる(S17003)。その後エンジン制御部503は、NIC502に動作速度の変更が終了した旨を通知する(S17004)。NIC502は、パケットが次に送られるであろうネットワーク装置50−2に、トラフィックが増加することを通知するパケットを送信する(S17005)。
ネットワーク装置50−2は、ネットワーク装置50−1における稼動状況を変更する手順と同じ手順によって、ネットワーク装置50−2の稼動状況を変更させる。
図14は、本発明の第2の実施形態の稼動状況を変更する手順を示すシーケンス図である。
図14は、本発明の第2の実施形態を用いたネットワーク装置50において、ネットワーク装置50(ネットワーク装置50−3及びネットワーク装置50−4)の稼動状況を変更する手順を示す。
ネットワーク装置50−3におけるNIC502がトラフィックの増加と必要な処理能力とを通知するパケットを受信し(S18001)、トラフィックが増加し、かつネットワーク装置50−3の処理能力が下回ると判定された場合、NIC502は、稼動状況を変更する旨をエンジン制御部503に通知する(S18002)。そして、エンジン制御部503は、検索エンジン501に動作速度を変更させ(S18003)、検索エンジン501にトラフィックの増加と必要な処理能力とを通知するパケットを送信させる(S18004)。その後エンジン制御部503は、NIC502に動作速度の変更が終了した旨を通知する(S18005)。NIC502は、パケットが次に送られるであろうネットワーク装置50−4に、トラフィックが増加することを通知するパケットを送信する(S18006)。
ネットワーク装置50−4のエンジン制御部503は、S18004においてネットワーク装置50−3から送信されたトラフィックの増加と必要な処理能力とを通知するパケットを受信すると、ネットワーク装置50−3におけるS18003〜S18006の手順と同じ手順によって、ネットワーク装置50−4の稼動状況を変更させる。
図13に示すネットワーク装置50は、稼動状況を変更するまで、パケットの次の転送先であるネットワーク装置50にトラフィックが増加する旨を通知しない。一方、図14に示すネットワーク装置50は、自らの稼動状況を変更する際に、パケットの次の転送先であるネットワーク装置50にトラフィックが増加する旨を通知する。このため、図14に示すネットワーク装置50は、パケットの次の転送先であるネットワーク装置50において稼動状況を変更するための時間分、トラフィックが遅延することがない。
第2の実施形態のネットワーク装置50を用いることによって、性能を制限した省電力状態で動作しているネットワーク装置50が、そのときの処理能力を超えるトラフィックを受信した際に、そのトラフィックが転送されることが予測される次のネットワーク装置50に、トラフィックの実際の送信よりも先行して簡易経路情報によって転送される制御メッセージを送信する。そして、これによって、これら他のネットワーク装置50が、先行して性能を制御することが可能になる。これにより、性能が変更されるまでの間に生じるパケットの遅延及び損失を低減することができる。
また、第2の実施形態のネットワーク装置50は、振り分け回路5028とRX側ポート5021との間の別々の経路に、WAKE UP受信部5025とRX側MAC5023とを備え、振り分け回路5028とTX側ポート5022との間の別々の経路に、WAKE UP送信部5026とTX側MAC5024とを備えることによって、検索エンジン501が稼動中でも、一時停止することなく、検索エンジンの稼動状況を変化させることができる。
(第3の実施形態)
図15は、本発明の第3の実施形態のハードウェアの構成を示すブロック図である。
第3の実施形態のネットワークは、性能制御可能ネットワーク装置90(ネットワーク装置90−1〜90−3)と、稼動状況の変更ができない従来のネットワーク装置80(従来のネットワーク装置80−1〜80−5)とが設置される。処理能力などの性能を変更することが可能なネットワーク装置90は、ネットワーク回線、回線を収容する物理層、符号化などを行う装置内チップ、及び検索エンジンなどのネットワーク装置の一部または全部の稼動状況を変更することが可能である。第3の実施形態のネットワークは、ネットワーク装置90によって稼動状況を変更されることが可能である。
図16は、本発明の第3の実施形態のネットワーク装置90のハードウェアの構成を示すブロック図である。
第3の実施形態のネットワーク装置90は、一つのスイッチ901と、複数の検索エンジン902(検索エンジン902−1〜902−4)と、複数のNIC903(NIC903−1〜903−8)と、一つのNIC間接続回線905とを備え、複数のネットワーク回線904(ネットワーク回線904−1〜904−8)に接続される。また、ネットワーク装置90は、一つ以上のCPU906を備える。スイッチ901は、すべての検索エンジン902を相互に接続するほか、CPU906と接続される。ネットワーク装置90は、スイッチ901を介して検索エンジン902間のトラフィックの送受信と、検索エンジン902及びCPU906の通信とを行う。NIC間接続回線905は、複数のNIC903を相互に接続する。
第3の実施形態のネットワーク装置90は、NIC903がネットワーク装置90内の所定の検索エンジン902に接続される点において、第1の実施形態のネットワーク装置10と同じである。また、所定の検索エンジン902は、複数の所定のNIC502すべてに接続される点において、第2の実施形態のネットワーク装置50と同じである。また、第3の実施形態のCPU906は、第2の実施形態のエンジン制御部503と同じ機能を持つ。
すなわち、第3の実施形態のネットワーク装置90は、第1の実施形態のネットワーク装置10及び第2の実施形態のネットワーク装置50と同じ機能を持つ。
図17は、本発明の第3の実施形態の検索エンジン902の構成を示すブロック図である。
検索エンジン902は、一つ以上のパケットバッファ9021と、検索部9022(検索部9022−1、検索部9022−2)と、連想メモリ9023と、宛先情報テーブル9024と、電源制御部9025とを備える。また902は、電源制御部9025によって、CPU906からの制御信号に従い、検索エンジン902の一部または全部の停止、起動及び動作周波数の変更が可能である。第3の実施形態のパケットバッファ9021、検索部9022、連想メモリ9023、及び、宛先情報テーブル9024の機能は、第1の実施形態のパケットバッファ1021、検索部1022、連想メモリ1023、及び、宛先情報テーブル1024の機能と同じである。また、第3の実施形態の電源制御部9025の機能は、第2の実施形態の電源制御部5015の機能と同じである。
検索エンジン902は、パケットバッファ9021に受信したパケットを格納した後、あらかじめ定められたポリシーに基づいて、ヘッダ領域を送信する検索部9022を選択する。検索部9022は、送信されたヘッダ領域が示す宛先を、連想メモリ9023及び宛先情報テーブル9024を用いて検索する。
図18は、本発明の第3の実施形態のNIC903の構成を示すブロック図である。
NIC903は、RS9031、MAC9032、振り分け回路9033、バッファ9034、及び、制御メッセージ処理部9035を備える。第3の実施形態のRS9031、MAC9032、振り分け回路9033、及び、バッファ9034の機能は、第1の実施形態のRS1031、MAC1032、振り分け回路1033、バッファ1034の機能と同じである。
各NIC903は、ネットワークポートを介して1本以上のネットワーク回線904に接続される。ネットワーク回線904を介して送信された信号は、RS9031によってトラフィックと制御メッセージとに分離される。分離後のトラフィックは、MAC9032に、制御メッセージは、制御メッセージ処理部9035に送信される。
なお、第3の実施形態における制御メッセージは、第1の実施形態におけるLPIに関する制御メッセージ、又は、第2の実施形態における制御メッセージの少なくとも一つを含む。
MAC9032は、トラフィックに含まれるパケットの符号化などの処理を行い、処理をしたパケットを振り分け回路9033を介して検索エンジン902に送る。振り分け回路9033は、CPU906からあらかじめ送られている稼動状況に関する情報と、ハッシュ関数などとを用いて、パケットの送信先を複数の検索エンジン902の中から選択し、選択された検索エンジン902にパケットを送信する。
制御メッセージ処理部9035は、受信した制御メッセージの内容を解析し、RS9031、MAC9032、CPU906に解析された内容を通知することによって、制御メッセージそのものを中継及び作成する。制御メッセージには、自ネットワーク装置90宛のアドレスが含まれるパケット、制御メッセージであることを示す特定のアドレスが含まれるパケット、または、オートネゴシエーションにおいて使用されるメッセージが用いられる。これらの制御メッセージには、制御メッセージの送信先と制御対象とに従って、用いられるパケット又はメッセージを変更することができる。
例えば、オートネゴシエーションにおいて使用されるメッセージが制御メッセージとして使用される場合、隣接するネットワーク装置90は、これらメッセージに対応する必要がある。しかし、この場合には、MACチップ(MAC9032を実装するハードウェア)における処理が不要であり、NIC903間での転送が可能であり、高速であり、データの転送が停止されているLPI中においても転送が可能であるという利点が存在する。
そのため、図15のネットワーク装置90−2とネットワーク装置90−3との間では、オートネゴシエーションのメッセージを使用した制御メッセージの送受信が適切である。
一方で、本発明の実施形態の制御メッセージに対応していない従来のネットワーク装置80を介して制御メッセージを送信する場合、これらの従来のネットワーク装置80が中継可能な通信フォーマットにするため、ネットワーク装置90は、制御メッセージをカプセル化し、カプセル化された制御メッセージを送信する。
例えば、図15においてネットワーク装置90−1からネットワーク装置90−2に制御メッセージを送信する場合、カプセル化された制御メッセージを従来のネットワーク装置80−1、従来のネットワーク装置80−3又は従来のネットワーク装置80−4を介して送信する。
なおここでカプセル化とは、隣接するネットワーク装置90又は従来のネットワーク装置80によって受信することが可能な通信フォーマットのうち、例えばデータを格納する領域に、本実施形態の制御メッセージを格納するなどの手段である。
制御メッセージをカプセル化するための情報、すなわち、どのような通信フォーマットの送受信に対応しているかを示す情報は、ポート間、すなわちネットワーク装置90及び従来のネットワーク装置80間で、事前にパケットを交換することによって取得される。ネットワーク上で隣接するネットワーク装置90又は従来のネットワーク装置80がどのような通信フォーマットの送受信に対応しているかを示す情報は、制御メッセージ処理部9035において保持される。
制御メッセージ処理部9035は、自らに保持される情報と制御メッセージの対象とに基づいて、制御メッセージが含まれるパケットを適切にカプセル化し、また、適切に宛先を設定した後、それらの処理をしたパケットを隣接するネットワーク装置90又は従来のネットワーク装置80に送信する。
従来のネットワーク装置80は、カプセル化されたパケットを受信すると、受信したカプセル化されたパケットをそのままネットワーク装置90に中継する。
そしてネットワーク装置90は、カプセル化されたパケットを受信すると、隣接する従来のネットワーク装置80がどのような通信フォーマットの送受信に対応しているかを示す情報に基づいて、送信されたパケットに含まれる制御メッセージを取得する。
制御メッセージ処理部9035は、物理層及びMACを制御する制御メッセージを受信した場合、必要であればネットワーク装置90を制御するために制御メッセージの内容を検索エンジン902に通知する。そして、検索エンジン902は、制御メッセージに含まれる簡易経路情報に基づいて制御メッセージの転送先を検索する。転送先が自らの配下のポートの場合、そのポートより制御メッセージの転送を行い、転送先が他のNIC903の場合には該当のNIC903に制御メッセージを転送する。制御メッセージ処理部9035が受け取った制御メッセージが検索エンジン902に関するものであった場合には、制御メッセージ処理部9035はその制御メッセージをCPU906に転送する。
さらに制御メッセージ処理部9035は、振り分け回路9033から送られるトラフィックの情報に基づいて、個別のポートの省電力モードへの移行の判断と制御の通知、及び、該ポートと接続されている対向側のネットワーク装置90に送信するための制御メッセージを作成する。
本実施形態のネットワーク装置90のCPU906は、宛先不明パケットの宛先処理、各種ルーティングプロトコルの処理、検索エンジン902の稼動状況の管理、検索エンジン902及び制御メッセージ処理部9035が保持する簡易経路情報に関する各種テーブルの管理、検索エンジン902の稼動状況を変更するための制御メッセージを作成し、作成した制御メッセージをNIC903へ転送する。
前述のネットワーク装置90を用いることによって、ネットワーク回線904、回線を備える物理層、符号化などを行うネットワーク装置90内のMACチップ、検索エンジン902といったネットワーク装置の一部または全部の稼動状況を変更することが可能なネットワーク装置90と、稼動状況の変更ができない従来のネットワーク装置80が混在するネットワークにおいても、稼動状況の変更が可能な装置の間での制御メッセージの送受信が可能となる。これによって、従来のネットワーク装置80によって構築されたネットワークに、本発明の実施形態のネットワーク装置90を導入した場合においても、制御メッセージの転送による制御に要する時間の短縮が可能である。
本発明の実施形態のネットワーク装置は、通信ネットワーク上にあってトラフィックを送受信する機能を備えており、本ネットワーク装置の機能の全部または一部が限定されることによって消費電力が変化する機能を有する。このような機能を制御するために、本発明の実施形態のネットワーク装置は、通信ネットワーク上の他のネットワーク装置との間で制御に関わる通信を行い、制御に関する情報を通信ネットワーク上にて直接接続されていないネットワーク装置に対しても送信及び中継することができる。
本発明のネットワーク装置は、ネットワーク装置内の一部の稼動状況を制限することによって消費電力を減少することを目的としたネットワーク装置によって構築されたネットワークにおいて、該ネットワーク装置の稼動状況を変更する際に生じる遅延時間を低減することができる。