(57)【特許請求の範囲】
【請求項１】
ノードからパケットを受信し、前記受信パケットのヘッダに基づいたノードに前記受信パケットを転送する仮想スイッチ手段と、
前記仮想スイッチ手段から自己宛にパケットが転送されてきた場合に、前記パケットを受信し、前記受信パケットのヘッダを書き換える、また、ネットワークプロトコルに従った処理を実行するネットワーク制御手段と、
仮想的に構築されたネットワークの情報を記憶する記憶手段と、を備え、
前記ネットワーク制御手段は、
前記記憶手段に記憶されたネットワークの情報を基に前記受信パケットのヘッダを書き換えることにより、前記仮想的に構築されたネットワーク上で、前記受信パケットを模擬的に通過させるエミュレーション手段と、
前記受信パケットに自装置が属するシステム独自のヘッダが付与されている場合、前記独自のヘッダを削除し、前記受信パケットに前記独自のヘッダが付与されていない場合、前記独自のヘッダを付与するオーバーレイ処理手段と、
前記受信パケットがノードに対するアドレス要求パケットである場合に、前記記憶手段に記憶されたネットワークの情報を基に、前記アドレス要求パケットを送信したノードにアドレス応答パケットを返送するアドレス解決手段と、を備える、
ことを特徴とするサーバ装置。
【請求項２】
前記エミュレーション手段は、前記記憶手段に記憶されたネットワークの情報を基に、前記受信パケットが仮想的に構築されたネットワーク上に配置されているノードを通過するか否かを判別し、通過すると判別した場合、該ネットワークノードに相当する処理を前記受信パケットに適用する、
ことを特徴とする請求項１に記載のサーバ装置。
【請求項３】
前記オーバーレイ処理手段は、前記受信パケットに前記独自のヘッダを付与する場合、前記記憶手段に記憶されたネットワークの情報を基に、前記受信パケットに、送信先ＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレスが送信先サーバ装置のＭＡＣアドレスであり、送信元ＭＡＣアドレスが送信先ノードと隣接するパケットを転送する装置を一意に識別する識別子を示すＭＡＣアドレスであるＥｔｈｅｒｎｅｔ（登録商標）ヘッダを付与する、
ことを特徴とする請求項１又は２に記載のサーバ装置。
【請求項４】
前記アドレス解決手段は、前記アドレス要求パケットと前記記憶手段に記憶されたネットワークの情報を基に、アドレス要求先のノードを判別し、アドレス要求先のノードのＭＡＣアドレスを含めたアドレス応答パケットをアドレス要求元のノードに返送する、
ことを特徴とする請求項１乃至３のいずれか１項に記載のサーバ装置。
【請求項５】
任意のコンピュータの動作を模倣することで仮想的な機器の動作を実現する複数の仮想機器をさらに備え、
前記仮想機器は、パケットを送信する場合、送信先ＭＡＣアドレスが前記仮想的に構築されたネットワーク上で隣接するノードのうち前記ネットワークの情報に含まれるノードのＭＡＣアドレスであるＥｔｈｅｒｎｅｔ（登録商標）ヘッダを付与したパケットを送信する、
ことを特徴とする請求項１乃至４のいずれか１項に記載のサーバ装置。
【請求項６】
前記記憶手段は、自サーバ装置が有する前記複数の仮想機器の情報をさらに記憶し、
前記ネットワーク制御手段は、前記記憶手段に記憶された前記ネットワークの情報を基に、前記受信パケットの送信元又は送信先ノードのホスト名を取得し、前記取得した送信先ノードのホスト名が前記記憶手段に記憶されていたか否か判別し、前記送信先ノードのホスト名が記憶されていた場合、前記受信パケットが、自サーバ装置が有する前記仮想機器宛のパケットであると判別し、前記送信先ノードのホスト名が記憶されていない場合、前記受信パケットが、他の前記サーバ装置が有する前記仮想機器宛のパケットであると判別する、
ことを特徴とする請求項５に記載のサーバ装置。
【請求項７】
パケットを送受信する複数のサーバ装置と、パケットを転送する複数の伝送スイッチ装置と、前記複数の伝送スイッチ装置を制御する伝送ネットワーク制御装置と、を備えるパケット伝送システムであって、
前記サーバ装置と前記伝送スイッチ装置及び前記伝送ネットワーク制御装置は、それぞれネットワークを介して相互に接続され、
前記伝送ネットワーク制御装置は、
パケットのヘッダ情報と転送先ノードの情報とを関連付けた伝送ルールを生成する伝送ルール生成手段と、
前記伝送ルール生成手段で生成された伝送ルールを前記複数の伝送スイッチ装置に送信する伝送ルール送信手段と、を備え、
前記伝送スイッチ装置は、それぞれ、
前記伝送ネットワーク制御装置が送信した前記伝送ルールを受信し、受信した伝送ルールを記憶する伝送ルール記憶手段と、
ノードからパケットを受信し、前記伝送ルール記憶手段に記憶された前記伝送ルールと前記受信パケットのヘッダ情報とに基づいて転送先ノードを求め、求めた転送先ノードに前記受信パケットを転送するパケット転送手段と、を備え、
前記サーバ装置は、それぞれ、
仮想的に構築されたネットワークの情報を記憶する記憶手段と、
ノードからパケットを受信し、前記受信パケットのヘッダに基づいたノードに前記受信パケットを転送する仮想スイッチ手段と、
前記仮想スイッチ手段から自己宛にパケットが転送されてきた場合に、前記パケットを受信し、記憶されている前記ネットワークの情報を基に前記受信パケットのヘッダを書き換える、また、ネットワークプロトコルに従った処理を実行するネットワーク制御手段と、を備える、
ことを特徴とするパケット伝送システム。
【請求項８】
前記ネットワーク制御手段は、
前記記憶手段に記憶されたネットワークの情報を基に、前記仮想的に構築されたネットワーク上で、前記受信パケットを模擬的に通過させるエミュレーション手段と、
前記受信パケットに自装置が属するシステム独自のヘッダが付与されている場合、前記独自のヘッダを削除し、前記受信パケットに前記独自のヘッダが付与されていない場合、前記独自のヘッダを付与するオーバーレイ処理手段と、
前記受信パケットがノードに対するアドレス要求パケットである場合に、前記記憶手段に記憶されたネットワークの情報を基に、前記アドレス要求パケットを送信したノードにアドレス応答パケットを返送するアドレス解決手段と、を備える、
ことを特徴とする請求項７に記載のパケット伝送システム。
【請求項９】
前記伝送ルール生成手段は、送信先又は送信元ＭＡＣアドレスの情報と転送先のノードの情報とを関連付けた伝送ルールを生成し、
前記伝送ルール記憶手段は、前記伝送ルール生成手段が生成した前記伝送ルールを受信し、受信した前記伝送ルールを記憶し、
前記パケット転送手段は、ノードから受信したパケットの送信先又は送信元ＭＡＣアドレスと前記伝送ルール記憶手段に記憶された伝送ルールとを基に転送先ノードを求め、求めた転送先ノードに前記受信パケットを転送する、
ことを特徴とする請求項７又は８に記載のパケット伝送システム。
【請求項１０】
前記パケット伝送システムは、任意のデータを記憶する記憶装置をさらに備え、
前記記憶装置は、前記サーバ装置と前記伝送スイッチ装置及び前記伝送ネットワーク制御装置とそれぞれネットワークを介して相互に接続され、
前記伝送ネットワーク制御装置は、ユーザが仮想的に構築したネットワークの情報を前記記憶装置に記憶する仮想ネットワーク記憶手段をさらに備え、
前記記憶手段は、前記記憶装置から前記仮想的に構築されたネットワークの情報を取得し、取得したネットワークの情報を記憶する、
ことを特徴とする請求項８に記載のパケット伝送システム。
【請求項１１】
前記仮想ネットワーク記憶手段は、前記ユーザが仮想的に構築したネットワークの情報を日時と共に前記記憶装置に記憶し、
前記記憶手段は、前記ネットワークの情報を日時と共に記憶し、前記記憶装置から前記ネットワークの情報を取得する場合、前記記憶装置に記憶された前記ネットワークの情報の更新日時と既に記憶している前記ネットワークの情報の更新日時とを比較し、既に記憶している前記ネットワークの情報の更新日時の方が古い場合、前記記憶装置から前記ネットワークの情報を取得し、取得したネットワークの情報を記憶する、
ことを特徴とする請求項１０に記載のパケット伝送システム。
【請求項１２】
前記アドレス解決手段は、前記記憶手段に記憶されたネットワークの情報を基に、アドレス要求先のノードを判別できない場合、前記記憶装置を参照し、最新の前記ネットワークの情報を取得し、再度アドレス要求先のノードを判別する、
ことを特徴とする請求項１０又は１１に記載のパケット伝送システム
【請求項１３】
前記記憶装置は、分散データベースである、
ことを特徴とする請求項１０又は１１に記載のパケット伝送システム。
【請求項１４】
パケットを送受信する複数のサーバ装置と、パケットを転送する複数の伝送スイッチ装置と、を備えるパケット伝送システムであって、
前記サーバ装置と前記伝送スイッチ装置はそれぞれネットワークを介して相互に接続され、
前記サーバ装置は、パケットにヘッダが付与されていない場合に、送信先ＭＡＣアドレスが送信先サーバ装置のＭＡＣアドレスであり、送信元ＭＡＣアドレスが送信先ノードと隣接する伝送スイッチ装置を一意に識別する識別子を示すＭＡＣアドレスであるＥｔｈｅｒｎｅｔ（登録商標）ヘッダを付与してパケットを送信し、
前記伝送スイッチ装置は、前記サーバ装置または他の前記伝送スイッチ装置からパケットを受信し、前記受信パケットのＥｔｈｅｒｎｅｔ（登録商標）ヘッダの送信元及び送信先ＭＡＣアドレスと、予め記憶しているパケットのヘッダ情報と転送先ノードの情報とを関連付けた伝送ルールと、を基に転送先ノードを求め、求めた転送先ノードに前記受信パケットを転送する、
ことを特徴とするパケット伝送システム。
【請求項１５】
パケットを送受信する複数のサーバ装置と、パケットを転送する複数の伝送スイッチ装置と、前記複数の伝送スイッチ装置を制御する伝送ネットワーク制御装置と、を備え、前記サーバ装置と前記伝送スイッチ装置及び前記伝送ネットワーク制御装置がそれぞれネットワークを介して相互に接続されているシステムでパケットを伝送する方法であって、
前記伝送ネットワーク制御装置がパケットのヘッダ情報と転送先ノードの情報とを関連付けた伝送ルールを生成する伝送ルール生成ステップと、
前記伝送ネットワーク制御装置が前記伝送ルール生成ステップで生成された伝送ルールを前記複数の伝送スイッチ装置に送信する伝送ルール送信ステップと、
前記伝送スイッチ装置が前記伝送ルール送信ステップで送信された前記伝送ルールを受信し、受信した伝送ルールを記憶する伝送ルール記憶ステップと、
前記伝送スイッチ装置がノードからパケットを受信し、前記伝送ルール記憶ステップで記憶された前記伝送ルールと前記受信パケットのヘッダ情報とに基づいて転送先ノードを求め、求めた転送先ノードに前記受信パケットを転送するパケット転送ステップと、
前記サーバ装置がノードからパケットを受信し、前記受信パケットのヘッダに基づいたノードに前記受信パケットを転送する仮想スイッチステップと、
前記サーバ装置が前記仮想スイッチステップで自己宛にパケットが転送された場合に、前記パケットを受信し、記憶されているネットワークの情報を基に前記受信パケットのヘッダを書き換える、また、ネットワークプロトコルに従った処理を実行するネットワーク制御ステップと、を備える、
ことを特徴とするパケット伝送方法。
【請求項１６】
コンピュータを、
ノードからパケットを受信し、前記受信パケットのヘッダに基づいたノードに前記受信パケットを転送する仮想スイッチ手段、
前記仮想スイッチ手段から自己宛にパケットが転送されてきた場合に、前記パケットを受信し、前記受信パケットのヘッダを書き換える、また、ネットワークプロトコルに従った処理を実行するネットワーク制御手段、
仮想的に構築されたネットワークの情報を記憶する記憶手段、
前記記憶手段に記憶されたネットワークの情報を基に前記受信パケットのヘッダを書き換えることにより、前記仮想的に構築されたネットワーク上で、前記受信パケットを模擬的に通過させるエミュレーション手段、
前記受信パケットに自装置が属するシステム独自のヘッダが付与されている場合、前記独自のヘッダを削除し、前記受信パケットに前記独自のヘッダが付与されていない場合、前記独自のヘッダを付与するオーバーレイ処理手段、
前記受信パケットがノードに対するアドレス要求パケットである場合に、前記記憶手段に記憶されたネットワークの情報を基に、前記アドレス要求パケットを送信したノードにアドレス応答パケットを返送するアドレス解決手段、として機能させる、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバ装置、パケット伝送システム、パケット伝送方法及びプログラムに関する。
【背景技術】
【０００２】
インターネットサービスの利用形態として、クラウドコンピューティングがある。クラウドコンピューティングにおいて、システムの信頼性を向上するために、各サーバの負荷を分散する方法が検討されている。
【０００３】
高い信頼性を実現するシステムとして、特許文献１は、負荷分散装置を二重化することで信頼性を高めるシステムを開示している。また、特許文献２は、クライアントから要求を受けると、次回以降は異なるサーバにアクセスするようにクライアントに指示を出すことで負荷の分散を実現するシステムを開示している。
【０００４】
特許文献１と２が開示するシステムは、信頼性が高くなるものの、システムをスケールアウトする場合、システム構成が複雑となる問題点がある。
【０００５】
このような問題を解決するため、近年、ＯｐｅｎＦｌｏｗと呼ばれる技術が提案されている（非特許文献１参照）。ＯｐｅｎＦｌｏｗ技術を採用したシステムは、一般的に、図１４に示すような構成となる。
【０００６】
例えば、サーバ１３００１からサーバ１３００Ｎへパケットを送信する場合、パケットは、スイッチ装置１２００を介してサーバ１３００Ｎへ到達する。このとき、スイッチ装置１２００は、フローエントリと呼ばれる伝送ルールを参照して、パケットを転送する。なお、スイッチ装置１２００は、複数配置されていても良く、この構成の場合、パケットは、複数のスイッチ装置１２００を介してサーバ１３００Ｎへ到達しても良い。
【０００７】
フローエントリとは、ＭＡＣアドレス、ＩＰアドレス、ポート番号等の情報をキーにしたテーブルであり、パケットの経路制御を行うためのものである。通常、ルータ等のパケットを転送する機器は、送信先ＩＰアドレスを参照してパケットを転送するが、ＯｐｅｎＦｌｏｗでは、上述のように、複数のパラメータをフローとして定義し、スイッチ装置１２００はそのフロー単位でパケットの経路制御を行う。
【０００８】
スイッチ装置１２００には、制御装置１１００から送信された上述のフローエントリが記憶されている。フローエントリを参照してもパケットの転送先が不明である場合、またはロードバランサやファイアウォール等のネットワーク処理が必要な場合、スイッチ装置１２００は、制御装置１１００にパケットを転送し、その後の処理を一任する。すなわち、制御装置１１００は、ロードバランサやファイアウォール等の処理を実行することが可能である。
【０００９】
このように、ＯｐｅｎＦｌｏｗを採用したシステムは、スイッチ装置１２００がフロー単位でパケットの経路制御を行うため、システム内を分割する必要がない。よって、複数のシステムを同一基盤で動作させることが容易になり、さらに、ユーザが自由にネットワークを構成することができる。また、スイッチ装置１２００を１台の制御装置１１００で設定することができるため、スイッチ装置１２００を自由に増設することができ、機器設定の手間を緩和することができる。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００６−２３５８３７号公報
【特許文献２】特開２００７−２１９９６４号公報
【非特許文献】
【００１１】
【非特許文献１】Nick McKeown, Tom Anderson, Hari Balakrishnan, Guru Parulkar, Larry Peterson, Jennifer Rexford, Scott Shenker, Jonathan Turner "OpenFlow: Enabling Innovation in Campus Networks"
【発明の概要】
【発明が解決しようとする課題】
【００１２】
図１４に示すようなＯｐｅｎＦｌｏｗ技術を採用したシステムは、大規模な数のサーバを配置した場合を考えると、いくつかの問題点が挙げられる。
【００１３】
まず、１台の制御装置１１００がロードバランサやファイアウォール等のネットワーク処理を実行するため、このような処理の負荷は制御装置１１００に集中することになる。このため、制御装置１１００に障害が発生した際の影響が大きい。さらに、制御装置１１００の上述の処理が間に合わない場合がある。
【００１４】
さらに、上述のような制御装置１１００への転送が必要なパケットは、スイッチ装置１２００からネットワークを介して制御装置１１００に送信されるため、スイッチ装置１２００と制御装置１１００間の帯域が不足する可能性がある。
【００１５】
また、サーバの数の分だけＦｌｏｏｄ処理（ＡＲＰ等のブロードキャスト処理時に用いられることが多いＯｐｅｎＦｌｏｗ特有の処理）が増加し、帯域の不足や各装置の負荷が増大する、といった問題もある。さらに、サーバの数の分だけのフローエントリ数が必要となり、メモリ不足等の理由でスイッチ装置１２００がフローエントリを記憶できない問題が発生する。
【００１６】
本発明は、上記実情に鑑みてなされたものであり、大規模な数のサーバを配置した場合でも、高信頼性を実現することができるサーバ装置、パケット伝送システム、パケット伝送方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１７】
上記目的を達成するため、本発明の第１の観点に係るサーバ装置は、
ノードからパケットを受信し、前記受信パケットのヘッダに基づいたノードに前記受信パケットを転送する仮想スイッチ手段と、
前記仮想スイッチ手段から自己宛にパケットが転送されてきた場合に、前記パケットを受信し、前記受信パケットのヘッダを書き換える、また、ネットワークプロトコルに従った処理を実行するネットワーク制御手段と、
仮想的に構築されたネットワークの情報を記憶する記憶手段と、を備え、
前記ネットワーク制御手段は、
前記記憶手段に記憶されたネットワークの情報を基に前記受信パケットのヘッダを書き換えることにより、前記仮想的に構築されたネットワーク上で、前記受信パケットを模擬的に通過させるエミュレーション手段と、
前記受信パケットに自装置が属するシステム独自のヘッダが付与されている場合、前記独自のヘッダを削除し、前記受信パケットに前記独自のヘッダが付与されていない場合、前記独自のヘッダを付与するオーバーレイ処理手段と、
前記受信パケットがノードに対するアドレス要求パケットである場合に、前記記憶手段に記憶されたネットワークの情報を基に、前記アドレス要求パケットを送信したノードにアドレス応答パケットを返送するアドレス解決手段と、を備える、
ことを特徴とする。
【００１８】
また、前記エミュレーション手段は、前記記憶手段に記憶されたネットワークの情報を基に、前記受信パケットが仮想的に構築されたネットワーク上に配置されているノードを通過するか否かを判別し、通過すると判別した場合、該ネットワークノードに相当する処理を前記受信パケットに適用しても良い。
【００１９】
また、前記オーバーレイ処理手段は、前記受信パケットに前記独自のヘッダを付与する場合、前記記憶手段に記憶されたネットワークの情報を基に、前記受信パケットに、送信先ＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレスが送信先サーバ装置のＭＡＣアドレスであり、送信元ＭＡＣアドレスが送信先ノードと隣接するパケットを転送する装置を一意に識別する識別子を示すＭＡＣアドレスであるＥｔｈｅｒｎｅｔ（登録商標）ヘッダを付与しても良い。
【００２０】
また、前記アドレス解決手段は、前記アドレス要求パケットと前記記憶手段に記憶されたネットワークの情報を基に、アドレス要求先のノードを判別し、アドレス要求先のノードのＭＡＣアドレスを含めたアドレス応答パケットをアドレス要求元のノードに返送しても良い。
【００２２】
また、任意のコンピュータの動作を模倣することで仮想的な機器の動作を実現する複数の仮想機器をさらに備え、
前記仮想機器は、パケットを送信する場合、送信先ＭＡＣアドレスが前記仮想的に構築されたネットワーク上で隣接するノードのうち前記ネットワークの情報に含まれるノードのＭＡＣアドレスであるＥｔｈｅｒｎｅｔ（登録商標）ヘッダを付与したパケットを送信しても良い。
【００２３】
また、前記記憶手段は、自サーバ装置が有する前記複数の仮想機器の情報をさらに記憶し、
前記ネットワーク制御手段は、前記記憶手段に記憶された前記ネットワークの情報を基に、前記受信パケットの送信元又は送信先ノードのホスト名を取得し、前記取得した送信先ノードのホスト名が前記記憶手段に記憶されていたか否か判別し、前記送信先ノードのホスト名が記憶されていた場合、前記受信パケットが、自サーバ装置が有する前記仮想機器宛のパケットであると判別し、前記送信先ノードのホスト名が記憶されていない場合、前記受信パケットが、他の前記サーバ装置が有する前記仮想機器宛のパケットであると判別しても良い。
【００２４】
上記目的を達成するため、本発明の第２の観点に係るパケット伝送システムは、
パケットを送受信する複数のサーバ装置と、パケットを転送する複数の伝送スイッチ装置と、前記複数の伝送スイッチ装置を制御する伝送ネットワーク制御装置と、を備えるパケット伝送システムであって、
前記サーバ装置と前記伝送スイッチ装置及び前記伝送ネットワーク制御装置は、それぞれネットワークを介して相互に接続され、
前記伝送ネットワーク制御装置は、
パケットのヘッダ情報と転送先ノードの情報とを関連付けた伝送ルールを生成する伝送ルール生成手段と、
前記伝送ルール生成手段で生成された伝送ルールを前記複数の伝送スイッチ装置に送信する伝送ルール送信手段と、を備え、
前記伝送スイッチ装置は、それぞれ、
前記伝送ネットワーク制御装置が送信した前記伝送ルールを受信し、受信した伝送ルールを記憶する伝送ルール記憶手段と、
ノードからパケットを受信し、前記伝送ルール記憶手段に記憶された前記伝送ルールと前記受信パケットのヘッダ情報とに基づいて転送先ノードを求め、求めた転送先ノードに前記受信パケットを転送するパケット転送手段と、を備え、
前記サーバ装置は、それぞれ、
仮想的に構築されたネットワークの情報を記憶する記憶手段と、
ノードからパケットを受信し、前記受信パケットのヘッダに基づいたノードに前記受信パケットを転送する仮想スイッチ手段と、
前記仮想スイッチ手段から自己宛にパケットが転送されてきた場合に、前記パケットを受信し、記憶されている前記ネットワークの情報を基に前記受信パケットのヘッダを書き換える、また、ネットワークプロトコルに従った処理を実行するネットワーク制御手段と、を備える、
ことを特徴とする。
【００２５】
前記ネットワーク制御手段は、
前記記憶手段に記憶されたネットワークの情報を基に、前記仮想的に構築されたネットワーク上で、前記受信パケットを模擬的に通過させるエミュレーション手段と、
前記受信パケットに自装置が属するシステム独自のヘッダが付与されている場合、前記独自のヘッダを削除し、前記受信パケットに前記独自のヘッダが付与されていない場合、前記独自のヘッダを付与するオーバーレイ処理手段と、
前記受信パケットがノードに対するアドレス要求パケットである場合に、前記記憶手段に記憶されたネットワークの情報を基に、前記アドレス要求パケットを送信したノードにアドレス応答パケットを返送するアドレス解決手段と、を備えていても良い。
【００２６】
また、前記伝送ルール生成手段は、送信先又は送信元ＭＡＣアドレスの情報と転送先のノードの情報とを関連付けた伝送ルールを生成し、
前記伝送ルール記憶手段は、前記伝送ルール生成手段が生成した前記伝送ルールを受信し、受信した前記伝送ルールを記憶し、
前記パケット転送手段は、ノードから受信したパケットの送信先又は送信元ＭＡＣアドレスと前記伝送ルール記憶手段に記憶された伝送ルールとを基に転送先ノードを求め、求めた転送先ノードに前記受信パケットを転送しても良い。
【００２７】
また、前記パケット伝送システムは、任意のデータを記憶する記憶装置をさらに備え、
前記記憶装置は、前記サーバ装置と前記伝送スイッチ装置及び前記伝送ネットワーク制御装置とそれぞれネットワークを介して相互に接続され、
前記伝送ネットワーク制御装置は、ユーザが仮想的に構築したネットワークの情報を前記記憶装置に記憶する仮想ネットワーク記憶手段をさらに備え、
前記記憶手段は、前記記憶装置から前記仮想的に構築されたネットワークの情報を取得し、取得したネットワークの情報を記憶しても良い。
【００２８】
また、前記仮想ネットワーク記憶手段は、前記ユーザが仮想的に構築したネットワークの情報を日時と共に前記記憶装置に記憶し、
前記記憶手段は、前記ネットワークの情報を日時と共に記憶し、前記記憶装置から前記ネットワークの情報を取得する場合、前記記憶装置に記憶された前記ネットワークの情報の更新日時と既に記憶している前記ネットワークの情報の更新日時とを比較し、既に記憶している前記ネットワークの情報の更新日時の方が古い場合、前記記憶装置から前記ネットワークの情報を取得し、取得したネットワークの情報を記憶しても良い。
【００２９】
また、前記アドレス解決手段は、前記記憶手段に記憶されたネットワークの情報を基に、アドレス要求先のノードを判別できない場合、前記記憶装置を参照し、最新の前記ネットワークの情報を取得し、再度アドレス要求先のノードを判別しても良い。
【００３０】
また、前記記憶装置は、分散データベースであっても良い。
【００３１】
上記目的を達成するため、本発明の第３の観点に係るパケット伝送システムは、
パケットを送受信する複数のサーバ装置と、パケットを転送する複数の伝送スイッチ装置と、を備えるパケット伝送システムであって、
前記サーバ装置と前記伝送スイッチ装置はそれぞれネットワークを介して相互に接続され、
前記サーバ装置は、パケットにヘッダが付与されていない場合に、送信先ＭＡＣアドレスが送信先サーバ装置のＭＡＣアドレスであり、送信元ＭＡＣアドレスが送信先ノードと隣接する伝送スイッチ装置を一意に識別する識別子を示すＭＡＣアドレスであるＥｔｈｅｒｎｅｔ（登録商標）ヘッダを付与してパケットを送信し、
前記伝送スイッチ装置は、前記サーバ装置または他の前記伝送スイッチ装置からパケットを受信し、前記受信パケットのＥｔｈｅｒｎｅｔ（登録商標）ヘッダの送信元及び送信先ＭＡＣアドレスと、予め記憶しているパケットのヘッダ情報と転送先ノードの情報とを関連付けた伝送ルールと、を基に転送先ノードを求め、求めた転送先ノードに前記受信パケットを転送する、
ことを特徴とする。
【００３２】
上記目的を達成するため、本発明の第４の観点に係るパケット伝送方法は、
パケットを送受信する複数のサーバ装置と、パケットを転送する複数の伝送スイッチ装置と、前記複数の伝送スイッチ装置を制御する伝送ネットワーク制御装置と、を備え、前記サーバ装置と前記伝送スイッチ装置及び前記伝送ネットワーク制御装置がそれぞれネットワークを介して相互に接続されているシステムでパケットを伝送する方法であって、
前記伝送ネットワーク制御装置がパケットのヘッダ情報と転送先ノードの情報とを関連付けた伝送ルールを生成する伝送ルール生成ステップと、
前記伝送ネットワーク制御装置が前記伝送ルール生成ステップで生成された伝送ルールを前記複数の伝送スイッチ装置に送信する伝送ルール送信ステップと、
前記伝送スイッチ装置が前記伝送ルール送信ステップで送信された前記伝送ルールを受信し、受信した伝送ルールを記憶する伝送ルール記憶ステップと、
前記伝送スイッチ装置がノードからパケットを受信し、前記伝送ルール記憶ステップで記憶された前記伝送ルールと前記受信パケットのヘッダ情報とに基づいて転送先ノードを求め、求めた転送先ノードに前記受信パケットを転送するパケット転送ステップと、
前記サーバ装置がノードからパケットを受信し、前記受信パケットのヘッダに基づいたノードに前記受信パケットを転送する仮想スイッチステップと、
前記サーバ装置が前記仮想スイッチステップで自己宛にパケットが転送された場合に、前記パケットを受信し、記憶されているネットワークの情報を基に前記受信パケットのヘッダを書き換える、また、ネットワークプロトコルに従った処理を実行するネットワーク制御ステップと、を備える、
ことを特徴とする。
【００３３】
上記目的を達成するため、本発明の第５の観点に係るプログラムは、
コンピュータを、
ノードからパケットを受信し、前記受信パケットのヘッダに基づいたノードに前記受信パケットを転送する仮想スイッチ手段、
前記仮想スイッチ手段から自己宛にパケットが転送されてきた場合に、前記パケットを受信し、前記受信パケットのヘッダを書き換える、また、ネットワークプロトコルに従った処理を実行するネットワーク制御手段、
仮想的に構築されたネットワークの情報を記憶する記憶手段、
前記記憶手段に記憶されたネットワークの情報を基に前記受信パケットのヘッダを書き換えることにより、前記仮想的に構築されたネットワーク上で、前記受信パケットを模擬的に通過させるエミュレーション手段、
前記受信パケットに自装置が属するシステム独自のヘッダが付与されている場合、前記独自のヘッダを削除し、前記受信パケットに前記独自のヘッダが付与されていない場合、前記独自のヘッダを付与するオーバーレイ処理手段、
前記受信パケットがノードに対するアドレス要求パケットである場合に、前記記憶手段に記憶されたネットワークの情報を基に、前記アドレス要求パケットを送信したノードにアドレス応答パケットを返送するアドレス解決手段、として機能させる、
ことを特徴とする。
【発明の効果】
【００３４】
本発明によれば、大規模な数のサーバを配置した場合でも、高信頼性を実現することができる。
【図面の簡単な説明】
【００３５】
【図１】本発明の実施形態に係るパケット伝送システム構成の一例を示すブロック図である。
【図２】本発明の実施形態に係る各装置のハードウェア構成の一例を示すブロック図である。
【図３】本発明の実施形態に係るパケット伝送システムの各装置の構成の一例を示すブロック図である。
【図４】ハイパーバイザを説明するための図である。
【図５】論理マップを説明するための図である。
【図６】論理マップのテーブル構成を説明するための図である。
【図７】オーバーレイネットワークを説明するための図である。
【図８】本実施形態に係るサーバ装置のパケット送信処理の一例を示すフロー図である。
【図９】本実施形態に係るサーバ装置のＮＷエミュレーション処理の一例を示すフロー図である。
【図１０】本実施形態に係るサーバ装置のオーバーレイ処理の一例を示すフロー図である。
【図１１】本実施形態に係るサーバ装置のアドレス解決処理の一例を示すフロー図である。
【図１２】本実施形態に係るサーバ装置のパケット受信処理の一例を示すフロー図である。
【図１３】本実施形態に係るパケット伝送システムのパケット経路を説明するための図である。
【図１４】従来のＯｐｅｎＦｌｏｗシステムを説明するための図である。
【発明を実施するための形態】
【００３６】
本発明の実施形態に係るパケット伝送システムについて、図面を参照して説明する。
【００３７】
パケット伝送システム１は、図１に示すように、サーバ装置１００Ａ、１００Ｂ・・・、伝送スイッチ装置（以下、伝送ＳＷ装置とする）２００１・・・２００Ｎ、伝送ネットワークコントローラ（以下、伝送ＮＷＣとする）３００、データベース（以下、ＤＢとする）４００、レイヤー２装置（以下、Ｌ２装置とする）５００、マスター装置６００、ゲートウェイ装置（以下、ＧＷ装置とする）７００、アクセス回線網８００、作業ＰＣ９００、から構成されている。
【００３８】
なお、サーバ装置１００Ａ、１００Ｂ・・・はパケット伝送システム１内に複数台あっても良い。以下の説明でサーバ装置１００と称する場合は、パケット伝送システム１内の全てのサーバ装置についての説明とする。また、伝送ＳＷ装置２００１・・・２００Ｎも、パケット伝送システム１内に複数台あっても良い。以下の説明で伝送ＳＷ装置２００と称する場合は、パケット伝送システム１内の全ての伝送ＳＷ装置についての説明とする。
【００３９】
サーバ装置１００は、伝送ＳＷ装置２００、Ｌ２装置５００、と接続し、複数の仮想機器（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ、以下、ＶＭとする）と、ネットワークコントローラ（Ｎｅｔｗｏｒｋ  Ｃｏｎｔｒｏｌｌｅｒ、以下、ＮＷＣとする）を有する。ＶＭは、サーバ装置１００上で稼動する仮想的なコンピュータ（ノード）であり、それぞれ任意のサービスを提供する。ＮＷＣは、受信したパケットに対して、後述するネットワークエミュレーション等の各種処理を実行する。
【００４０】
伝送ＳＷ装置２００は、伝送ＳＷ装置２００同士と接続し、また、サーバ装置１００、Ｌ２装置５００、ＧＷ装置７００と接続する。伝送ＳＷ装置２００は、記憶している伝送ルールを基に、パケットを転送する。なお、伝送ルールとは、パケットを転送するためのルールであり、パケットに付与されているヘッダのフィールドの値と転送先ノードの情報とを関連付けているものである。
【００４１】
伝送ＮＷＣ３００は、Ｌ２装置５００と接続し、Ｌ２装置５００を介してサーバ装置１００、伝送ＳＷ装置２００と通信する。伝送ＮＷＣ３００は、どの伝送ＳＷ装置２００にどのサーバ装置１００が接続されているか、等のパケット伝送システム１のネットワーク構成を記憶している。
【００４２】
ＤＢ４００は、Ｌ２装置５００と接続し、各種のデータやテーブルを記憶している。パケット伝送システム１を構成する各装置は、ＤＢ４００と通信することで各情報を取得する。ＤＢ４００は、通常のデータベースで構築しても良いが、単一故障点の無い分散データベースを採用するとパケット伝送システム１を頑健にすることができる。
【００４３】
なお、本実施形態では、ＤＢ４００は装置として独立しているため、各装置はコマンドや命令等をＤＢ４００に送信し、ＤＢ４００がそれに応答することで各種データの参照や書き込みをすることができる。以下の説明では、上述のようなコマンドや命令の送受信によって各装置がＤＢ４００からデータを参照、書き込みしていることとする。
【００４４】
Ｌ２装置５００は、パケット伝送システム１内の各装置それぞれと接続しており、ある装置から送信されたデータを、送信先ＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレスを基に、送信先の装置に転送する。Ｌ２装置５００は、例えば、一般的なＬ２スイッチであり、パケット伝送システム１内の装置数以上の十分なポート数を有している。Ｌ２装置５００が十分なポート数を有していない場合、Ｌ２装置５００は複数配置されても良い。
【００４５】
マスター装置６００は、Ｌ２装置５００と接続し、ＤＢ４００を参照して各装置を監視し、各装置が正常であるか、異常であるかを判別する。マスター装置６００は、パケット伝送システム１の信頼性を高めるための装置であり、必ずしもパケット伝送システム１に配置する必要はない。
【００４６】
ＧＷ装置７００は、伝送ＳＷ装置２００、アクセス回線網８００と接続し、アクセス回線網８００からのデータを受信し、パケット伝送システム１内からのデータをアクセス回線網８００に送信する。ＧＷ装置７００は、複数台の伝送ＳＷ装置２００と接続していても良い。
【００４７】
作業ＰＣ９００は、Ｌ２装置５００と接続し、システム管理者等が操作するＰＣである。作業ＰＣ９００は、作業の際にＬ２装置５００と接続されていれば良く、常にパケット伝送システム１に配置している必要はない。
【００４８】
なお、本実施形態では、パケット伝送システム１内に配置される各装置、サーバ装置１００が有するＶＭ等のそれぞれを「ノード」と称する。一般的にノードとは、ネットワークの節点を意味し、本実施形態でもこの定義に従う。
【００４９】
以上が、パケット伝送システム１の構成である。
【００５０】
続いて、パケット伝送システム１を構成する各装置のハードウェア構成について説明する。
【００５１】
パケット伝送システム１を構成する各装置は、例えば、それぞれ図２に示すように、制御部１１と、主記憶部１２と、外部記憶部１３と、操作部１４と、表示部１５と、送受信部１６と、から構成されている。主記憶部１２と、外部記憶部１３と、操作部１４と、表示部１５と、送受信部１６とは、いずれも内部バス１０を介して制御部１１と接続している。
【００５２】
送受信部１６は、ネットワークに接続する網終端装置または無線通信装置と、それに接続するシリアルインタフェースまたはＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）インタフェースから構成されている。送受信部１６は、図１に示す各装置からネットワークを介して送信されたデータ等を受信する。また、送受信部１６は、受信したデータ等を、制御部１１に供給する。
【００５３】
外部記憶部１３は、フラッシュメモリ、ハードディスク、ＤＶＤ−ＲＡＭ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ  Ｒａｎｄｏｍ−Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＤＶＤ−ＲＷ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ  ＲｅＷｒｉｔａｂｌｅ）等の不揮発性メモリから構成され、後述する各処理を制御部１１に行わせるためのプログラム１９を予め記憶し、また、制御部１１の指示に従って、外部記憶部１３が記憶するデータを制御部１１に供給し、制御部１１から供給されたデータを記憶する。
【００５４】
主記憶部１２は、ＲＡＭ（Ｒａｎｄｏｍ−Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等から構成され、外部記憶部１３に記憶されているプログラム１９を読み込み、さらに制御部１１の作業領域としても使用される。
【００５５】
制御部１１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等から構成され、外部記憶部１３に記憶されているプログラム１９に従って、後述する各処理を実行する。
【００５６】
操作部１４は、キーボードやマウス、操作キーやタッチパネルなどの入力デバイス等と、入力デバイス等を内部バス１０に接続するインタフェース装置から構成されている。操作部１４は、ユーザの指示を処理する機能を備え、ユーザの操作によって入力されたデータを制御部１１に供給する。
【００５７】
表示部１５は、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）または有機ＥＬ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ）等から構成されている。表示部１５は、各データや情報等を表示する。
【００５８】
パケット伝送システム１内の各装置は、必ずしも上述の構成要素を備えている必要は無い。上述のハードウェア構成は一般的な情報処理装置の一例であり、例えば、伝送ＳＷ装置２００、Ｌ２装置５００等は操作部１４、表示部１５を必ずしも備える必要は無い。
【００５９】
以上が、パケット伝送システム１を構成する各装置のハードウェア構成である。
【００６０】
続いて、サーバ装置１００、伝送ＳＷ装置２００、伝送ＮＷＣ３００の詳細な構成について説明する。
【００６１】
サーバ装置１００は、図３に示すように、ＮＷＣ１１０、仮想スイッチ（以下、仮想ＳＷとする）１２０、ＶＭ１３０１・・・１３０Ｎ、記憶部１４０を備えている。なお、以下の説明でＶＭ１３０と称する場合、サーバ装置１００内の全てのＶＭ１３０についての説明とする。
【００６２】
ＮＷＣ１１０は、ネットワークエミュレーション（以下、ＮＷエミュレーションとする）部１１１、オーバーレイ処理部１１２、アドレス解決部１１３、を備え、仮想ＳＷ１２０を介してＶＭ１３０と接続している。ＮＷＣ１１０は、パケットのヘッダを書き換え、また、ネットワークプロトコルに従った処理を実行する。
【００６３】
ＮＷエミュレーション部１１１は、後述する論理マップを基に、パケットのヘッダの書き換え、また、パケットの廃棄等の処理をする。ＮＷエミュレーションとは、あたかもパケットが仮想的なネットワークを通過したかのようにパケットのヘッダを書き換える処理のことである。ＮＷエミュレーション処理の詳細については後述する。
【００６４】
オーバーレイ処理部１１２は、受信したパケットにパケット伝送システム１独自のヘッダを付与して送信、または受信したパケットの独自のヘッダを削除する。この処理によって、各サーバ装置１００間はオーバーレイネットワークとなる。なお、本実施形態では、理解を容易にするため、上述のパケット伝送システム１独自のヘッダのことを「オーバーレイヘッダ」と称する。
【００６５】
アドレス解決部１１３は、ＡＲＰ（Ａｄｄｒｅｓｓ  Ｒｅｓｏｌｕｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）の処理を実行する。ただし、通常のＡＲＰ処理とは異なり、ＮＷＣ１１０は論理マップを参照して、本来応答すべきノードの代わりに応答する。
【００６６】
仮想ＳＷ１２０は、仮想的なスイッチの動作を実現する。すなわち、仮想ＳＷ１２０は、送信されたパケットをヘッダに従ってＮＷＣ１１０又は後述するＶＭ１３０にパケットを転送する。仮想ＳＷ１２０は、公知の方法で実現される。
【００６７】
ＶＭ１３０は、仮想的な機器の動作を実現するものであり、他のコンピュータを模倣する。すなわち、ＶＭ１３０はソフトウェアであり、任意のコンピュータの動作を模倣するプログラムを実行する。各ＶＭ１３０には、ホスト名や、それぞれのＶＭ１３０を一意の識別できるＭＡＣアドレス等が付与されている。このＭＡＣアドレスは、パケット伝送システム１内で重複しないものであり、伝送ＮＷＣ３００が発行する。
【００６８】
ところで、一つの装置内で仮想的に複数の機器の動作を実現する手法として、ハイパーバイザと呼ばれるものがある。ハイパーバイザとは、すなわち制御プログラムのことである。例えば、図４に示すように、まずハードウェアリソース上でハイパーバイザが起動し、ハイパーバイザの上位でホストＯＳやゲストＯＳが起動する。複数のゲストＯＳを起動させることで、仮想的な複数の機器（ＶＭ）の動作を実現することができる。なお、本実施形態に係るサーバ装置１００ではハイパーバイザを採用するが、仮想的に複数の機器の動作を実現できればこれに限定されない。
【００６９】
なお、ＮＷＣ１１０、仮想ＳＷ１２０及びＶＭ１３０は、プログラム１９により提供され、制御部１１及び主記憶部１２が協働して動作することで実現される機能部である。
【００７０】
図３に戻り、記憶部１４０は、ＤＢ４００から取得したデータを記憶する。記憶部１４０は、自装置が属している論理マップと、自装置のＶＭ１３０の情報（属する論理マップの情報、ホスト名、割り当てるリソース等）、自装置に関する情報等を記憶している。
【００７１】
自装置に関する情報とは、自装置のＭＡＣアドレスや、隣接する伝送ＳＷ装置２００の識別子等の情報である。本実施形態では、伝送ＳＷ装置２００に、物理的なＭＡＣアドレスの他に、パケット伝送システム１内で伝送ＳＷ装置２００を一意に識別する識別子を付与する。この識別子は、伝送ＮＷＣ３００がＭＡＣアドレス形式で発行する。本実施形態では、物理的なＭＡＣアドレスと区別するため、上述の識別子を「識別ＭＡＣアドレス」と称する。なお、サーバ装置１００においても、上述のように識別子を付与しても良い。
【００７２】
伝送ＳＷ装置２００は、伝送ルール記憶部２１０と、パケット転送部２２０と、を備えている。
【００７３】
伝送ルール記憶部２１０は、伝送ＮＷＣ３００から送信された伝送ルールを記憶するものであり、データベースの形態でも良い。
【００７４】
パケット転送部２２０は、伝送ルール記憶部２１０に記憶された伝送ルールとパケットのヘッダ情報を基に転送先ノードを求め、求めた転送先ノードにパケットを転送する。
【００７５】
なお、伝送ルール記憶部２１０、パケット転送部２２０は、プログラム１９により提供され、制御部１１及び主記憶部１２が協働して動作することで実現される機能部である。
【００７６】
伝送ＮＷＣ３００は、データ生成部３１０と、データ送信部３２０と、を備えている。
【００７７】
データ生成部３１０は、伝送ルール等の各種データを生成し、データ送信部３２０は、生成した各種データを伝送ＳＷ装置２００やＤＢ４００に送信する。なお、データ生成部３１０は、自動的に各種データを生成しても良く、ユーザの指示に従って各種データを生成しても良い。
【００７８】
なお、データ生成部３１０及びデータ送信部３２０は、プログラム１９により提供され、制御部１１及び主記憶部１２が協働して動作することで実現される機能部である。
【００７９】
また、伝送ＮＷＣ３００はサーバ装置１００内のＮＷＣ１１０と同等の機能も有している。本実施形態に係るパケット伝送システム１では、伝送ＮＷＣ３００のパケットに係る処理の負荷を分散するため、各サーバ装置１００にＮＷＣ１１０を配置している。
【００８０】
以上が、サーバ装置１００、伝送ＳＷ装置２００、伝送ＮＷＣ３００の詳細な構成である。
【００８１】
続いて、論理マップについて説明する。
【００８２】
本実施形態に係るパケット伝送システム１では、論理マップという概念を採用する。論理マップとは、図５に示すような、仮想的に構築したネットワークのことであり、作業者は、作業ＰＣ９００を使用して論理マップを作成し、ＤＢ４００は作成した論理マップをテーブル情報として記憶する。
【００８３】
例えば、作業者が図５に示すような論理マップを作成した場合、Ｒｅｇｉｏｎ１は、アクセス回線網からＨｏｓｔ１、２までの経路に、複数のＬ２ＳＷ（Ｌ２スイッチ）と、ＦＷ（Ｆｉｒｅ  Ｗａｌｌ）と、Ｌ３（ルータ等）と、が配置されているネットワーク構成を表している。また、スーパノードは、ＤＨＣＰ（Ｄｙｎａｍｉｃ  Ｈｏｓｔ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）、ＤＮＳ（Ｄｏｍａｉｎ  Ｎａｍｅ  Ｓｙｓｔｅｍ）、ＮＴＰ（Ｎｅｔｗｏｒｋ  Ｔｉｍｅ  Ｐｒｏｔｏｃｏｌ）等の機能を有するノードを意味している。
【００８４】
同様に、Ｒｅｇｉｏｎ２は、アクセス回線網からＨｏｓｔ３、４までの経路に、複数のＬ２ＳＷと、ＦＷと、ＬＢ（ロードバランサ、負荷分散装置）と、が配置されているネットワーク構成を表している。
【００８５】
作業者は、作業ＰＣ９００を用いて、例えばＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）を使用してこのような論理マップを作成するが、ＧＵＩに限られず、ファイルに記述する等して論理マップを作成しても良い。また、作業者は、複数のシステム領域を一つの論理マップとして作成して一度にＤＢ４００に記憶させても良く、複数の論理マップを随時作成してＤＢ４００に記憶させても良い。
【００８６】
このようにして作成された論理マップは、例えば、図６に示すようにテーブル化されてＤＢ４００に記憶される。なお、テーブルの形式はこれに限られず、論理マップの構成が維持できる形式であれば任意である。
【００８７】
論理マップは、ＮＷエミュレーションを実行する際に使用される。すなわち、サーバ装置１００のＮＷエミュレーション部１１１が、論理マップを基にＮＷエミュレーションを実行する。例えば、図５に示すＲｅｇｉｏｎ１を基にＮＷエミュレーションを実行した場合、パケットは、あたかもＦＷやルータを通過したようにＨｏｓｔ１又はＨｏｓｔ２に送信される。なお、Ｈｏｓｔ１、２は、サーバ装置１００のＶＭ１３０のことである。
【００８８】
ここで、図５のＲｅｇｉｏｎ１に示すＨｏｓｔ２がサーバ装置１００ＡのＶＭ１３０Ａを示しているとする。サーバ装置１００Ａがアクセス回線網からパケットを受信した場合、また、ＶＭ１３０Ａがアクセス回線網にパケットを送信する場合、サーバ装置１００ＡのＮＷエミュレーション部１１１によって、パケットは、仮想的に「アクセス回線網〜Ｌ２ＳＷ１〜ＦＷ１〜Ｌ２ＳＷ２〜Ｌ３〜Ｌ２ＳＷ３〜Ｈｏｓｔ２」、という経路を通過することとなる。
【００８９】
ＤＢ４００は、論理マップと共に、その論理マップが更新された日時を記憶する。各サーバ装置１００のＮＷＣ１１０は、定期的にＤＢ４００に記憶されている論理マップの更新日時を参照し、自装置に関する論理マップが更新されている場合、更新された論理マップを記憶部１４０に記憶する。
【００９０】
各サーバ装置１００は、自装置に関する論理マップのみを記憶していれば良く、全ての論理マップについて記憶している必要は無い。すなわち、Ｈｏｓｔ１が属するサーバ装置１００は、Ｒｅｇｉｏｎ１に関する論理マップのみを記憶していればよく、Ｈｏｓｔ３が属するサーバ装置１００は、Ｒｅｇｉｏｎ２に関する論理マップを記憶していれば良い。なお、各サーバ装置１００は、複数の論理マップを記憶することも可能である。
【００９１】
以上が、パケット伝送システム１の論理マップについての説明である。
【００９２】
続いて、サーバ装置１００間のオーバーレイネットワークについて説明する。
【００９３】
本実施形態に係るパケット伝送システム１では、サーバ装置１００間の通信を容易にするため、図７に示すように、各サーバ装置１００間にオーバーレイネットワークを構築している。
【００９４】
この場合、例えば、サーバ装置１００Ａ内のＶＭ１３０Ａが、サーバ装置１００Ｂ内のＶＭ１３０ＢにパケットＡを送信すると、まずＮＷＣ１１０ＡがパケットＡを受信する。このとき、ＶＭ１３０Ａは、送信パケットＡの送信元ＭＡＣアドレスをＶＭ１３０ＡのＭＡＣアドレス、送信先ＭＡＣアドレスを論理マップ上に存在するＶＭ１３０Ａと隣接するノードのＭＡＣアドレス、として送信する。
【００９５】
ＮＷＣ１１０ＡがパケットＡを受信すると、ＮＷエミュレーション部１１１がＮＷエミュレーション処理を実行した後、オーバーレイ処理部１１２Ａは、パケットＡにオーバーレイヘッダを付与し、パケットＢを生成する。本実施形態では、オーバーレイヘッダの構成は、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）ヘッダ、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）ヘッダ、Ｅｔｈｅｒｎｅｔ（登録商標）ヘッダからなるが、これに限られず、パケット伝送システム１内で整合性が取れれば任意である。
【００９６】
オーバーレイヘッダの各パラメータは、各サーバ装置１００間で整合性が取れていれば任意である。本実施形態に係るオーバーレイ処理部１１２は、ＴＣＰヘッダの送信先・送信元ポート、ＩＰヘッダの送信先・送信元アドレスを一律で０とし、Ｅｔｈｅｒｎｅｔ（登録商標）ヘッダの送信元ＭＡＣアドレスを最後に通過する伝送ＳＷ装置２００（図７の場合、伝送ＳＷ装置２００Ｂ）の識別ＭＡＣアドレス、送信先ＭＡＣアドレスを送信先のサーバ装置１００ＢのＭＡＣアドレスとする。なお、オーバーレイ処理部１１２は、記憶部１４０やＤＢ４００等を参照することで、ネットワーク上で隣接していない装置の送信先・送信元のＭＡＣアドレスを認識することができる。送信先サーバ装置１００のＭＡＣアドレスは、物理的なＭＡＣアドレスでも良く、上述の識別ＭＡＣアドレスでも良い。
【００９７】
なお、ＭＡＣアドレス以外の各パラメータの情報は、記憶部１４０が記憶していても良く、ハードコーディングしても良い。
【００９８】
オーバーレイ処理部１１２ＡがパケットＢを送信すると、各伝送ＳＷ装置２００は、オーバーレイヘッダの情報、及び伝送ルールを基に、パケットＢを転送する。このとき、伝送ＳＷ装置２００は、送信先ＩＰアドレスや送信先ポートは参照せず、パケットＢの送信先、送信元ＭＡＣアドレスを基に、パケットＢを転送する。
【００９９】
サーバ装置１００ＢがパケットＢを受信すると、オーバーレイ処理部１１２Ｂは、付与されたオーバーレイヘッダを削除し、元の送信パケットＡを取得する。
【０１００】
そして、オーバーレイ処理部１１２Ｂが取得した送信パケットＡをＶＭ１３０Ｂに出力することで、サーバ装置１００Ａ、１００Ｂ間の通信が可能となる。
【０１０１】
ところで、上述で説明した通り、伝送ＳＷ装置２００は、伝送ＮＷＣ３００から設定された伝送ルールに従ってパケットを転送する。本来、伝送ルールは、各サーバ装置１００が有するＶＭ１３０の数の分だけ、伝送ＳＷ装置２００に適用しておく必要がある。このため、サーバ装置１００やＶＭ１３０の増加に従って、伝送ルールの数も増えてしまう。
【０１０２】
例えば、各サーバ装置１００が有するＶＭ１３０がＮ個ある場合、Ｎ個が相互に通信可能となるエントリが必要となるため、伝送ルール数は、最低でもＮ×Ｎのエントリ数が必要となる。仮に１万個のＶＭ１３０をパケット伝送システム１内に配置した場合、各伝送ＳＷ装置２００が保持する伝送ルール数は最低でも１億となり、メモリの制限や、公知のルール検索方法（線形検索やハッシュ検索）を考慮すると、非現実的な値となる。
【０１０３】
また、通常、伝送ルールは、送信先ＩＰアドレスや、送信先ポート番号等、様々な条件（１２ｔｕｐｌｅ）を組み合わせて作成するものであるため、伝送ルール数はＮ×Ｎ以上の数になるのが一般的である。しかしながら本実施形態では、サーバ装置１００間にオーバーレイネットワークを構築しているため、ＩＰアドレスやポート番号を参照する必要は無く、サーバ装置１００間の通信の場合はＭＡＣアドレスのみ参照すれば良い。つまり、ほとんどの場合、各サーバ装置１００のＭＡＣアドレスを組み合わせて伝送ルールを作成すれば正常にパケットを転送することができる。すなわち、サーバ装置１００間にオーバーレイネットワークを構築することで、伝送ルールの数は大幅に減少することとなる。
【０１０４】
以上が、サーバ装置１００間のオーバーレイネットワークについての説明である。
【０１０５】
続いて、サーバ装置１００がパケットを送信する際の動作の一例について、図面を参照して説明する。以下の説明では、サーバ装置１００のＶＭ１３０が、他ノードにパケットを送信する際の動作について説明する。
【０１０６】
まず、図８に示すように、サーバ装置１００のＶＭ１３０がパケットを送信すると（Ｓ１０１）、仮想ＳＷ１２０を介してパケットをＮＷＣ１１０に転送する。なお、上述の通り、ＶＭ１３０は、パケットを送信する際、送信先ＭＡＣアドレスを、論理マップ上で隣接するノードのＭＡＣアドレスを設定する。
【０１０７】
ＮＷＣ１１０は、ＶＭ１３０が送信したパケットを受信すると、ＮＷエミュレーション部１１１が記憶部１４０に記憶されている論理マップを基に、ＮＷエミュレーション処理を実施する（Ｓ１０２）。ＮＷエミュレーション処理の詳細は後述する。なお、送信パケットは、ＮＷエミュレーション処理によって廃棄される場合がある（例えば、ＦＷルールが適用された場合）。
【０１０８】
次に、ＮＷＣ１１０は、送信パケットの送信先を判別する。まず、ＮＷＣ１１０は、送信パケットのヘッダを参照し、送信パケットがＡＲＰ要求であるか否か、また、ＤＨＣＰのパケットであるか否か等、すなわち、パケットが上位アプリケーション向けであるか否かを判別する（Ｓ１０３）。なお、送信パケットがＡＲＰ要求パケットである場合、パケットのＥｔｈｅｒｎｅｔ（登録商標）ヘッダのＴｙｐｅフィールドは０ｘ０８０６である。ＮＷＣ１１０は、このように、ヘッダの値を参照してパケットの種類を判別する。
【０１０９】
パケットが上位アプリケーション向けである場合（Ｓ１０３；ＹＥＳ）、ＮＷＣ１１０は、上述のように、パケットがＡＲＰパケットであるか否かを判別する（Ｓ１０４）。
【０１１０】
パケットがＡＲＰパケットで無い場合（Ｓ１０４；ＮＯ）、ＮＷＣ１１０は、送信パケットに従った上位アプリケーションの処理（ＤＨＣＰ等）を実施し、送信元のＶＭ１３０に仮想ＳＷ１２０を介して応答し（Ｓ１０５）、処理を終了する。
【０１１１】
パケットがＡＲＰパケットである場合（Ｓ１０４；ＹＥＳ）、アドレス解決部１１３は、アドレス解決処理を実施し（Ｓ１０６）、処理を終了する。なお、詳細なアドレス解決処理については、後述する。
【０１１２】
パケットが上位アプリケーション向けでは無い場合（Ｓ１０３；ＮＯ）、ＮＷＣ１１０は、記憶部１４０が記憶している論理マップを参照し、送信先ＭＡＣアドレスが同一サーバ装置１００の他のＶＭ１３０であるか否か、すなわち、パケットが同一サーバ向けか否かを判別する（Ｓ１０７）。
【０１１３】
ここで、論理マップは、上述で説明したように、同一仮想システム内に存在しているＶＭ１３０の情報（ホスト名等、図６参照）を有している。さらに記憶部１４０は、自装置のＶＭ１３０の情報を記憶している。つまり、送信先ＭＡＣアドレスを基に論理マップからホスト名を取得し、取得したホスト名が自装置情報に記憶されている場合、ＮＷＣ１１０は、同一サーバ向けのパケットであると判別する。なお、ＭＡＣアドレスを基に判別しても良い。
【０１１４】
パケットが同一サーバ向けの場合（Ｓ１０７；ＹＥＳ）、ＮＷＣ１１０は、仮想ＳＷ１２０を介して送信先のＶＭ１３０にパケットを送信し（Ｓ１０８）、処理を終了する。
【０１１５】
パケットが同一サーバ向けでは無い場合（Ｓ１０７；ＮＯ）、ＮＷＣ１１０は、再度論理マップを参照し、送信先ＭＡＣアドレスがアクセス回線網のＭＡＣアドレスか否か、すなわち、パケットがアクセス回線網向けか否かを判別する（Ｓ１０９）。
【０１１６】
パケットがアクセス回線網向けの場合（Ｓ１０９；ＹＥＳ）、ＮＷＣ１１０は、仮想ＳＷ１２０を介して伝送ＳＷ装置２００にパケットを送信し（Ｓ１１０）、処理を終了する。そして、パケットを受信した伝送ＳＷ装置２００は、伝送ルールを基に、ＧＷ装置７００を介して、パケットをアクセス回線網８００へと転送することとなる。
【０１１７】
パケットがアクセス回線網向けでは無い場合（Ｓ１０９；ＮＯ）、パケットが他のサーバ装置１００向けであるということになるため、オーバーレイ処理部１１２は、オーバーレイ処理を実行し（Ｓ１１１）、パケットを送信して処理を終了する。なお、詳細なオーバーレイ処理については後述する。
【０１１８】
以上が、サーバ装置１００がパケットを送信する際の動作の一例である。
【０１１９】
続いて、ＮＷエミュレーション部１１１のＮＷエミュレーション処理（図８、ステップＳ１０２）の一例について説明する。
【０１２０】
ＮＷエミュレーション部１１１は、ＮＷエミュレーション処理を実行すると、図９に示すように、記憶部１４０から論理マップを取得する（Ｓ２０１）。
【０１２１】
ＮＷエミュレーション部１１１は、取得した論理マップ、またはパケットが経由した仮想ＳＷ１２０のポート情報、もしくはパケットの送信元ＭＡＣアドレス等から、パケットを送信したホスト（ＶＭ１３０）、またはアクセス回線網を判別する（Ｓ２０２）。例えば、パケットが、仮想ＳＷ１２０のポート５を経由したパケットであり、仮想ＳＷ１２０のポート５がＶＭ１３０Ｅと接続していれば、ＮＷエミュレーション部１１１は、ＶＭ１３０Ｅがパケットを送信したと判別することができる。この処理によって、ＮＷエミュレーション部１１１は、論理マップ上でのスタート地点を判別することができる。
【０１２２】
次にＮＷエミュレーション部１１１は、論理マップを基に、パケットが論理マップ上でＦＷを通過するか否かを判別する（Ｓ２０３）。
【０１２３】
パケットが論理マップ上でＦＷを通過する場合（Ｓ２０３；ＹＥＳ）、ＮＷエミュレーション部１１１は、論理マップを基に、パケットにＦＷ情報を適用する（Ｓ２０４）。例えば、ＦＷ情報が、「送信先ポート番号が８０８０のパケットは全て廃棄」というルールである場合、ＮＷエミュレーション部１１１は、パケットがこのルールと一致するか否かを判別する。
【０１２４】
ＮＷエミュレーション部１１１は、上述のようにパケットが通過可能か否かを判別し（Ｓ２０５）、通過不可である場合（Ｓ２０５；ＮＯ）、パケットを廃棄し（Ｓ２０６）、処理を終了する。例えば、上述の例の場合、パケットの送信先ポート番号が８０８０の場合、パケットは、廃棄されることとなる。
【０１２５】
パケットが通過可能である場合（Ｓ２０５；ＹＥＳ）、また、パケットが論理マップ上でＦＷを通過しない場合（Ｓ２０３；ＮＯ）、ＮＷエミュレーション部１１１は、パケットが論理マップ上でＬ３を通過するか否かを判別する（Ｓ２０７）。
【０１２６】
パケットが論理マップ上でＬ３を通過する場合（Ｓ２０７；ＹＥＳ）、ＮＷエミュレーション部１１１は、論理マップを基に、パケットにルーティング情報を適用する（Ｓ２０８）。例えば、ルーティング情報が、「送信先ＩＰアドレスＡ．Ｂ．Ｃ．Ｄの場合、ＩＰアドレスＥ．Ｆ．Ｇ．Ｈの装置に転送」というルールである場合、ＮＷエミュレーション部１１１は、パケットがこのルールと一致するか否かを判別する。
【０１２７】
仮に、パケットの送信先ＩＰアドレスが、全てのルーティング情報と一致しない場合、ＮＷエミュレーション部１１１は、送信元のノード（ＶＭ１３０やアクセス回線網）にＩＣＭＰ（Ｉｎｔｅｒｎｅｔ  Ｃｏｎｔｒｏｌ  Ｍｅｓｓａｇｅ  Ｐｒｏｔｏｃｏｌ）Ｄｅｓｔｉｎａｔｉｏｎ  Ｕｎｒｅａｃｈａｂｌｅを送信する等の処理をする。
【０１２８】
パケットが論理マップ上でＬ３を通過しない場合（Ｓ２０７；ＮＯ）、また、Ｌ３の処理を実行した後、ＮＷエミュレーション部１１１は、パケットが論理マップ上でＬＢを通過するか否か判別する（Ｓ２０９）。
【０１２９】
パケットが論理マップ上でＬＢを通過する場合（Ｓ２０９；ＹＥＳ）、ＮＷエミュレーション部１１１は、論理マップを基に、パケットにＬＢ情報を適用する（Ｓ２１０）。例えば、ＬＢ情報が「ポート８０番のパケットはＩＰアドレスＡ．Ｂ．Ｃ．Ｄに振り分ける」というルールである場合、ＮＷエミュレーション部１１１は、パケットがこのルールと一致するか否かを判別する。
【０１３０】
仮に、パケットの送信先ポート番号が８０番である場合、ＮＷエミュレーション部１１１は、送信先ＩＰアドレスをＡ．Ｂ．Ｃ．Ｄに書き換え、次の処理に進む。また、パケットが全てのＬＢ情報と一致しない場合、ＮＷエミュレーション部１１１は、送信元のノードにＩＣＭＰを送信する等の処理をする。
【０１３１】
パケットが論理マップ上でＬＢを通過しない場合（Ｓ２０９；ＮＯ）、また、ＬＢの処理を実行した後、ＮＷエミュレーション部１１１は、パケットが論理マップ上で送信先のノードに到着したか否か判別する（Ｓ２１１）。
【０１３２】
パケットが論理マップ上で送信先のノードに到着した場合（Ｓ２１１；ＹＥＳ）、ＮＷエミュレーション部１１１は、処理を終了する。パケットが論理マップ上で送信先のノードに到着していない場合、ＮＷエミュレーション部１１１は、ステップＳ２０３に戻り、再度処理を続ける。
【０１３３】
上述では、ＮＷエミュレーション部１１１の処理の一例について説明したが、処理内容はこれに限定されず、論理マップに基づいてパケットをエミュレーションできれば任意である。論理マップを作成するにあたり、ＦＷやＬＢ以外にもＶＰＮ（Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋ）等のネットワーク装置を論理マップに配置することも考えられる。この場合、ＮＷエミュレーション部１１１は、各ネットワーク装置に従った処理を実行することとなる。
【０１３４】
以上が、ＮＷエミュレーション部１１１のＮＷエミュレーション処理の一例である。
【０１３５】
続いて、オーバーレイ処理部１１２のオーバーレイ処理（図８、ステップＳ１１１）の一例について説明する。
【０１３６】
オーバーレイ処理部１１２は、オーバーレイ処理を開始すると、図１０に示すように、自装置発のパケットであるか否かを判別する（Ｓ３０１）。
【０１３７】
パケットが自装置発のパケット、すなわち、送信するパケットである場合（Ｓ３０１；ＹＥＳ）、オーバーレイ処理部１１２は、送信元ポート番号が０、送信先ポート番号が０、その他のフィールドが任意であるＴＣＰヘッダを生成する（Ｓ３０２）。なお、その他のフィールドは、通信に影響を与えない値とする。
【０１３８】
オーバーレイ処理部１１２は、ＴＣＰヘッダを生成した後、送信パケットにＴＣＰヘッダを付与し（Ｓ３０３）、送信元ＩＰアドレスが全て０、送信先ＩＰアドレスが全て０、ＴＯＳ（Ｔｙｐｅ  Ｏｆ  Ｓｅｒｖｉｃｅ）が０、プロトコルが６（ＴＣＰ）、その他のフィールドが任意であるＩＰヘッダを生成する（Ｓ３０４）。なお、その他のフィールドは、通信に影響を与えない値とする。
【０１３９】
オーバーレイ処理部１１２は、生成したＩＰヘッダを送信パケットに付与し（Ｓ３０５）、記憶部１４０に記憶されている情報を基に、送信元ＭＡＣアドレスが送信先ノードと隣接する伝送ＳＷ装置２００の識別ＭＡＣアドレス、送信先ＭＡＣアドレスが送信先サーバ装置１００のＭＡＣアドレス、Ｅｔｈｅｒ  Ｔｙｐｅが０ｘ０８００（ＩＰ）であるＥｔｈｅｒｎｅｔ（登録商標）ヘッダを生成する（Ｓ３０６）。
【０１４０】
オーバーレイ処理部１１２は、生成したＥｔｈｅｒｎｅｔ（登録商標）ヘッダを送信パケットに付与し（Ｓ３０７）、オーバーレイヘッダを付与した送信パケットを、仮想ＳＷ１２０を介して伝送ＳＷ装置２００に送信し（Ｓ３０８）、処理を終了する。
【０１４１】
オーバーレイ処理部１１２は、ステップＳ３０１での判別の際、上述までで説明したようなオーバーレイヘッダが付与されているパケットの場合は受信パケット、付与されていない場合は送信パケット、と判別することができる。例えば、ＩＰヘッダの送信元アドレスが０のパケットの場合はオーバーレイヘッダが付与されたパケットである、と判別することができる。
【０１４２】
オーバーレイ処理部１１２は、自装置発のパケットではない、すなわち、オーバーレイヘッダが付与されたパケットを受信したと判別した場合（Ｓ３０１；ＮＯ）、受信パケットから、Ｅｔｈｅｒｎｅｔ（登録商標）ヘッダを削除し（Ｓ３１１）、ＩＰヘッダを削除し（Ｓ３１２）、ＴＣＰヘッダを削除（Ｓ３１３）、すなわち、オーバーレイヘッダを削除する。
【０１４３】
そして、オーバーレイ処理部１１２は、元のパケットのヘッダを参照し、本来の転送先へパケットを転送する（Ｓ３１４）。
【０１４４】
上述では、オーバーレイ処理部１１２の処理の一例について説明したが、処理内容や生成するオーバーレイヘッダの内容はこれに限定されず、サーバ装置１００間でオーバーレイネットワークを構築でき、パケット伝送システム１内の各装置が認識できる形態であれば、任意である。
【０１４５】
以上が、オーバーレイ処理部１１２のオーバーレイ処理の一例である。
【０１４６】
続いて、アドレス解決部１１３のアドレス解決処理（図８、ステップＳ１０６）の一例について説明する。
【０１４７】
アドレス解決部１１３は、アドレス解決処理を開始すると、図１１に示すように、記憶部１４０から論理マップを取得する（Ｓ４０１）。
【０１４８】
アドレス解決部１１３は、ＡＲＰ要求パケットの送信先ＩＰアドレス、すなわち、ＭＡＣアドレスを知りたいノードのＩＰアドレスが、論理マップ上に存在するか否かを判別する（Ｓ４０２）。
【０１４９】
ＡＲＰ要求パケットの送信先ＩＰアドレスが論理マップ上に存在しない場合（Ｓ４０２；ＮＯ）、アドレス解決部１１３は、ＤＢ４００を参照して最新の論理マップを更新する（Ｓ４０３）。アドレス解決部１１３は、再度ＡＲＰ要求パケットの送信先ＩＰアドレスが論理マップ上に存在するか否かを判別し（Ｓ４０４）、最新の論理マップでも存在しない場合（Ｓ４０４；ＮＯ）、処理を終了する。
【０１５０】
ＡＲＰ要求パケットの送信先ＩＰアドレスが論理マップ上に存在する場合（Ｓ４０２；ＹＥＳ、Ｓ４０４；ＹＥＳ）、アドレス解決部１１３は、論理マップを基に、ＡＲＰ応答を返送するべきノードを判別する（Ｓ４０５）。
【０１５１】
アドレス解決部１１３は、論理マップを基に、ＡＲＰ応答パケットを生成し（Ｓ４０６）、あたかもＡＲＰ要求先のノードが応答したように、ＡＲＰ要求パケットを送信したＶＭ１３０にＡＲＰ応答パケットを送信し（Ｓ４０７）、処理を終了する。
【０１５２】
上述では、アドレス解決部１１３の処理の一例について説明したが、処理内容はこれに限定されず、同一サーバ装置１００上のＶＭ１３０からのＡＲＰ要求を、同一サーバ装置１００上のアドレス解決部１１３が処理できれば任意である。
【０１５３】
以上が、アドレス解決部１１３のアドレス解決処理の一例である。
【０１５４】
続いて、サーバ装置１００がパケットを受信する際の動作の一例について、図面を参照して説明する。以下の説明では、サーバ装置１００が、他装置からパケットを受信した際の動作の一例について説明する。
【０１５５】
まず、図１２に示すように、サーバ装置１００がパケットを受信すると（Ｓ５０１）、仮想ＳＷ１２０を介してＮＷＣ１１０がパケットを受信し、ＮＷＣ１１０は、受信パケットがオーバーレイパケットであるか否かを判別する（Ｓ５０２）。
【０１５６】
受信パケットがオーバーレイパケットである場合（Ｓ５０２；ＹＥＳ）、オーバーレイ処理部１１２は、オーバーレイ処理を実行し（Ｓ５０３）、処理を終了する。この場合のオーバーレイ処理は、例えば、図１０のステップＳ３１１からステップＳ３１４までの処理となる。
【０１５７】
次に、ＮＷＣ１１０は、受信パケットがアクセス回線網からのパケットか否かを判別する（Ｓ５０４）。
【０１５８】
受信パケットがアクセス回線網からのパケットである場合（Ｓ５０４；ＹＥＳ）、ＮＷエミュレーション部１１１は、論理マップを基に、ＮＷエミュレーション処理を実行する（Ｓ５０５）。ここでの処理は、上述で説明した図９に示すＮＷエミュレーション処理と同様である。
【０１５９】
そして、ＮＷＣ１１０は、受信パケットが同一サーバ向けか否かを判別する（Ｓ５０６）。この判別方法は、上述で説明した図８のステップＳ１０７での判別方法と同様である。
【０１６０】
受信パケットが同一サーバ向けである場合（Ｓ５０６；ＹＥＳ）、ＮＷＣ１１０は、仮想ＳＷ１２０を介して送信先のＶＭ１３０にパケットを送信し（Ｓ５０７）、処理を終了する。
【０１６１】
受信パケットが同一サーバ向けでない場合（Ｓ５０６；ＮＯ）、オーバーレイ処理部１１２は、オーバーレイ処理を実施し（Ｓ５０８）、受信パケットを伝送ＳＷ装置２００に転送して処理を終了する。この場合、受信パケットは、オーバーレイネットワークを介して別サーバ装置１００に転送されることとなる。
【０１６２】
受信パケットがアクセス回線網からのパケットでは無い場合（Ｓ５０４；ＮＯ）、ＮＷＣ１１０は処理を終了する。
【０１６３】
以上が、サーバ装置１００が、他装置からパケットを受信した際の動作の一例である。
【０１６４】
続いて、理解を容易にするために、パケット伝送システム１に係るパケットの経路について図面を参照して説明する。
【０１６５】
ＶＭ１３０間で通信をする場合、図１３の実線で示すように、パケットの経路は、「ＶＭ１３０Ａ〜ＮＷＣ１１０Ａ〜複数の伝送ＳＷ装置２００〜ＮＷＣ１１０Ｂ〜ＶＭ１３０Ｂ」となる。なお、上述で説明した通り、サーバ装置１００Ａとサーバ装置１００Ｂ間はオーバーレイネットワークとなっている。また、ＶＭ１３０Ａ、１３０Ｂと、ＮＷＣ１１０Ａ、１１０Ｂとは、仮想ＳＷ１２０を介して接続している。
【０１６６】
同一サーバ装置１００内でＶＭ１３０とＮＷＣ１１０とが通信する場合、パケットの経路は、破線で示すように、仮想ＳＷ１２０を介して同一サーバ装置１００内で完結する。
【０１６７】
ＶＭ１３０とアクセス回線網のノードとが通信する場合、一点鎖線で示すように、パケットの経路は、「ＶＭ１３０〜ＮＷＣ１１０〜複数の伝送ＳＷ装置２００〜ＧＷ装置７００〜アクセス回線網８００」となる。なお、アクセス回線網８００から受信したパケット、また、アクセス回線網８００に送信するパケットについては、オーバーレイネットワークを介さずに送信する。
【０１６８】
以上が、パケット伝送システム１に係るパケットの経路についての説明である。
【０１６９】
以上説明したように、本実施形態に係るパケット伝送システム１によれば、パケット伝送システム１内に複数配置している各サーバ装置１００がＮＷＣ１１０を有しているため、伝送ＮＷＣ３００の負荷を軽減することができ、さらに、各ＮＷＣ１１０の負荷も分散することができる。
【０１７０】
また、同一サーバ装置１００内に、ホスト（ＶＭ１３０）とＮＷＣが属しているため、ホスト−ＮＷＣ間の通信帯域の制限が実質的に無くなる。すなわち、ホスト−ＮＷＣ間で通信が輻輳することは無い。
【０１７１】
また、ホストから送信されたＡＲＰ要求は、同一サーバ装置１００内のＮＷＣが処理するため、パケット伝送システム１内に大規模な数のホスト（ＶＭ）を配置した場合でも、システム内でＡＲＰパケットが氾濫することは無くなり、各伝送ＳＷ装置２００の負荷を軽減することができる。
【０１７２】
また、各サーバ装置１００間でオーバーレイネットワークを構築しているため、伝送ＳＷ装置２００が保持する伝送ルールは、オーバーレイネットワークに従った伝送ルールを保持していれば良い。すなわち、オーバーレイネットワークを適用した本実施形態に係る伝送ルール数は、オーバーレイネットワークを適用しない通常の伝送ルール数（１２ｔｕｐｌｅの伝送ルール）と比較すると、大幅に削減することができる。
【０１７３】
また、伝送ＮＷＣ３００によって複数の伝送ＳＷ装置２００の設定を投入することができるため、容易に伝送ＳＷ装置２００を増設することができる。
【０１７４】
（変形例）
本発明は、上記実施形態に限定されず、種々の変形例及び応用が可能である。本実施形態に係るパケット伝送システム１は、各装置の障害監視機能も搭載することができる。
【０１７５】
この場合、各サーバ装置１００のＮＷＣ１１０は、自装置のＶＭ１３０に定期的に監視パケットを送信し、応答がこなかった場合に異常と判断し、ＤＢ４００の障害監視テーブルを更新する。また、各サーバ装置１００のＮＷＣ１１０は、定期的にＤＢ４００の障害監視テーブルを更新する。
【０１７６】
マスター装置６００は、ＤＢ４００の障害監視テーブルを定期的に参照し、異常と判断されているＶＭ１３０がある場合、また、一定期間以上更新していないＮＷＣ１１０がある場合、管理者等にこれらの障害の情報を通知する。
【０１７７】
このようにして、パケット伝送システム１における障害監視を実現することができる。
【０１７８】
また、ＮＷエミュレーション部１１１は、ＬＢの処理を実行した際、パケットの送信先アドレスを書き換える。例えば、その後、送信先アドレスを書き換えたサーバ装置１００とは別のサーバ装置１００が送信したパケットに対する応答を受信した場合、ＮＡＴの戻りパケットとして、送信元アドレスを書き換える必要があるが、どのアドレスに書き換えれば良いか不明となってしまう。
【０１７９】
このような問題を避けるため、本実施形態に係るパケット伝送システム１では、例えばＮＡＴ情報のような各サーバ装置１００間で共有しておく必要がある情報を、オーバーレイネットワークを介して送受信することも可能である。この場合、各サーバ装置１００は、オーバーレイパケットにその情報を含めて送信し、受信したサーバ装置１００はその情報を記憶部１４０に記憶する。
【０１８０】
また、ＤＢ４００に各種共有情報を記憶させることも可能である。この場合、各サーバ装置１００は、随時ＤＢ４００を参照し、共有情報を自装置の記憶部１４０に記憶し、または処理時に随時ＤＢ４００を参照する。
【０１８１】
本実施形態に係るパケット伝送システム１では、上述で説明したオーバーレイネットワークを構築することで、伝送ＳＷ装置２００が保持する伝送ルールの大幅な削減を実現しているが、これに限られず、ＭＰＬＳ（Ｍｕｌｔｉ−Ｐｒｏｔｏｃｏｌ  Ｌａｂｅｌ  Ｓｗｉｔｃｈｉｎｇ）技術を適用することも可能である。
【０１８２】
この場合、サーバ装置１００は、パケット送信時にラベルヘッダと呼ばれる識別子を付与して送信し、伝送ＳＷ装置２００は、受信したパケットのラベルヘッダを基に、保持しているラベルテーブル（ラベル情報と転送先ノードの情報とを関連付けているテーブル）に従ってパケットのルーティングを行う。すなわち、サーバ装置１００のオーバーレイ処理部１１２は、ラベルヘッダの付与・削除の処理を実施し、伝送ＳＷ装置２００の伝送ルール記憶部２１０は、ラベル情報と転送先ノードとの情報を関連付けた伝送ルールを記憶する。このような構成を採用しても、サーバ装置１００の数に比例した数の伝送ルールを伝送ＳＷ装置２００に記憶させる必要がなくなり、伝送ＳＷ装置２００が保持する伝送ルールの大幅な削減を実現することができる。
【０１８３】
また、上記実施形態では、複数の装置によって構成されるパケット伝送システム１について説明したが、これに限られず、複数の装置を物理的に一つの装置で実現しても良い。
【０１８４】
また、本実施形態に係るパケット伝送システム１を構成する各装置は、専用のシステムによらず、通常のコンピュータシステムを用いて実現可能である。たとえば、上述の動作を実行するためのプログラム１９を、コンピュータが読み取り可能な記録媒体（フレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等）に格納して配布し、このプログラム１９をコンピュータにインストールすることにより、上述の処理を実行するパケット伝送システム１を構成する各装置を構成してもよい。また、インターネット等の通信ネットワーク上のサーバ装置が有する記憶装置にこのプログラム１９を格納しておき、通常のコンピュータシステムがダウンロード等することでパケット伝送システム１を構成する各装置を構成してもよい。
【０１８５】
また、パケット伝送システム１を構成する各装置の機能を、ＯＳ（オペレーティングシステム）とアプリケーションプログラムの分担、またはＯＳとアプリケーションプログラムとの協働により実現する場合などには、アプリケーションプログラム部分のみを記録媒体や記憶装置に格納してもよい。
【０１８６】
また、搬送波にプログラム１９を重畳し、通信ネットワークを介して配信することも可能である。たとえば、通信ネットワーク上の掲示板（ＢＢＳ：Ｂｕｌｌｅｔｉｎ  Ｂｏａｒｄ  Ｓｙｓｔｅｍ）にこのプログラム１９を掲示し、ネットワークを介してプログラム１９を配信してもよい。そして、このプログラム１９を起動し、ＯＳの制御下で、他のアプリケーションプログラムと同様に実行することにより、上述の処理を実行できるように構成してもよい。
【０１８７】
なお、本発明は、本発明の広義の趣旨及び範囲を逸脱することなく、様々な実施形態及び変形が可能とされるものである。また、上述した実施形態は、本発明を説明するためのものであり、本発明の範囲を限定するものではない。つまり、本発明の範囲は、実施形態ではなく、特許請求の範囲によって示される。そして、特許請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、本発明の範囲内とみなされる。
【符号の説明】
【０１８８】
１        パケット伝送システム
１００    サーバ装置
１１０    ＮＷＣ
１１１    ＮＷエミュレーション部
１１２    オーバーレイ処理部
１１３    アドレス解決部
２００    伝送ＳＷ装置
３００    伝送ＮＷＣ
４００    ＤＢ
５００    Ｌ２装置
６００    マスター装置
７００    ＧＷ装置
８００    アクセス回線網
１１００  制御装置
１２００  スイッチ装置
１３００  サーバ
１０      内部バス
１１      制御部
１２      主記憶部
１３      外部記憶部
１４      操作部
１５      表示部
１６      送受信部
１９      プログラム
【図１】
0005580766.tif 000002
【図２】
0005580766.tif 000003
【図３】
0005580766.tif 000004
【図４】
0005580766.tif 000005
【図５】
0005580766.tif 000006
【図６】
0005580766.tif 000007
【図７】
0005580766.tif 000008
【図８】
0005580766.tif 000009
【図９】
0005580766.tif 000010
【図１０】
0005580766.tif 000011
【図１１】
0005580766.tif 000012
【図１２】
0005580766.tif 000013
【図１３】
0005580766.tif 000014
【図１４】
0005580766.tif 000015