(57)【特許請求の範囲】
【請求項１】
複数のネットワーク中継装置によりひとつの仮想ネットワーク中継装置を構成し、該複数のネットワーク中継装置は、外部ネットワーク中継装置にそれぞれ接続されて冗長構成をとり、該外部ネットワーク中継装置から各ネットワーク中継装置へのデータフレームは、該外部ネットワーク中継装置のフローベース負荷分散機構により、データフレーム内の所定のフロー識別子に基づいて予め定められた振り分け規則に従い、フローに応じてネットワーク中継装置に振り分けて送信されるネットワークシステムにおける前記ネットワーク中継装置であって、
前記外部ネットワーク中継装置からデータフレームを受信するインタフェースと、
前記振り分け規則に従い該インタフェースで受信するフローを識別するフロー識別情報が予め記憶された受信インタフェース判定情報記憶領域と、
前記インタフェースを介して受信したデータフレーム内の前記フロー識別子に基づきフローを識別し、該フローと、前記受信インタフェース判定情報記憶領域に記憶されたフロー識別情報が示すフローが一致しない場合、既定外のインタフェースでデータフレームを受信したと判断する受信インタフェース判定部と
を備え、
前記外部ネットワーク中継装置から各ネットワーク中継装置へのデータフレームは、該外部ネットワーク中継装置のフローベース負荷分散機構により、該データフレーム内の予め定められたフロー識別子の内容と第１冗長構成情報とに基づき予め定められた振り分け規則で求まる第１出力情報に従い、各ネットワーク中継装置に振り分けて送信され、前記複数のネットワーク中継装置のいずれか又は前記複数のネットワーク中継装置と接続する複数の回線のいずれかに障害が発生すると、該ネットワーク中継装置を除外した第２冗長構成情報と前記フロー識別子の内容とに基づき前記振り分け規則で求まる第２出力情報に従い、前記外部ネットワーク中継装置からデータフレームが送信され、
前記受信インタフェース判定情報記憶領域は、前記外部ネットワーク中継装置が第１及び第２出力情報を求めるのに用いる前記フロー識別子の種別と第１冗長構成情報とが予め記憶され、及び、前記インタフェースに対応するフロー識別情報である前記第１出力情報が予め記憶され、
前記受信インタフェース判定部は、前記受信インタフェース判定情報記憶領域に記憶されたフロー識別子の種別に従い、前記インタフェースで受信したデータフレームから、前記フロー識別子の内容を抽出し、抽出された情報と、記憶された第１冗長構成情報とに基づき前記振り分け規則で第３出力情報を求め、該第３出力情報と前記受信インタフェース判定情報記憶領域に記憶された第１出力情報が一致しない場合に、既定外のインタフェースでデータフレームを受信したと判断し、
前記ネットワーク中継装置は、前記インタフェースを複数備え、
各インタフェースが、複数の前記外部ネットワーク中継装置に接続され、
前記ネットワーク中継装置は、すべてのインタフェースで、既定外のインタフェースでデータフレームを受信したと判断されると、前記仮想ネットワーク中継装置を構成する他のネットワーク中継装置で障害が発生したと判断する制御部をさらに備える
前記ネットワーク中継装置。
【請求項２】
請求項１記載のネットワーク中継装置において、
前記振り分け規則はリンクアグリゲーション技術により予め定められた規則である前記ネットワーク中継装置。
【請求項３】
請求項１記載のネットワーク中継装置において、
前記仮想ネットワーク装置を構成する複数の前記ネットワーク中継装置のうち、外部ネットワーク中継装置と制御情報を送受信する運用装置が予め定められ、
前記制御部は、障害が発生したと判断された前記ネットワーク中継装置が運用装置の場合、自装置を運用装置とする前記ネットワーク中継装置。
【請求項４】
請求項３記載のネットワーク中継装置において、
運用装置以外の待機装置のうち、運用装置の障害時に代わりの運用装置として動作する待機装置が予め定められ、
前記制御部は、障害が発生したと判断された前記ネットワーク中継装置が運用装置であり、かつ、自装置が代わりの運用装置として動作する待機装置である場合、自装置を運用装置とする前記ネットワーク中継装置。
【請求項５】
複数のネットワーク中継装置によりひとつの仮想ネットワーク中継装置を構成し、該複数のネットワーク中継装置は、外部ネットワーク中継装置にそれぞれ接続されて冗長構成をとり、該外部ネットワーク中継装置から各ネットワーク中継装置へのデータフレームは、該外部ネットワーク中継装置のフローベース負荷分散機構により、データフレーム内の所定のフロー識別子に基づいて予め定められた振り分け規則に従い、フローに応じてネットワーク中継装置に振り分けて送信されるネットワークシステムにおける前記ネットワーク中継装置であって、
前記外部ネットワーク中継装置からデータフレームを受信するインタフェースと、
前記振り分け規則に従い該インタフェースで受信するフローを識別するフロー識別情報が予め記憶された受信インタフェース判定情報記憶領域と、
前記インタフェースを介して受信したデータフレーム内の前記フロー識別子に基づきフローを識別し、該フローと、前記受信インタフェース判定情報記憶領域に記憶されたフロー識別情報が示すフローが一致しない場合、既定外のインタフェースでデータフレームを受信したと判断する受信インタフェース判定部と
を備え、
前記外部ネットワーク中継装置から各ネットワーク中継装置へのデータフレームは、該外部ネットワーク中継装置のフローベース負荷分散機構により、該データフレーム内の予め定められたフロー識別子の内容と第１冗長構成情報とに基づき予め定められた振り分け規則で求まる第１出力情報に従い、各ネットワーク中継装置に振り分けて送信され、前記複数のネットワーク中継装置のいずれか又は前記複数のネットワーク中継装置と接続する複数の回線のいずれかに障害が発生すると、該ネットワーク中継装置を除外した第２冗長構成情報と前記フロー識別子の内容とに基づき前記振り分け規則で求まる第２出力情報に従い、前記外部ネットワーク中継装置からデータフレームが送信され、
前記受信インタフェース判定情報記憶領域は、前記外部ネットワーク中継装置が第１及び第２出力情報を求めるのに用いる前記フロー識別子の種別と第１冗長構成情報とが予め記憶され、及び、前記インタフェースに対応するフロー識別情報である前記第１出力情報が予め記憶され、
前記受信インタフェース判定部は、前記受信インタフェース判定情報記憶領域に記憶されたフロー識別子の種別に従い、前記インタフェースで受信したデータフレームから、前記フロー識別子の内容を抽出し、抽出された情報と、記憶された第１冗長構成情報とに基づき前記振り分け規則で第３出力情報を求め、該第３出力情報と前記受信インタフェース判定情報記憶領域に記憶された第１出力情報が一致しない場合に、既定外のインタフェースでデータフレームを受信したと判断し、
前記ネットワーク中継装置は、
前記仮想ネットワーク中継装置を構成する前記ネットワーク中継装置に設定されたＭＡＣアドレス及び／又はＩＰアドレスが予め記憶された設定情報記憶部と、
前記外部ネットワーク中継装置を介して、所定のネットワーク装置にヘルスチェック・データフレームを送信する装置障害確認制御部と
をさらに備え、
前記装置障害確認制御部は、ヘルスチェック・データフレームに対する応答が、前記仮想ネットワーク中継装置を構成する各ネットワーク中継装置が正常の場合に前記外部ネットワーク中継装置の前記フローベース負荷分散機構によって、自装置のネットワーク中継装置に振分けられるように、ヘルスチェック・データフレームに設定するＭＡＣアドレス及び／又はＩＰアドレスを、前記ネットワーク中継装置で保持している複数のＭＡＣアドレス及び／又はＩＰアドレスから選択する
前記ネットワーク中継装置。
【請求項６】
請求項５記載のネットワーク中継装置において、
前記振り分け規則はリンクアグリゲーション技術により予め定められた規則である前記ネットワーク中継装置。
【請求項７】
請求項５記載のネットワーク中継装置であって、
他のネットワーク中継装置が異常の場合に、前記外部ネットワーク中継装置の前記フローベース負荷分散機構によって、ヘルスチェック・データフレームに対する応答が自ネットワーク中継装置に振分けられ、
前記受信インタフェース判定部が、該ヘルスチェック・データフレームに対する応答について前記第３出力情報を求めて第１出力情報と比較することで、既定外のインタフェースでデータフレームを受信したことを検出する前記ネットワーク中継装置。
【請求項８】
請求項５記載のネットワーク中継装置であって、
送信するヘルスチェック・データフレームは、ＩＣＭＰ（Ｉｎｔｅｒｎｅｔ  Ｃｏｎｔｒｏｌ  Ｍｅｓｓａｇｅ  Ｐｒｏｔｏｃｏｌ）によるデータフレームである前記ネットワーク中継装置。
【請求項９】
請求項５記載のネットワーク中継装置であって、
送信するヘルスチェック・データフレームは、ＢＦＤ（Ｂｉｄｉｒｅｃｔｉｏｎａｌ  Ｆｏｒｗａｒｄｉｎｇ  Ｄｅｔｅｃｔｉｏｎ）によるデータパケットである前記ネットワーク中継装置。
【請求項１０】
請求項５記載のネットワーク中継装置であって、
送信するヘルスチェック・データフレームは、Ｅｔｈｅｒｎｅｔ  ＯＡＭ（Ｏｐｅｒａｔｉｏｎｓ，Ａｄｍｉｎｉｓｔｒａｔｉｏｎ，Ｍａｉｎｔｅｎａｎｃｅ）によるデータフレームである前記ネットワーク中継装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク中継装置及びネットワーク中継システムに関する。
【背景技術】
【０００２】
ネットワーク中継装置を複数台接続し、一台の仮想的なネットワーク中継装置（以後、仮想ネットワーク中継装置と記述）として動作させる技術が知られている。例えば、非特許文献１において記載されているＶＳＳ（Ｖｉｒｔｕａｌ  Ｓｗｉｔｃｈｉｎｇ  Ｓｙｓｔｅｍ）と呼ばれるネットワークシステムが前記仮想ネットワーク中継装置に該当する技術である。
【０００３】
仮想ネットワーク中継装置は、複数のネットワーク中継装置（以後、外部ネットワーク中継装置）や、複数のサーバなどと接続されている（以後、仮想ネットワーク中継装置と接続しているネットワーク中継装置、およびサーバなどを外部ネットワーク装置と記述、特に構成に依存しない一般的なネットワーク中継装置、およびサーバなどをネットワーク装置と記述）。
【０００４】
仮想ネットワーク中継装置と外部ネットワーク装置間は、冗長性を確保するために、複数の物理回線で接続し、ある外部ネットワーク装置から接続している複数の回線のそれぞれ（以後、仮想ネットワーク中継装置と外部ネットワーク装置とを接続する回線を外部装置間回線と記述）は、仮想ネットワーク中継装置を構成するネットワーク中継装置（以後、内部ネットワーク中継装置と記述）のそれぞれと接続する構成が推奨されている。ある外部ネットワーク装置から接続している複数の外部装置間回線は、複数の物理回線を１つの仮想的な物理回線として動作させるリンクアグリゲーション、またはＩＰルーティングにおけるイコールコストマルチパスなど、いずれの冗長化技術を用いてもよい。
【０００５】
リンクアグリゲーション、イコールコストマルチパスいずれの冗長化技術も送信するデータフレームを、送信先のネットワーク装置と接続している複数の回線のいずれかに振分ける負荷分散機能を備えている。負荷分散機能は、フレーム内のＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレス、ＶＬＡＮ（Ｖｉｒｔｕａｌ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）識別子、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレス、Ｐｏｒｔ番号、ＶＰＮ（Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋ）識別子などの識別子の１つ以上の組み合わせで決まるフロー識別子と、送信先のネットワーク装置と接続する回線数（以後、冗長化構成回線数と記述）によって回線内部番号を算出し、回線内部番号を保持する回線に対して、データフレームを出力する（以後、フローベース負荷分散機構と記述）場合がある。
【０００６】
仮想ネットワーク中継装置は、内部ネットワーク中継装置のいずれか一台が運用装置として動作し、運用装置以外の内部ネットワーク中継装置は待機装置として動作する。運用装置は、ネットワーク中継（レイヤ２転送、レイヤ３転送など）を実現するために、ルーティングプロトコルなどのネゴシエーション処理を、外部ネットワーク中継装置と実施する。また、運用装置で障害が発生した場合、待機装置のいずれか一台が運用装置として動作する。なお、負荷分散のために、機能毎、インタフェース毎などでそれぞれ異なる内部ネットワーク中継装置が、運用装置として動作する場合がある。
【０００７】
運用装置の障害を、内部ネットワーク中継装置間を接続する回線（以後、内部装置間回線と記述）を通じて検知する構成があるが、内部装置間回線のリンクダウンなどの障害が発生した場合、内部ネットワーク装置全体の障害であるか、内部装置間回線のみの障害であるかの区別がつかない。このため、内部装置間回線の障害発生時に、運用装置として動作する内部ネットワーク中継装置が２台以上動作する状態、もしくは、運用装置として動作する内部ネットワーク中継装置が１台も動作しない状態となる基本課題がある。
【０００８】
基本課題の詳細を説明するため、内部装置間回線に障害が発生した場合の動作を説明する。内部装置間回線の障害が発生した場合の具体的な動作方法は例えば２つある。
第１の動作方法として、内部装置間回線の障害を検知した場合、障害検知前の運用装置は自装置内の全回線をダウンし、装置の運用を停止する。一方、障害検知前の待機装置は運用装置として動作する（非特許文献１  ４２ページ、“Ｄｅｔｅｃｔｉｏｎ  Ｍｅｃｈａｎｉｓｍｓ  ａｎｄ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ”参照）。第１の動作方法では、待機装置全体の障害で内部装置間回線の障害が発生した場合、運用装置として動作する内部ネットワーク中継装置が一台もないため、外部ネットワーク装置で異常を検知し通信が停止する。
【０００９】
第２の動作方法として、内部装置間回線の障害を検知した場合、障害検知前の運用装置は運用装置として動作を継続する。一方、障害検知前の待機装置も運用装置として動作する。この動作では、内部装置間回線のみの障害である場合、運用装置として動作する内部ネットワーク中継装置が２台以上となる。外部ネットワーク中継装置は同一装置（仮想ネットワーク中継装置）から２本以上のセッション確立を要求されることになる。この場合、ルーティングプロトコルなどプロトコルによっては、最初に確立したセッションを切断し、当該セッションから学習した経路情報を消去することで、通信が停止する。
【００１０】
上記基本課題を解決するための一手法が、特許文献１に開示されている。
特許文献１では、複数台のネットワーク中継装置で冗長化を実現するネットワーク中継システムをモデルにしている。ネットワーク中継システムを構成するネットワーク中継装置の一台を運用系として動作させ、運用系以外のネットワーク中継装置を待機系として動作させる。仮想ネットワーク中継装置技術と異なる点は、待機系として動作する装置はネットワーク中継システムと接続するネットワーク中継装置（以後、下流ネットワーク中継装置と記述）との通信を論理的に切断していること、および、運用系、待機系のそれぞれは下流ネットワーク中継装置からは独立したネットワーク中継装置として認識されることである。このため、特許文献１では、運用系、待機系のそれぞれに接続された複数の回線に対して、リンクアグリゲーションを適用できないネットワーク構成である。
【００１１】
この上で、特許文献１では、下流ネットワーク中継装置と、運用系および待機系のそれぞれに接続する回線を利用する。下流ネットワーク中継装置は、ネットワーク中継システムと接続している回線に障害が発生した場合、ネットワーク中継システムを構成するネットワーク中継装置のうち、障害の発生した回線と接続するネットワーク中継装置とは異なるネットワーク中継装置に対して、一方のネットワーク中継装置に障害が発生したことを通知することで、運用系は待機系の障害を、待機系は運用系の障害を検知することができる。
特許文献１では、下流ネットワーク中継装置に、ネットワーク中継システムを構成するネットワーク中継装置のそれぞれと接続している回線の構成を認識し、障害通知の制御フレームを通知する仕組みを実装する必要がある。また、ネットワーク中継システムと下流ネットワーク中継装置間の回線に対してリンクアグリゲーションを適用できないという新たな課題がある。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特許第４４３７９８４号公報
【非特許文献】
【００１３】
【非特許文献１】Ｃｉｓｃｏ  Ｓｙｓｔｅｍｓ、「Ｃｉｓｃｏ  Ｃａｔａｌｙｓｔ  ６５００  Ｓｅｒｉｅｓ  Ｖｉｒｔｕａｌ  Ｓｗｉｔｃｈｉｎｇ  Ｓｙｓｔｅｍ（ＶＳＳ）１４４０」、[Ｏｎｌｉｎｅ]、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｃｉｓｃｏ．ｃｏｍ／ｅｎ／ＵＳ／ｐｒｏｄ／ｃｏｌｌａｔｅｒａｌ／ｓｗｉｔｃｈｅｓ／ｐｓ５７１８／ｐｓ９３３６／ｗｈｉｔｅ＿ｐａｐｅｒ＿ｃ１１＿４２９３３８．ｐｄｆ＞
【発明の概要】
【発明が解決しようとする課題】
【００１４】
本出願人は、異なる手法を提案する関連技術として他の特許出願をしている（特願２０１０−１２１８７４号）。この関連技術では、概略、外部ネットワーク中継装置と、仮想ネットワーク中継装置の運用装置、および待機装置のそれぞれに接続する回線で構築したリンクアグリゲーションを利用する。運用装置、もしくは待機装置は内部装置間回線の障害が発生した場合、リンクアグリゲーションを介して、運用装置は待機装置の生存確認をし、待機装置は運用装置の生存確認を実施する。生存確認の方法として、例えば運用装置は、生存確認用の制御フレームをリンクアグリゲーションに向けて送信する。外部ネットワーク中継装置は生存確認用の制御フレームを認識し、同一リンクアグリゲーション内の受信した回線とは異なる回線に制御フレームを転送する。待機装置は受信した生存確認用の制御フレームに対して応答フレームを生存確認用の制御フレームを受信した回線に送信することで、生存確認を実施する。
この関連技術では、外部ネットワーク中継装置が生存確認用の制御フレームを認識し、同一リンクアグリゲーション内で制御フレームを折り返す動作が必要となる。
【００１５】
本発明では、上述の基本課題に加え、特許文献１及び上記関連技術で生じた新たな２つの課題を解決する。新たに生じた第１の課題は仮想ネットワーク中継装置が発行する特殊な制御フレームを外部ネットワーク中継装置が認識する必要があるという課題である。新たに生じた第２の課題は、特許文献１の方法で記載されているように、特定の制御フレームに関して、同一リンクアグリゲーション内でフレームを折り返すという特殊な機能を外部ネットワーク中継装置に実装する必要があるという課題である。新たに生じたいずれの課題も外部ネットワーク中継装置に特殊な機能を実装する必要がある。
以上の点に鑑み、本発明は、外部ネットワーク中継装置に特殊な実装を必要とせずに、内部装置間回線の障害発生時に、運用装置として動作する内部ネットワーク中継装置が２台以上動作する状態、もしくは、運用装置として動作する内部ネットワーク中継装置が１台も動作しない状態となることを防ぐことを目的とする。また、本発明は、受信したデータフレームが既定のネットワークインタフェースで受信されたかを判定することで、本来受信するはずのネットワークインタフェースで障害が発生したことを検知することを目的とする。
【課題を解決するための手段】
【００１６】
本発明は、上述の課題に対して、少なくとも一部を解決するためになされたものであり、例えば、以下の形態または適用例として実現することが可能である。
[適用例１]
適用例１のネットワーク中継装置は、複数の内部ネットワーク中継装置を仮想的な１つのネットワーク中継装置として動作させるネットワーク中継システムを構成するネットワーク中継装置であって、
前記ネットワーク中継システムは、複数の外部ネットワーク中継装置のそれぞれと複数の回線で接続されている。また、前記ネットワーク中継システムと前記外部ネットワーク中継装置とを接続する複数の回線のそれぞれは、前記ネットワーク中継システムを構成する複数の前記内部ネットワーク中継装置のそれぞれに接続されており、前記外部ネットワーク中継装置は前記ネットワーク中継システムと接続している前記複数の回線にフローベース負荷分散機構を備えた冗長化技術を適用している。
前記ネットワーク中継装置は、前記冗長化技術を適用しているネットワークインタフェースで受信するデータフレームの情報（以後、受信インタフェース判定情報を記述）を転送部に設定する受信判定制御部を備え、
前記冗長化技術を適用しているネットワークインタフェースからデータフレームを受信すると、前記受信判定制御部によって設定された情報に基づいて、受信した前記データフレームから情報を抽出し、受信した前記データフレームが、既定のネットワークインタフェースで受信されたかを判定し、既定のネットワークインタフェースで受信されていない場合、前記受信判定制御部に通知する受信インタフェース判定部とを備えるネットワーク中継装置である。
このように、適用例１のネットワーク中継装置では、冗長化技術に適用するフローベース負荷分散機構の仕組みを利用する。
外部ネットワーク中継装置は、ネットワーク中継システムと接続しており、かつ前記冗長化技術を適用している回線のいずれかに障害が発生した場合、障害の発生した回線に振分けられていたフレームは、障害の発生した回線とは異なる回線に振分けられる。
適用例１のネットワーク中継装置は、障害発生前の情報に基づいて、受信したデータフレームが既定のネットワークインタフェースで受信されたかを判定することで、本来受信するはずのネットワークインタフェースで障害が発生したことを検知することができる。
特定の内部ネットワーク中継装置と接続する全てのネットワークインタフェースの障害を検知することで、特定の内部ネットワーク中継装置全体の障害として検知することができる。
【００１７】
[適用例２]
適用例１記載のネットワーク中継装置であって、
フローベース負荷分散機構を備える冗長化技術はリンクアグリゲーションである。
これにより、適用例１のコンピュータネットワークの構成にリンクアグリゲーションを適用することができる。
【００１８】
[適用例３]
適用例１記載のネットワーク中継装置であって、
受信インタフェース判定部から通知された情報に基づいて、状態の変更が発生したネットワークインタフェース、および内部ネットワーク中継装置を特定する、受信判定制御部を備え、
前記受信判定制御部で特定した内部ネットワーク中継装置の全てのネットワークインタフェースで障害を検知した場合、前記受信判定制御部で特定した内部ネットワーク中継装置で障害が発生したと認識し、
前記受信判定制御部で特定した内部ネットワーク中継装置が運用装置であった場合、かつ前記ネットワーク中継装置が、代わりの運用装置として動作する待機装置である場合に、運用装置として動作を開始する、障害確認制御部とを備えるネットワーク中継装置。
このように、適用例３のネットワーク中継装置は、外部ネットワーク中継装置に特殊な機能の実装なしに、また、外部ネットワーク中継装置が特殊な制御フレームを認識することなしに、運用装置の障害を検知し、代わりに運用装置として動作することが可能となる。
【００１９】
[適用例４]
適用例３記載のネットワーク中継装置であって、
外部ネットワーク中継装置と接続しているネットワークインタフェースで障害が発生した場合、もしくは復旧した場合、もしくは受信インタフェース判定部から通知された情報から状態が変更したネットワークインタフェースを特定した場合、
他の内部ネットワーク中継装置にネットワークインタフェースの状態を通知するインタフェース状態変更メッセージを送信し、
他の内部ネットワーク中継装置から前記インタフェース状態変更メッセージを受信すると、受信した前記インタフェース状態変更メッセージの情報に基づいて、転送部に設定した受信インタフェース判定情報を変更する、
受信判定制御部を備える、ネットワーク中継装置。
このように、適用例４のネットワーク中継装置では、内部ネットワーク中継装置間の回線が通信可能な間に発生した外部ネットワーク中継装置と内部ネットワーク中継装置間の回線の状態変更に、対応することができ、より高速に内部ネットワーク中継装置と外部ネットワーク中継装置間の回線の状態変更を検知することができる。
また、接続していない冗長化技術を適用したネットワークインタフェースの状態を検知することができる。
【００２０】
[適用例５]
適用例３記載のネットワーク中継装置であって、
複数のＭＡＣアドレス、またはＩＰアドレスを保持し、特定の内部ネットワーク中継装置の外部装置間回線とフローベース負荷分散機構を備える冗長化技術を適用した外部装置間回線から特定のネットワーク装置に向けてヘルスチェック・データフレームを送信する。前記送信したヘルスチェック・データフレームは、前記送信したヘルスチェック・データフレームに対する応答が、外部ネットワーク中継装置のフローベース負荷分散機構によって、前記特定の内部ネットワーク中継装置側の外部装置間回線に振分けられるように、ヘルスチェック・データフレーム内のＭＡＣアドレス、またはＩＰアドレスを、前記ネットワーク中継装置で保持している複数のＭＡＣアドレス、またはＩＰアドレスから選択し、設定する装置障害確認制御部を備える、ネットワーク中継装置。
このように、第５のネットワーク中継装置では、ユーザフレームが送受信されていない状態でも、特定の内部ネットワーク中継装置の障害を検知することが可能となる。
【００２１】
[適用例６]
適用例５記載のネットワーク中継装置であって、
外部装置間回線に送信するヘルスチェック・データフレームは、ＩＣＭＰによるデータフレームである。
【００２２】
[適用例７]
適用例５記載のネットワーク中継装置であって、
外部装置間回線に送信するヘルスチェック・データフレームは、ＢＦＤ（Ｂｉｄｉｒｅｃｔｉｏｎａｌ  Ｆｏｒｗａｒｄｉｎｇ  Ｄｅｔｅｃｔｉｏｎ）によるデータパケットである。
【００２３】
[適用例８]
適用例５記載のネットワーク中継装置であって、
外部装置間回線に送信するヘルスチェック・データフレームは、Ｅｔｈｅｒｎｅｔ  ＯＡＭ（Ｏｐｅｒａｔｉｏｎｓ，Ａｄｍｉｎｉｓｔｒａｔｉｏｎ，Ｍａｉｎｔｅｎａｎｃｅ）によるデータフレームである（Ｅｔｈｅｒｎｅｔは登録商標）。
本発明の形態は、ネットワーク中継装置、ネットワーク中継システムおよびネットワーク中継方法に限るものではなく、例えば、ネットワーク中継装置の一部を構成する部品、ネットワーク中継装置の機能をコンピュータに実現させるためのプログラムなどの他の形態に適用することもできる。また、本発明は、前述の形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内において様々な形態で実施し得ることは勿論である。
【００２４】
本発明の第１の解決手段によると、
複数のネットワーク中継装置によりひとつの仮想ネットワーク中継装置を構成し、該複数のネットワーク中継装置は、外部ネットワーク中継装置にそれぞれ接続されて冗長構成をとり、該外部ネットワーク中継装置から各ネットワーク中継装置へのデータフレームは、該外部ネットワーク中継装置のフローベース負荷分散機構により、データフレーム内の所定のフロー識別子に基づいて予め定められた振り分け規則に従い、フローに応じてネットワーク中継装置に振り分けて送信されるネットワークシステムにおける前記ネットワーク中継装置であって、
前記外部ネットワーク中継装置からデータフレームを受信するインタフェースと、
前記振り分け規則に従い該インタフェースで受信するフローを識別するフロー識別情報が予め記憶された受信インタフェース判定情報記憶領域と、
前記インタフェースを介して受信したデータフレーム内の前記フロー識別子に基づきフローを識別し、該フローと、前記受信判定情報記憶領域に記憶されたフロー識別情報が示すフローが一致しない場合、既定外のインタフェースでデータフレームを受信したと判断する受信インタフェース判定部と
を備えた前記ネットワーク中継装置が提供される。
【００２５】
本発明の第２の解決手段によると、
仮想ネットワーク中継装置を構成する複数のネットワーク中継装置を備えたネットワーク中継システムであって、
該複数のネットワーク中継装置は、外部ネットワーク中継装置にそれぞれ接続され、該外部ネットワーク中継装置から各ネットワーク中継装置へのデータフレームは、該外部ネットワーク中継装置のフローベース負荷分散機構により、該データフレーム内の予め定められたフロー識別子の内容と第１冗長構成情報とに基づき予め定められた振り分け規則で求まる第１出力情報に従い、各ネットワーク中継装置に振り分けて送信され、前記複数のネットワーク中継装置のいずれか又は前記複数のネットワーク中継装置と接続する複数の回線のいずれかに障害が発生すると、該ネットワーク中継装置を除外した第２冗長構成情報と前記フロー識別子の内容とに基づき前記振り分け規則で求まる第２出力情報に従い、前記外部ネットワーク中継装置からデータフレームが送信され、
前記ネットワーク中継装置は、
前記外部ネットワーク中継装置からデータフレームを受信するインタフェースと、
前記外部ネットワーク中継装置が第１及び第２出力情報を求めるのに用いる前記フロー識別子の種別と第１冗長構成情報とが予め記憶され、及び、前記インタフェースに対応する前記第１出力情報が予め記憶された受信インタフェース判定情報記憶領域と、
前記受信インタフェース判定情報記憶領域に記憶されたフロー識別子の種別に従い、前記インタフェースで受信したデータフレームから、前記フロー識別子の内容を抽出し、抽出された情報と、記憶された第１冗長構成情報とに基づき前記振り分け規則で第３出力情報を求め、該第３出力情報と前記受信インタフェース判定情報記憶領域に記憶された第１出力情報が一致しない場合に、既定外のインタフェースでデータフレームを受信したと判断する受信インタフェース判定部と
を有する前記ネットワーク中継システムが提供される。
【発明の効果】
【００２６】
本発明によると、外部ネットワーク中継装置に特殊な実装を必要とせずに、内部装置間回線の障害発生時に、運用装置として動作する内部ネットワーク中継装置が２台以上動作する状態、もしくは、運用装置として動作する内部ネットワーク中継装置が１台も動作しない状態となることを防ぐことができる。また、本発明によると、受信したデータフレームが既定のネットワークインタフェースで受信されたかを判定することで、本来受信するはずのネットワークインタフェースで障害が発生したことを検知することができる。
【図面の簡単な説明】
【００２７】
【図１】第１の実施例におけるネットワークシステムの構成を示す説明図である。
【図２】第１の実施例における外部ネットワーク中継装置２００ａのリンクアグリゲーションの設定内容を示す説明図である。
【図３】第１の実施例における外部ネットワーク中継装置２００ｂのリンクアグリゲーションの設定内容を示す説明図である。
【図４】第１の実施例における外部ネットワーク中継装置２００ｃのリンクアグリゲーションの設定内容を示す説明図である。
【図５】内部ネットワーク中継装置の構成を示す説明図である。
【図６】内部ネットワーク中継装置の受信インタフェース判定部が実行する受信インタフェース判定処理を示すフローチャートである。
【図７】第１の実施例における内部ネットワーク中継装置３００ａの受信インタフェース判定情報の設定内容を示す説明図である。
【図８】第１の実施例における内部ネットワーク中継装置３００ｂの受信インタフェース判定情報の設定内容を示す説明図である。
【図９】内部ネットワーク中継装置の回線状態情報を示す説明図である。
【図１０】内部ネットワーク中継装置の受信判定制御部３２１が実行するネットワークインタフェース状態変更処理を示すフローチャートである。
【図１１】内部ネットワーク中継装置の受信判定制御部３２１が実行するインタフェース状態変更メッセージ受信処理を示すフローチャートである。
【図１２】内部ネットワーク中継装置の受信判定制御部３２１が実行する既定外インタフェース受信処理を示すフローチャートである。
【図１３】内部ネットワーク中継装置の障害確認制御部３２２が実行する内部ネットワーク中継装置障害検知処理を示すフローチャートである。
【図１４】端末装置の設定内容を示す説明図である。
【図１５】内部ネットワーク中継装置の障害確認制御部３２２が実行する内部ネットワーク中継装置障害確認処理を示すフローチャートである。
【図１６】内部ネットワーク中継装置３００で保持するＭＡＣアドレス、ＩＰアドレスを示す説明図である。
【図１７】第１の実施例におけるデータフレーム転送時の内部ネットワーク中継装置の動作を説明するための説明図である。
【図１８】第１の実施例において、運用装置である内部ネットワーク中継装置３００ａで障害発生した場合の内部ネットワーク中継装置の動作を説明するための説明図である。
【図１９】第１の実施例において、運用装置である内部ネットワーク中継装置３００ａで障害が発生した場合の外部ネットワーク中継装置２００ａのリンクアグリゲーションの設定内容を示す説明図である。
【図２０】第１の実施例において、運用装置である内部ネットワーク中継装置３００ａで障害が発生した場合の外部ネットワーク中継装置２００ｂのリンクアグリゲーションの設定内容を示す説明図である。
【図２１】第１の実施例において、運用装置である内部ネットワーク中継装置３００ａで障害が発生した場合の外部ネットワーク中継装置２００ｃのリンクアグリゲーションの設定内容を示す説明図である。
【図２２】第１の実施例において、運用装置である内部ネットワーク中継装置３００ａで障害が発生し、既定外インタフェース受信処理実施後の回線状態情報３３４の内容を示す説明図である。
【図２３】第１の実施例において、ネットワークインタフェース３２ａ、２１ｂ間の回線で障害が発生した場合の内部ネットワーク中継装置の動作を説明するための説明図である。
【図２４】第１の実施例の変形例２における外部ネットワーク中継装置２００ａのリンクアグリゲーションの設定内容を示す説明図である。
【図２５】第１の実施例の変形例２における外部ネットワーク中継装置２００ｂのリンクアグリゲーションの設定内容を示す説明図である。
【図２６】第１の実施例の変形例２における外部ネットワーク中継装置２００ｃのリンクアグリゲーションの設定内容を示す説明図である。
【図２７】第１の実施例の変形例２における内部ネットワーク中継装置３００ａの受信インタフェース判定情報の設定内容を示す説明図である。
【図２８】第１の実施例の変形例２における内部ネットワーク中継装置３００ｂの受信インタフェース判定情報の設定内容を示す説明図である。
【発明を実施するための形態】
【００２８】
以上説明した本発明の構成および作用を一層明らかにするために、以下本発明を適用したコンピュータネットワークについて以下の順序で説明する。
実施例１：
Ａ１．ネットワーク構成：
Ａ２．外部ネットワーク中継装置のリンクアグリゲーション設定内容：
Ａ３．内部ネットワーク中継装置の内部構造：
Ａ４．内部ネットワーク中継装置の動作：
Ａ４−１．受信インタフェース判定情報：
Ａ４−２．受信インタフェース判定処理：
Ａ４−３．リンクアグリゲーションを構成する回線の状態管理：
Ａ４−４．ネットワークインタフェース状態変更検知時の処理：
Ａ４−５．内部ネットワーク中継装置障害検知処理：
Ａ４−６．内部ネットワーク中継装置障害確認処理：
Ａ５．データフレーム転送時の動作
Ｂ１．第１の実施例における変形例１：
Ｂ２．第１の実施例における変形例２
【００２９】
Ａ１．ネットワーク構成：
本発明の第１のデータ通信システムを適用した実施例を図１から図２０を用いて説明する。
図１は、コンピュータネットワーク１０の構成を示す説明図である。コンピュータネットワーク１０は、複数の外部ネットワーク４００と、ネットワーク中継システム３０とを備え、ネットワーク中継システム３０は、複数の外部ネットワーク４００を相互に接続する。
本実施例では、ネットワーク中継システム３０によって、相互に接続される外部ネットワーク４００の数は、三つであるが、他の実施形態において、二つであっても良いし、四つ以上であっても良い。本実施例の説明では、外部ネットワーク中継装置を一般的に示す場合には、「４００」の符号を用い、特定の外部ネットワーク中継装置を示す場合には、「４００」の後に英文字を付した符号を用いる。図１では、三つの外部ネットワークを例示し、それぞれに「４００ａ」、「４００ｂ」、および「４００ｃ」の符号を用いる。
【００３０】
複数の外部ネットワーク４００のそれぞれは、ネットワーク中継システム３０に対してデータフレームを中継する外部ネットワーク中継装置２００を備える。本実施例での外部ネットワーク中継装置２００は、ＯＳＩ（Ｏｐｅｎ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｃｏｎｎｅｃｔｉｏｎ）参照モデルにおけるネットワーク層のプロトコルであるＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）、またはＯＳＩ参照モデルにおけるデータリンク層のプロトコルであるイーサネット（登録商標）に準拠した転送方式を実現するレイヤ３スイッチやルータとも呼ばれるネットワーク中継装置である。
【００３１】
本実施例の説明では、外部ネットワーク中継装置を一般的に示す場合には、「２００」の符号を用い、特定の外部ネットワーク中継装置には、「２００」の後に、その外部ネットワーク中継装置が所属する外部ネットワークと同じ英文字を付した符号を用いる。図１の例では、外部ネットワーク４００ａは、外部ネットワーク中継装置２００ａを備え、外部ネットワーク４００ｂは、外部ネットワーク中継装置２００ｂを備え、外部ネットワーク４００ｃは、外部ネットワーク中継装置２００ｃを備える。
外部ネットワーク中継装置２００は、ＩＰまたはイーサネット（登録商標）に準拠してデータフレームをやり取りするネットワークインタフェースを備える。本実施例では、一例として、外部ネットワーク中継装置２００ａは、二つのネットワークインタフェース２１ａ、２２ａを備え、外部ネットワーク中継装置２００ｂは、二つのネットワークインタフェース２１ｂ、２２ｂを備え、外部ネットワーク中継装置２００ｃは、二つのネットワークインタフェース２１ｃ、２２ｃを備える。
【００３２】
外部ネットワーク４００は、種々の演算処理を実行する端末装置６００を備える。本実施例の説明では、外部ネットワーク４００に所属する端末装置を一般的に示す場合には、「６００」の符号を用い、特定の端末装置を示す場合には、「６００」の後に英文字を付した符号を用いる。図１では、外部ネットワーク４００ａは二つの端末装置６００ａ、６００ｄを備え、外部ネットワーク４００ｂは二つの端末装置６００ｂ、６００ｅを備え、外部ネットワーク４００ｃは二つの端末装置６００ｃ、６００ｆを備える。
ネットワーク中継システム３０は、複数の外部ネットワーク中継装置２００との間でやり取りされるデータフレームを中継する内部ネットワークを構築する複数の中継部として複数の内部ネットワーク中継装置３００を備える。本実施例では、内部ネットワーク中継装置３００は、ＩＰまたはイーサネット（登録商標）に準拠した転送方式を実現するレイヤ３スイッチやルータとも呼ばれるネットワーク中継装置である。
【００３３】
本実施例では、複数の内部ネットワーク中継装置３００のそれぞれは、個別に独立したネットワーク中継装置であり、ネットワーク中継システム３０は、複数の内部ネットワーク中継装置３００が協働することによって仮想的な単一のネットワーク中継装置（仮想ネットワーク中継装置）として機能する。他の実施形態において、複数の内部ネットワーク中継装置３００のそれぞれを部品として一つの筐体に納めた単一のネットワーク中継装置としてネットワーク中継システム３０を構成しても良い。本実施例の説明では、内部ネットワーク中継装置を一般的に示す場合には、「３００」の符号を用い、特定の内部ネットワーク中継装置を示す場合には、「３００」の後に英文字を付した符号を用いる。図１では、二つの内部ネットワーク中継装置を例示し、それぞれに「３００ａ」、「３００ｂ」の符号を用いる。
【００３４】
内部ネットワーク中継装置３００は、ＩＰまたはイーサネット（登録商標）に準拠したデータフレームをやり取りするネットワークインタフェースを備える。図１の例では内部ネットワーク中継装置３００ａは、四つのネットワークインタフェース３１ａ、３２ａ、３３ａ、３４ａを備え、内部ネットワーク中継装置３００ｂは、四つのネットワークインタフェース３１ｂ、３２ｂ、３３ｂ、３４ｂを備える。本実施例の説明では、内部ネットワーク中継装置３００の四つのネットワークインタフェースを一般的に示す場合には、「３１」、「３２」、「３３」、「３４」の符号を用い、特定のネットワークインタフェースを示す場合には、その内部ネットワーク中継装置３００の符号に付された英文字を数字の後に付した符号を用いる。
内部ネットワーク中継装置３００ａと内部ネットワーク中継装置３００ｂとは、ネットワークインタフェース３４ａ、およびネットワークインタフェース３４ｂによって接続されている。
【００３５】
外部ネットワーク中継装置２００ａと内部ネットワーク中継装置３００ａとは、ネットワークインタフェース２１ａ、３１ａによって接続されている。外部ネットワーク中継装置２００ａと内部ネットワーク中継装置３００ｂとは、ネットワークインタフェース２２ａ、３１ｂによって接続されている。ネットワークインタフェース２１ａ、３１ａ、およびネットワークインタフェース２２ａ、３１ｂによる二つの接続回線は、仮想的な単一のネットワークインタフェースとしてリンクアグリゲーション５０ａを構成する。
外部ネットワーク中継装置２００ｂと内部ネットワーク中継装置３００ａとは、ネットワークインタフェース２１ｂ、３２ａによって接続されている。外部ネットワーク中継装置２００ｂと内部ネットワーク中継装置３００ｂとは、ネットワークインタフェース２２ｂ、３２ｂによって接続されている。ネットワークインタフェース２１ｂ、３２ａ、およびネットワークインタフェース２２ｂ、３２ｂによる二つの接続回線は、仮想的な単一のネットワークインタフェースとしてリンクアグリゲーション５０ｂを構成する。
外部ネットワーク中継装置２００ｃと内部ネットワーク中継装置３００ａとは、ネットワークインタフェース２１ｃ、３３ａによって接続されている。外部ネットワーク中継装置２００ｃと内部ネットワーク中継装置３００ｂとは、ネットワークインタフェース２２ｃ、３３ｂによって接続されている。ネットワークインタフェース２１ｃ、３３ａ、およびネットワークインタフェース２２ｃ、３３ｂによる二つの接続回線は、仮想的な単一のネットワークインタフェースとしてリンクアグリゲーション５０ｃを構成する。
【００３６】
本実施例の説明では、内部ネットワーク中継装置３００とネットワーク中継システム３０間で構成する三つのリンクアグリゲーションを一般的に示す場合には、「５０」の符号を用い、特定のリンクアグリゲーションを示す場合には、その外部ネットワーク中継装置２００の符号に付された英文字を数字の後に付した符号を用いる。
なお、リンクアグリゲーション以外にも、フローベースの適宜の負荷分散技術を用いてもよい。
【００３７】
Ａ２．外部ネットワーク中継装置のリンクアグリゲーション設定内容：
図２、図３、図４は、外部ネットワーク中継装置２００におけるリンクアグリゲーション５０の設定内容を示す説明図である。
図２は、外部ネットワーク中継装置２００ａがリンクアグリゲーション５０ａからデータフレームを送信する場合に使用するテーブル（リンクアグリゲーションテーブル及びリンクアグリゲーション構成テーブル）の説明図である。
図２のリンクアグリゲーションテーブルの第１列には、「リンクアグリゲーション」としてリンクアグリゲーションを特定する符号（識別情報、以下同じ）を示している。図２のリンクアグリゲーションテーブルの第２列には「冗長回線数」として第１列に示すリンクアグリゲーションを構成するネットワークインタフェースの数を示している。図２のリンクアグリゲーションテーブルの第３列には、「フロー識別子候補」として、第１列に示すリンクアグリゲーションからフレームを送信する場合に使用するフロー識別子の候補を示している。図２のリンクアグリゲーションテーブルの第４列には「使用／未使用」として、第３列に示すフロー識別子の候補のうち、フロー識別子として使用するか、使用しないかを示している。
図２のリンクアグリゲーション構成テーブルの第１列には、「リンクアグリゲーション」としてリンクアグリゲーションを特定する符号を示している。図２のリンクアグリゲーション構成テーブルの第２列には、「回線内部番号」として第１列に示すリンクアグリゲーションを構成するネットワークインタフェースを、第１列に示すリンクアグリゲーション内で識別するための内部番号を示している。図２のリンクアグリゲーション構成テーブルの第３列には、「ネットワークインタフェース」として第１列に示すリンクアグリゲーションを構成するネットワークインタフェースを特定する符号を示している。
【００３８】
図３は、外部ネットワーク中継装置２００ｂがリンクアグリゲーション５０ｂからフレームを送信する場合に使用するテーブルの説明図である。
図３のリンクアグリゲーションテーブルの第１列には、「リンクアグリゲーション」としてリンクアグリゲーションを特定する符号を示している。図３のリンクアグリゲーションテーブルの第２列には「冗長回線数」として第１列に示すリンクアグリゲーションを構成するネットワークインタフェースの数を示している。図３のリンクアグリゲーションテーブルの第３列には、「フロー識別子候補」として、第１列に示すリンクアグリゲーションからフレームを送信する場合に使用するフロー識別子の候補を示している。図３のリンクアグリゲーションテーブルの第４列には「使用／未使用」として、第３列に示すフロー識別子の候補のうち、フロー識別子として使用するか、使用しないかを示している。
図３のリンクアグリゲーション構成テーブルの第１列には、「リンクアグリゲーション」としてリンクアグリゲーションを特定する符号を示している。図３のリンクアグリゲーション構成テーブルの第２列には、「回線内部番号」として第１列に示すリンクアグリゲーションを構成するネットワークインタフェースを、第１列に示すリンクアグリゲーション内で識別するための内部番号を示している。図３のリンクアグリゲーション構成テーブルの第２列には、「ネットワークインタフェース」として第１列に示すリンクアグリゲーションを構成するネットワークインタフェースを特定する符号を示している。
【００３９】
図４は、外部ネットワーク中継装置２００ｃがリンクアグリゲーション５０ｃからフレームを送信する場合に使用するテーブルの説明図である。
図４のリンクアグリゲーションテーブルの第１列には、「リンクアグリゲーション」としてリンクアグリゲーションを特定する符号を示している。図４のリンクアグリゲーションテーブルの第２列には「冗長回線数」として第１列に示すリンクアグリゲーションを構成するネットワークインタフェースの数を示している。図４のリンクアグリゲーションテーブルの第３列には、「フロー識別子候補」として、第１列に示すリンクアグリゲーションからフレームを送信する場合に使用するフロー識別子の候補を示している。図４のリンクアグリゲーションテーブルの第４列には「使用／未使用」として、第３列に示すフロー識別子の候補のうち、フロー識別子として使用するか、使用しないかを示している。
【００４０】
図４のリンクアグリゲーション構成テーブルの第１列には、「リンクアグリゲーション」としてリンクアグリゲーションを特定する符号を示している。図４のリンクアグリゲーション構成テーブルの第２列には、「回線内部番号」として第１列に示すリンクアグリゲーションを構成するネットワークインタフェースを、第１列に示すリンクアグリゲーション内で識別するための内部番号を示している。図４のリンクアグリゲーション構成テーブルの第２列には、「ネットワークインタフェース」として第１列に示すリンクアグリゲーションを構成するネットワークインタフェースを特定する符号を示している。
なお、本実施例では、リンクアグリゲーション構成テーブルのフロー識別子としてＭＡＣアドレス、ＥｔｈｅｒＴｙｐｅ、ＶＬＡＮ番号、ＩＰアドレス、ポート番号、ＶＰＮ番号を使用しているが、他の実施形態において、他のフロー識別子を用いてもよい。また、ＭＡＣアドレスや、ＩＰアドレスは、宛先、送信元でフロー識別子を分けて選択可能としてもよい。
【００４１】
Ａ３．内部ネットワーク中継装置の内部構造：
図５は、内部ネットワーク中継装置３００の構成を示す説明図である。なお、一般的なネットワーク中継装置が備える構成、機能については、本実施例では説明を省略する。
内部ネットワーク中継装置３００は、制御部３１０と、転送部３４０と、ネットワークインタフェース３９０とを備える。内部ネットワーク中継装置３００の制御部３１０は、転送部３４０およびネットワークインタフェース３９０の動作を制御する。
制御部３１０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、処理部）３２０と、記憶部３３０とを備える。制御部３１０のＣＰＵ３２０は、記憶部３３０に記憶されている制御プログラム３３１に基づいて種々の処理を実行する。本実施例で、ＣＰＵ３２０は、リンクアグリゲーションなどの冗長化機能に基づく処理や、仮想ネットワーク中継装置を構築するための制御に基づく処理などを実行する。また、ＣＰＵ３２０では、ネットワークインタフェース３９０から受信したデータフレームが既定のインタフェースから受信されたかを判定するための情報である受信インタフェース判定情報３５１を転送部３４０に設定する受信判定制御部３２１と、他の内部ネットワーク中継装置３００の状態を確認する障害確認制御部３２２が動作する。受信判定制御部３２１と、障害確認制御部３２２の動作詳細については後述する。
制御部３１０の記憶部３３０には、制御プログラム３３１の他、転送部３４０およびネットワークインタフェース３９０を管理するための種々の情報である管理情報３３２と、ネットワーク中継システム３０の管理者によって設定される種々の情報である設定情報３３３と、ネットワーク中継システム３０と外部ネットワーク中継装置との間で接続されているリンクアグリゲーションなどの冗長機能を構成する回線の状態を記憶する回線状態情報３３４が記憶されている。回線状態情報３３４の詳細は後述する。
【００４２】
転送部３４０の記憶部３５０は、制御部３１０のＣＰＵ３２０で動作する受信判定制御部３２１によって設定された受信インタフェース判定情報３５１を備える。記憶部３５０に記憶されているテーブルの詳細については後述する。
転送部３４０の処理部３６０は、受信インタフェース判定部３６１を備える。受信インタフェース判定部３６１は、ネットワークインタフェース３９０で受信したデータフレームに含まれるフロー識別子と、転送部３４０の記憶部３５０に記憶されている受信インタフェース判定情報３５１に基づいて、外部ネットワーク中継装置２００が予め定められた振分け方法に従って振分けられたデータフレームであるかを判定する。言い換えると、データフレームが予め定められたインタフェースから受信したかを判定する。既定のインタフェース以外から受信した場合、制御部３１０にデータフレームを受信したネットワークインタフェースの情報と、および受信したデータフレーム、または受信したデータフレーム内のフロー識別子を通知する受信インタフェース判定部３６１を備える。受信インタフェース判定部３６１の動作詳細については後述する。
ネットワークインタフェース３９０は、本実施例においては、イーサネット（登録商標）規格に準拠したツイストペアケーブル、または光ファイバなどを接続するためのインタフェースである。これら以外の適宜のインタフェースでもよい。
【００４３】
Ａ４．内部ネットワーク中継装置の動作
Ａ４−１．受信インタフェース判定情報
図７、図８は、内部ネットワーク中継装置３００における受信インタフェース判定情報３５１の設定内容を示す説明図である。インタフェース判定情報３５１は、受信判定用リンクアグリゲーションテーブルと、受信判定用リンクアグリゲーション構成テーブルを含む。
本実施例の説明では、受信インタフェース判定情報を一般的に示す場合には、「３５１」の符号を用い、特定の受信インタフェース判定情報を示す場合には、「３５１」の後に、対象の受信インタフェース判定情報を備える内部ネットワーク中継装置３００と同じ英文字を付した符号を用いる。また、本実施例では、受信インタフェース判定情報３５１は、ネットワーク中継システム３０とリンクアグリゲーションなどの冗長機能によって接続している外部ネットワーク中継装置２００のリンクアグリゲーション５０の設定内容（図２、図３、図４）に従い、例えば、ネットワーク管理者によりネットワーク中継システム３０に管理情報３３２として設定され、制御部３１０の受信判定制御部３２１によって、転送部３４０の受信インタフェース判定情報３５１に設定される。なお、ネットワーク中継システム３０は、例えば、外部ネットワーク中継装置２００から自動でリンクアグリゲーションの設定内容を受信するようにしてもよい。また、ネットワーク中継システム３０の内部ネットワーク中継装置３００や、外部ネットワーク中継装置２００が、ネットワーク監視者が操作する管理端末から設定情報を入力し、他の装置に転送するようにしてもよい。
【００４４】
図７は、内部ネットワーク中継装置３００ａの受信インタフェース判定情報３５１ａの説明図である。
図７の受信判定用リンクアグリゲーションテーブルの第１列には、「リンクアグリゲーション」としてリンクアグリゲーションを特定する符号を示している。図７の受信判定用リンクアグリゲーションテーブルの第２列には「冗長回線数」として第１列に示すリンクアグリゲーションを構成するネットワークインタフェースの数を示している。図７の受信判定用リンクアグリゲーションテーブルの第３列には、「フロー識別子候補」として、第１列に示すリンクアグリゲーションからフレームを受信した場合に使用するフロー識別子の候補を示している。図７の受信判定用リンクアグリゲーションテーブルの第４列には「使用／未使用」として、第３列に示すフロー識別子の候補のうち、フロー識別子として使用するか、使用しないかを示している。記憶される各情報は、内部ネットワーク中継装置３００ａに接続される外部ネットワーク中継装置２００のリンクアグリゲーションテーブルの各情報に対応する。
【００４５】
図７の受信判定用リンクアグリゲーション構成テーブルの第１列には、「ネットワークインタフェース」として、リンクアグリゲーションを構成するネットワークインタフェースの内、内部ネットワーク中継装置３００ａに属すネットワークインタフェースを特定する符号を示している。図７の受信判定用リンクアグリゲーション構成テーブルの第２列には、「リンクアグリゲーション」として第１列に示すネットワークインタフェースが属すリンクアグリゲーションを特定する符号を示している。図７の受信判定用リンクアグリゲーション構成テーブルの第３列には、「回線内部番号」として第１列に示すネットワークインタフェースの回線内部番号を示している。受信判定用リンクアグリゲーション構成テーブルの第３列である回線内部番号は、第１列のネットワークインタフェースと接続している外部ネットワーク中継装置２００のネットワークインタフェース２１の回線内部番号と同一値を設定する。
【００４６】
図８は、内部ネットワーク中継装置３００ｂの受信インタフェース判定情報３５１ｂの説明図である。構成は、受信インタフェース判定情報３５１ａと同様であり、設定される内容が異なる。
図８の受信判定用リンクアグリゲーションテーブルの第１列には、「リンクアグリゲーション」としてリンクアグリゲーションを特定する符号を示している。図８の受信判定用リンクアグリゲーションテーブルの第２列には「冗長回線数」として第１列に示すリンクアグリゲーションを構成するネットワークインタフェースの数を示している。図８の受信判定用リンクアグリゲーションテーブルの第３列には、「フロー識別子候補」として、第１列に示すリンクアグリゲーションからフレームを受信した場合に使用するフロー識別子の候補を示している。図８の受信判定用リンクアグリゲーションテーブルの第４列には「使用／未使用」として、第３列に示すフロー識別子の候補のうち、フロー識別子として使用するか、使用しないかを示している。
【００４７】
図８の受信判定用リンクアグリゲーション構成テーブルの第１列には、「ネットワークインタフェース」として、リンクアグリゲーションを構成するネットワークインタフェースの内、内部ネットワーク中継装置３００ｂに属すネットワークインタフェースを特定する符号を示している。図８の受信判定用リンクアグリゲーション構成テーブルの第２列には、「リンクアグリゲーション」として第１列に示すネットワークインタフェースが属すリンクアグリゲーションを特定する符号を示している。図８の受信判定用リンクアグリゲーション構成テーブルの第３列には、「回線内部番号」として第１列に示すネットワークインタフェースの回線内部番号を示している。受信判定用リンクアグリゲーション構成テーブルの第３列である回線内部番号は、第１列のネットワークインタフェースと接続している外部ネットワーク中継装置２００のネットワークインタフェースの回線内部番号と同一値を設定する。
【００４８】
Ａ４−２．受信インタフェース判定処理
図６は、内部ネットワーク中継装置３００の受信インタフェース判定部３６１が実行する受信インタフェース判定処理（ステップＳ１００）を示すフローチャートである。受信インタフェース判定処理（ステップＳ１００）は、ネットワークインタフェース３９０から受信したデータフレームが、既定のネットワークインタフェースから受信したかを判定する処理である。本実施例では、受信インタフェース判定処理（ステップＳ１００）は、転送部３４０の受信インタフェース判定部３６１が電気回路構成に基づいて動作することによって実現されるが、他の実施形態において、少なくとも一部の機能をＣＰＵがプログラムに基づいて動作することによって実現しても良い。
本実施例では、受信インタフェース判定部３６１は、ネットワークインタフェース３９０がデータフレームを受信すると、受信インタフェース判定処理（ステップ１００）を開始する。
【００４９】
内部ネットワーク中継装置３００の受信インタフェース判定部３６１は、受信インタフェース判定処理（ステップＳ１００）を開始すると、記憶部３５０に記憶された受信インタフェース判定情報３５１に基づいて、データフレームを受信したネットワークインタフェースの回線内部番号を割出す。使用する受信インタフェース判定情報の具体例を挙げると、内部ネットワーク中継装置３００ｂのリンクアグリゲーション５０ｂのネットワークインタフェース３２ｂでデータフレームを受信した場合、図８の受信判定用リンクアグリゲーション構成テーブルからリンクアグリゲーション５０ｂのネットワークインタフェース３２ｂに関する情報を使用する。前記受信判定用リンクアグリゲーション構成テーブルからデータフレームを受信したネットワークインタフェース３２ｂの回線内部番号「１」を割り出す（ステップＳ１１０）。次に、受信インタフェース判定部３６１は、記憶部３５０に記憶された受信インタフェース判定情報３５１から使用するフロー識別子を認識し、受信したデータフレームから使用するフロー識別子を抽出する。使用する受信インタフェース判定情報の具体例を挙げると、内部ネットワーク中継装置３００ｂのリンクアグリゲーション５０ｂでデータフレームを受信した場合、図８の受信判定用リンクアグリゲーションテーブルからリンクアグリゲーション５０ｂに関する情報を使用する。前記受信判定用リンクアグリゲーションテーブルのリンクアグリゲーション識別情報と、使用/未使用情報とに従い、フロー識別子候補のうち使用するフロー識別子として「ＭＡＣアドレス」、「ＶＬＡＮ番号」を使用することが判明する（ステップＳ１２０）。その後、受信インタフェース判定部３６１は、ステップＳ１２０で抽出したフロー識別子から回線内部番号を算出する。回線内部番号の算出には、図８の受信判定用リンクアグリゲーションテーブルの冗長回線数と、前記ステップＳ１２０でデータフレームから抽出したフロー識別子を用いる。具体的な回線内部番号の算出方法は図１７を参照した後に説明する（ステップＳ１３０）。本実施例では、ステップＳ１２０で抽出した全てのフロー識別子を８ｂｉｔ単位に分割し、分割した全ての８ｂｉｔ単位のデータに対してＸＯＲを実施していき、最後にリンクアグリゲーションを構成する回線数で割った余りを、回線内部番号として算出する。外部ネットワーク中継装置２００も同一の算出方法を使用しているものとする。なお、本実施例では、フロー識別子を８ｂｉｔ単位に分割したが、他の実施形態において、１６ｂｉｔ単位でもよいし、３２ｂｉｔ単位に分割してもよく、分割単位に制限されるわけではない。また、ＸＯＲ演算に関しても他の演算を使用してもよい。
【００５０】
次に、受信インタフェース判定部３６１は、ステップＳ１１０で割出した回線内部番号と、ステップＳ１３０で算出した回線内部番号を比較する（ステップＳ１４０）。
ステップＳ１１０で割出した回線内部番号と、ステップＳ１３０で算出した回線内部番号が不一致の場合（ステップＳ１４０：Ｎｏ）、受信インタフェース判定部３６１は、制御部３１０に、データフレームを受信したネットワークインタフェース識別子と、データフレーム、またはデータフレーム内のフロー識別子とを通知する（ステップＳ１５０、既定外インタフェース受信通知）。仮想ネットワーク中継装置が正常な場合、ステップＳ１１０で割出した回線内部番号と、ステップＳ１３０で算出した回線内部番号は一致する。例えば、仮想ネットワーク中継装置を構成する他の内部ネットワーク中継装置に障害が発生すると、外部ネットワーク中継装置は、障害が発生した内部ネットワーク中継装置をリンクアグリゲーションの対象から除外してデータフレームを振り分けるため、当初予定していたフローと異なるフローを受信することになる。従って、内部ネットワーク中継装置３００では、ステップＳ１１０で割出した回線内部番号（外部ネットワーク装置が障害発生後に求めた回線内部番号に相当）と、ステップＳ１３０で算出した回線内部番号（内部ネットワーク装置が障害発生に関わらず求めた回線内部番号に相当）が一致しないデータフレームがでてくる。
一方、ステップＳ１１０で割出した回線内部番号と、ステップＳ１３０で算出した回線内部番号が一致する場合、受信インタフェース判定部３６１は本処理を終了する。
【００５１】
Ａ４−３．リンクアグリゲーションを構成する回線の状態管理
図９は、内部ネットワーク中継装置３００における回線状態情報３３４の設定内容を示す説明図である。
本実施例の説明では、回線状態情報３３４を一般的に示す場合には、「３３４」の符号を用い、特定の回線状態情報を示す場合には、「３３４」の後に、対象の回線状態情報を備える内部ネットワーク中継装置３００と同じ英文字を付した符号を用いる。
図９は、内部ネットワーク中継装置３００ａの回線状態情報３３４ａと、内部ネットワーク中継装置３００ｂの回線状態情報３３４ｂの説明図である。
図９の冗長回線情報３３４の第１列には、「内部ネットワーク中継装置」として、仮想ネットワーク中継装置を構成する内部ネットワーク中継装置を特定する符号を示している。冗長回線情報３３４の第２列には「ネットワークインタフェース」として第１列に示す内部ネットワーク中継装置に属すネットワークインタフェースを特定する符号を示している。冗長回線情報３３４の第３列には「監視対象」として第２列に示すネットワークインタフェースを、第１列に示す内部ネットワーク中継装置３００の正常、異常を判断するための情報として使用するか否かを示している。第１列に示す内部ネットワーク中継装置３００の正常、異常を判断する場合、「対象」として設定し、判断しない場合、「非対象」として設定する。例えば、自装置以外の内部ネットワーク中継装置３００を監視対象としてもよい。冗長回線情報３３４の第４列には「リンクアグリゲーション」として第２列に示すネットワークインタフェースが属すリンクアグリゲーションを特定する符号を示している。冗長回線情報３３４の第５列には「状態」として第２列に示すネットワークインタフェースの状態を示し、通信可能な状態であれば「正常」と設定し、通信不可の状態であれば「異常」と設定する。
【００５２】
Ａ４−４．ネットワークインタフェース状態変更検知時の処理：
図１０は、内部ネットワーク中継装置３００のネットワークインタフェース３９０の状態が変更された場合に、受信判定制御部３２１が実行するネットワークインタフェース状態変更処理（ステップＳ２００）を示すフローチャートである。
本実施例では、受信判定制御部３２１は、ネットワークインタフェース３９０の状態である通信可、通信不可が変更したことが判明すると、ネットワークインタフェース状態変更処理（ステップＳ２００）を開始する。例えば、ネットワークインタフェース又は接続される回線に障害が発生した場合に、処理が開始される。
【００５３】
内部ネットワーク中継装置３００の受信判定制御部３２１は、ネットワークインタフェース状態変更処理（ステップＳ２００）を開始すると、状態変更を検知したネットワークインタフェース３９０に対応する回線状態情報３３４の情報を変更する。変更する回線状態情報３３４の具体例を挙げると、内部ネットワーク中継装置３００ａのリンクアグリゲーション５０ｂのネットワークインタフェース３２ａが通信不可の状態となった場合、図９の内部ネットワーク中継装置３００ａの回線状態情報３３４ａにおけるネットワークインタフェース３２ａの状態を「異常」に変更する（ステップＳ２１０）。次に、受信判定制御部３２１は、ネットワークインタフェース３９０の変更した状態に応じて、状態が変更したネットワークインタフェース、および自装置内で、状態が変更したネットワークインタフェースとともにリンクアグリゲーションなどの冗長化技術が適用されるネットワークインタフェースに対応する回線内部番号を算出する。本実施例では、状態が変更したネットワークインタフェース３２ａ以外で、同一リンクアグリゲーションを構築するネットワークインタフェースはないため、状態が変更したネットワークインタフェース３２ａについてのみ回線内部番号を算出する。なお、通信不可である場合は、回線内部番号は割り当たらないため、本処理は省略される。再び通信可となった場合に回線内部番号を割り当てることになる（ステップＳ２２０）。受信判定制御部３２１は、ステップＳ２２０で算出した回線内部番号を受信インタフェース判定情報３５１に設定する。変更する受信インタフェース判定情報３５１の具体例を挙げると、内部ネットワーク中継装置３００ａのリンクアグリゲーション５０ｂのネットワークインタフェース３２ａの状態が変更した場合、図７の受信判定用リンクアグリゲーション構成テーブルのネットワークインタフェース３２ａに対応する回線内部番号に設定する。ネットワークインタフェース３２ａが通信不可となった場合、回線内部番号は割り当たらないため、本処理は省略される。又は、受信判定用リンクアグリゲーション構成テーブルの対応する回線内部番号を削除してもよい。（ステップＳ２３０）。最後に、受信判定制御部３２１は、他の内部ネットワーク中継装置３００にネットワークインタフェース３９０の状態が変更したことを示すインタフェース状態変更メッセージを通知する（ステップＳ２４０）。
【００５４】
図１１は、図１０で説明したステップＳ２４０で他の内部ネットワーク中継装置が発行するインタフェース状態変更メッセージを受信した場合に、受信判定制御部３２１が実行するインタフェース状態変更メッセージ受信処理（ステップＳ３００）を示すフローチャートである。
本実施例では、受信判定制御部３２１は、インタフェース状態変更メッセージを受信すると、インタフェース状態変更メッセージ受信処理（ステップＳ３００）を開始する。
【００５５】
内部ネットワーク中継装置３００の受信判定制御部３２１は、インタフェース状態変更メッセージ受信処理（ステップＳ３００）を開始すると、受信したインタフェース状態変更メッセージ内に格納されたネットワークインタフェースに対応する回線状態情報３３４の情報を変更する。変更する回線状態情報３３４の具体例を挙げると、内部ネットワーク中継装置３００ａのリンクアグリゲーション５０ｂのネットワークインタフェース３２ａが通信不可の状態となり、内部ネットワーク中継装置３００ｂでネットワークインタフェース３２ａの識別情報を含むインタフェース状態変更メッセージを受信した場合、図９の内部ネットワーク中継装置３００ｂの回線状態情報３３４ｂにおけるネットワークインタフェース３２ａの状態を「異常」に変更する（ステップＳ３１０）。次に、受信判定制御部３２１は、受信したインタフェース状態変更メッセージ内に格納されたネットワークインタフェースと同じリンクアグリゲーション（上述の例では５０ｂ）を構成する自装置のネットワークインタフェース（上述の例では３２ｂ）に対して回線内部番号を再計算する（ステップＳ３２０）。次に、受信判定制御部３２１は、ステップＳ３２０で算出した回線内部番号をネットワークインタフェースに対応して受信インタフェース判定情報３５１に設定する。設定する受信インタフェース判定情報３５１の具体例を挙げると、内部ネットワーク中継装置３００ａのリンクアグリゲーション５０ｂのネットワークインタフェース３２ａが通信不可の状態となり、内部ネットワーク中継装置３００ｂでインタフェース状態変更メッセージを受信した場合、図８の受信判定用リンクアグリゲーション構成テーブルにおけるネットワークインタフェース３２ａと同一リンクアグリゲーションを構築するネットワークインタフェース３２ｂの回線内部番号を変更する（ステップＳ３３０）。
【００５６】
図１２は、内部ネットワーク中継装置３００の受信判定制御部３２１が、受信インタフェース判定部３６１から通知された既定外インタフェース受信通知を受信した場合に受信判定制御部３２１が実行する既定外インタフェース受信処理（ステップＳ４００）を示すフローチャートである。
本実施例では、受信判定制御部３２１は、既定外インタフェース受信通知を受けると、既定外インタフェース受信処理（ステップＳ４００）を開始する。
【００５７】
内部ネットワーク中継装置３００の受信判定制御部３２１は、既定外インタフェース受信処理（ステップＳ４００）を開始すると、通知されたフロー識別子から状態が変更した（例えば、障害の発生又は復旧）内部ネットワーク中継装置と、ネットワークインタフェースを特定する（ステップＳ４１０）。例えば、内部ネットワーク中継装置３００ｂのリンクアグリゲーション５０ｂのネットワークインタフェース３２ｂについて既定外インタフェース受信通知が発生した場合、回線状態情報３３４ｂを参照すると、ネットワークインタフェース３２ｂと同一リンクアグリゲーションを構築するネットワークインタフェースは、内部ネットワーク中継装置３００ａのネットワークインタフェース３２ａのみであるため、内部ネットワーク中継装置３００ａのネットワークインタフェース３２ａで異常が発生したことが判明する。なお、ステップＳ４１０で状態が変更した内部ネットワーク中継装置、およびネットワークインタフェースの特定方法はフローベース負荷分散機構によって異なる。具体的には、後述する図１８、および第１の実施例における変形例２で説明する。
【００５８】
次に、受信判定制御部３２１は、ステップＳ４１０で特定した内部ネットワーク中継装置との内部通信が可能であるかを判定する。内部通信可能とは、内部ネットワーク中継装置間で接続している回線を通じて、通信可能であるかどうかを示す（ステップＳ４２０）。Ｓ４１０で特定した内部ネットワーク中継装置と内部通信可能である場合（ステップＳ４２０：「可能」）、処理を終了する。Ｓ４１０で特定した内部ネットワーク中継装置と内部通信不可である場合（ステップＳ４２０：「不可」）、受信判定制御部３２１は、ステップＳ４１０で特定したネットワークインタフェースの状態変更を、内部通信可能な他の内部ネットワーク中継装置にインタフェース状態変更メッセージとして通知する（ステップＳ４３０）。受信判定制御部３２１は、ステップＳ４１０で特定したネットワークインタフェースに対応する回線状態情報３３４の情報を変更する。変更する回線状態情報３３４の具体例を挙げると、上述の例ではステップＳ４１０でネットワークインタフェース３２ａが特定されるため、図９の内部ネットワーク中継装置３００ｂの回線状態情報３３４ｂにおけるネットワークインタフェース３２ａの状態を「異常」に変更する（ステップＳ４４０）。次に、受信判定制御部３２１は、既定外インタフェース受信通知のネットワークインタフェースに対して回線内部番号を再計算する（ステップＳ４５０）。次に、受信判定制御部３２１は、ステップＳ４５０で算出した回線内部番号を受信インタフェース判定情報３５１に設定する。設定する受信インタフェース判定情報３５１の具体例を挙げると、内部ネットワーク中継装置３００ｂのリンクアグリゲーション５０ｂのネットワークインタフェース３２ｂで、既定外インタフェース受信通知が発生した場合、図８の受信判定用リンクアグリゲーション構成テーブルのネットワークインタフェース３２ｂに対応する回線内部番号に設定する（ステップＳ４６０）。
【００５９】
Ａ４−５．内部ネットワーク中継装置障害検知処理
図１３は、内部ネットワーク中継装置３００の障害確認制御部３２２でネットワーク中継システム３０を構成する他の内部ネットワーク中継装置で障害（異常）が発生しているか否かを判定する内部ネットワーク中継装置障害検知処理（ステップＳ５００）を示すフローチャートである。
本実施例では、障害確認制御部３２２は、特定の内部ネットワーク中継装置３００と内部通信が不可となった場合、またはインタフェース状態変更メッセージ受信処理が終了した場合、または既定外インタフェース受信処理が終了した場合に、内部ネットワーク中継装置障害検知処理（ステップＳ５００）を開始する。
【００６０】
内部ネットワーク中継装置３００の障害確認制御部３２２は、内部ネットワーク中継装置障害検知処理を開始すると、対象とする内部ネットワーク中継装置と内部通信可能な状態であるかを判定する。対象とする内部ネットワーク中継装置３００とは、内部通信不可となった内部ネットワーク中継装置３００、または図１２で示した既定外インタフェース受信処理（ステップＳ４００）のステップＳ４１０で特定した内部ネットワーク中継装置３００を示す（ステップＳ５１０）。内部通信可能である場合（ステップＳ５１０：「可能」）、処理を終了する。内部通信不可である場合（ステップＳ５１０：「不可」）、障害確認制御部３２２は、回線状態情報３３４の対象とする内部ネットワーク中継装置のうち、監視対象となっているネットワークインタフェースの状態が全て「異常」の状態になっているかを判定する。参照する回線状態情報３３４の具体例を挙げると、内部ネットワーク中継装置３００ｂが内部ネットワーク中継装置３００ａとの内部通信不可によって、ステップＳ５００が動作する場合、図９の内部ネットワーク中継装置３００ｂの回線状態情報３３４ｂにおける内部ネットワーク中継装置３００ａで監視対象となっているネットワークインタフェース３１ａ、３２ａ、３３ａの各状態を参照する（ステップＳ５２０）。監視対象となっているネットワークインタフェースの状態で一部正常を含んでいる場合（ステップＳ５２０：「正常含む」）、処理を終了する。監視対象となっているネットワークインタフェースの状態が全て異常な状態の場合（ステップＳ５２０：「全て異常」）、障害確認制御部３２２は、対象とする内部ネットワーク中継装置で障害が発生したと認識する（ステップＳ５３０）。次に、障害確認制御部３２２は、対象とする内部ネットワーク中継装置が運用装置として動作しているかを判定する（ステップＳ５４０）。対象とする内部ネットワーク中継装置が待機装置として動作していた場合（ステップＳ５４０：「待機装置」）、処理を終了する。対象とする内部ネットワーク中継装置が運用装置として動作していた場合（ステップＳ５４０：「運用装置」）、障害確認制御部３２２は、自装置が運用装置として動作する必要があるかを判定する。本実施例では、待機装置として動作している内部ネットワーク中継装置の中で、最も装置の優先度が高い、または、待機装置として動作している内部ネットワーク中継装置が他にない場合、障害確認制御部３２２は、運用装置として動作する必要があると判断する（ステップＳ５５０）。運用装置として動作する必要がない場合（ステップＳ５５０：「不要」）、処理を終了する。運用装置として動作する必要がある場合（ステップＳ５５０：「要」）、障害確認制御部３２２は、運用装置として動作を開始する（ステップＳ５６０）。なお、どの装置が運用装置であり、どの装置が待機装置であるかを示す情報は、各内部ネットワーク中継装置３００が保持することできる。また、運用装置となる優先度も予め保持することができる。ここで、仮想ネットワーク中継装置を構成する複数の内部ネットワーク中継装置は、転送処理については各装置が運用状態であり、制御処理については一部（例えばひとつ）の内部ネットワーク中継装置が運用装置、他の内部ネットワーク中継装置が待機装置となっている。
【００６１】
Ａ４−６．内部ネットワーク中継装置障害確認処理：
図１４は、内部ネットワーク中継装置３００の障害確認制御部３２２が実行する内部ネットワーク中継装置障害確認処理（ステップＳ６００）を示すフローチャートである。内部ネットワーク中継装置障害確認処理（ステップＳ６００）は、ネットワーク中継システム３０でデータフレームを送受信していない状態でも、特定の内部ネットワーク中継装置の状態を認識するための処理である。
本実施例では、障害確認制御部３２２は、特定の内部ネットワーク中継装置との内部通信が不可となった場合に、内部ネットワーク中継装置障害確認処理（ステップＳ６００）を開始する。
【００６２】
内部ネットワーク中継装置３００の障害確認制御部３２２は、内部ネットワーク中継装置障害確認処理（ステップＳ６００）を開始すると、まず、内部通信不可となった内部ネットワーク中継装置のネットワークインタフェースのうち、監視対象となっているネットワークインタフェースを回線状態情報３３４から抽出する。参照する回線状態情報３３４の具体例を挙げると、内部ネットワーク中継装置３００ｂが内部ネットワーク中継装置３００ａとの内部通信不可によって、ステップＳ５００が動作する場合、図９の内部ネットワーク中継装置３００ｂの回線状態情報３３４ｂにおける内部ネットワーク中継装置３００ａで監視対象となっているネットワークインタフェース３１ａ、３２ａ、３３ａを抽出する（ステップＳ６１０）。次に、ステップＳ６１０で抽出した各ネットワークインタエースと冗長化技術を適用しているネットワークインタフェースに送信するヘルスチェック・データフレームを構築するために、ＭＡＣアドレス、または、ＩＰアドレスを選択し、ヘルスチェック・データフレームを構築する。このＭＡＣアドレスまたは、ＩＰアドレスは、自装置のネットワークインタフェースからヘルスチェック・データフレームを送信した場合に、外部ネットワーク中継装置２００のフローベース負荷分散機構によって、内部通信不可となった内部ネットワーク中継装置側のネットワークインタフェースに応答が送信される値を選択する（ステップＳ６２０）。ステップＳ６１０で抽出した各ネットワークインタエースと冗長化技術を適用しているネットワークインタフェースに送信する（ステップＳ６３０）。ヘルスチェック・データフレームのＭＡＣアドレスとＩＰアドレスの例、及び、その後の動作は、図１８を参照して後述する。
【００６３】
Ａ５．データフレーム転送時の動作
図１５は、図１に示すネットワーク構成に基づいて、端末装置６００ｂから端末装置６００ａ、および端末装置６００ｂから端末装置６００ｃのデータフレーム転送時の内部ネットワーク中継装置３００の動作を説明するために、各端末装置の転送に必要な設定値を示す説明図である。なお、説明を簡略化するために、ネットワーク中継システム３０は、外部ネットワークから受信したデータフレームをイーサネット（登録商標）に基づいて転送することを想定する。
図１５の第１列は「端末装置」として端末装置６００を特定する符号を示している。図１５の第２列は、「ＶＬＡＮ」として第１列の端末装置６００が属すＶＬＡＮの番号を示している。図１５の第３列は、「ＩＰアドレス」として第１列の端末装置に設定されるＩＰアドレスの値を示している。図１５の第４列は、「ＭＡＣアドレス」として第３列のＩＰアドレスに対応して設定されるＭＡＣアドレスの値を示している。
【００６４】
図１６は、図１に示すネットワーク構成に基づいて、内部ネットワーク中継装置３００で保持するＭＡＣアドレス、ＩＰアドレスを示す説明図である。例えば、設定情報３３３として保持されることができる。
図１６の第１列は「内部ネットワーク中継装置」として、内部ネットワーク中継装置３００を特定する符号を示している。図１６の第２列は、「ＶＬＡＮ」として第１列の内部ネットワーク中継装置３００が属すＶＬＡＮの番号を示している。図１６の第３列は、「ＩＰアドレス」として第２列のＶＬＡＮに設定されるＩＰアドレスの値を示している。図１６の第４列は、「ＭＡＣアドレス」として第３列のＩＰアドレスに対応して設定されるＭＡＣアドレスの値を示している。
本実施例では、各ＶＬＡＮに対して、ＩＰアドレス、およびＭＡＣアドレスをそれぞれ２つ保持しているが、２つ以外の複数でもよいし、他の実施形態において、ＩＰアドレス、およびＭＡＣアドレスいずれか一方を複数保持してもよいし、特定のＶＬＡＮに対してのみ複数のＭＡＣアドレス、またはＩＰアドレスを複数保持してもよい。
【００６５】
図１７は、図１に示すネットワーク構成例、および外部ネットワーク中継装置は図２、図３、図４に示すリンクアグリゲーション設定例、および図７、図８の受信インタフェース判定情報３６１の各種設定情報において、端末装置６００ｂから端末装置６００ａに転送されるデータフレーム（Ｄ１１０）の転送パスに基づいて、内部ネットワーク中継装置３００の動作を示す説明図である。図１７は、各内部ネットワーク中継装置３００、および各外部ネットワーク中継装置２００間の回線が全て正常（通信可能）な状態であり、内部ネットワーク中継装置３００ａが運用装置として動作していることを想定している。
データフレームＤ１１０は、イーサネットヘッダ（イーサネットは登録商標）内の宛先ＭＡＣアドレス、送信元ＭＡＣアドレスとして、それぞれ図１５に示した端末装置６００ａのＭＡＣアドレスである「００：００：００：００：００：０１」と、端末装置６００ｂのＭＡＣアドレスである「００：００：００：００：００：０２」が設定され、ＶＬＡＮとして、「１」が設定され、ＩＰヘッダ内の宛先ＩＰアドレス、送信元ＩＰアドレスとして、それぞれ図１５に示した端末装置６００ａのＩＰアドレスである「１０．０．０．１」と、端末装置６００ｂのＩＰアドレスである「１０．０．０．２」が設定される。
【００６６】
図１７の例では、データフレームＤ１１０は、まず、外部ネットワーク中継装置２００ｂで受信され、リンクアグリゲーション５０ｂに転送される。リンクアグリゲーション５０ｂに転送される場合、外部ネットワーク中継装置２００ｂは、図３に示すテーブルを用いてデータフレームを出力するネットワークインタフェースを決定する。本実施例での具体的なネットワークインタフェースの決定方法を説明する。図３のリンクアグリゲーションテーブルからフロー識別子として使用するフロー識別子を決定する。図３からフロー識別子として、ＭＡＣアドレスとＶＬＡＮを使用するため、データフレームＤ１１０内の宛先ＭＡＣアドレス「００：００：００：００：００：０１」と送信元ＭＡＣアドレス「００：００：００：００：０２」とＶＬＡＮ「１」をそれぞれ８ｂｉｔに分割する。分割するにあたって、ビット数が８で割り切れない場合、上位ビットを０でパディングする。データフレームＤ１１０の宛先ＭＡＣアドレスを８ｂｉｔ単位に分割すると、ＭＡＣアドレスの各値は１６進数で表記しているため、８ｂｉｔは「：」で区切られた単位となり、「０１」「００」「００」「００」「００」「００」の６つとなる。ＶＬＡＮは１０進数で表記しているため、「１」「０」となる。次に８ｂｉｔに分割した値を順にＸＯＲ演算する。次にＸＯＲ演算の結果に対して、対象のリンクアグリゲーションを構成する回線数（冗長回線数）で除算した余りで回線内部番号を算出する。本実施例のデータフレームＤ１１０ではＸＯＲの結果として「２」が算出され、冗長回線数は２であるため、余りは０となる。図３から回線内部番号０に対応するネットワークインタフェースはネットワークインタフェース２１ｂであるため、データフレームＤ１１０はネットワークインタフェース２１ｂから出力される。なお、他の適宜の手法により、出力するネットワークインタフェースを求めてもよい。
【００６７】
内部ネットワーク中継装置３００ａは、ネットワークインタフェース３２ａからデータフレームを受信すると、ステップＳ１００（受信インタフェース判定処理）を実行する。具体的には、図７で示した受信インタフェース判定情報３５１からネットワークインタフェース３２ａの回線内部番号である０を割り出す。また、図７で示した受信インタフェース判定情報３５１からリンクアグリゲーション５０ｂで使用するフロー識別子を決定する。フロー識別子として、外部ネットワーク中継装置２００ｂと同じＭＡＣアドレスとＶＬＡＮを使用する。内部ネットワーク中継装置３００ａは、外部ネットワーク中継装置２００ｂと同様の方法でフロー識別子から回線内部番号を算出する。本実施例での具体的な回線内部番号の算出方法を説明する。データフレームＤ１１０内の宛先ＭＡＣアドレス「００：００：００：００：００：０１」と送信元ＭＡＣアドレス「００：００：００：００：０２」とＶＬＡＮ「１」をそれぞれ８ｂｉｔに分割する。分割するにあたって、ビット数が８で割り切れない場合、上位ビットを０でパディングする。データフレームＤ１１０の宛先ＭＡＣアドレスを８ｂｉｔ単位に分割すると、ＭＡＣアドレスの各値は１６進数で表記しているため、８ｂｉｔは「：」で区切られた単位となり、「０１」「００」「００」「００」「００」「００」の６つとなる。ＶＬＡＮは１０進数で表記しているため、「１」「０」となる。次に８ｂｉｔに分割した値を順にＸＯＲ演算する。次にＸＯＲ演算の結果に対して、対象のリンクアグリゲーションを構成する回線数（冗長回線数）で除算した余りで回線内部番号を算出する。本実施例のデータフレームＤ１１０ではＸＯＲの結果として「２」が算出され、冗長回線数は２であるため、余りは０となる。
図７の受信インタフェース判定情報３５１から算出された回線内部番号０とデータフレームを受信したネットワークインタフェース３２ａの回線内部番号０は同一値であるため、内部ネットワーク中継装置３００ａは、データフレームを外部ネットワーク中継装置２００ａに転送して処理を終了する。
【００６８】
図１８は、図１７に示すネットワーク構成、および状態から内部ネットワーク中継装置３００ａが障害となった場合の、内部ネットワーク中継装置３００の動作を説明する説明図である。
内部ネットワーク中継装置３００ａの障害によって、ネットワークインタフェース３１ａ、２１ａ間の回線、ネットワークインタフェース３２ａ、２１ｂ間の回線、ネットワークインタフェース３３ａ、２１ｃ、およびネットワークインタフェース３４ａ、３４ｂ間の回線が通信不可となる。これにより、各外部ネットワーク中継装置２００のリンクアグリゲーション設定が図１９、図２０、図２１のように変更される。例えば、冗長回線数が変更され、通信不可のネットワークインタフェースが削除され、回線内部番号の数は変更される。
【００６９】
まず、ヘルスチェック・データフレームにより、内部ネットワーク中継装置３００ａの障害を検知する動作を説明する。内部ネットワーク中継装置３００ｂの障害確認制御部３２２は、ネットワークインタフェース３４ａ、３４ｂ間の回線が切断されることで、内部ネットワーク中継装置３００ａとの通信不可状態となる。このため、ステップＳ５００である内部ネットワーク中継装置障害検知処理を実行する。この段階では、図９で示したとおり、内部ネットワーク中継装置３００ａの監視対象のネットワークインタフェースは全て正常な状態であるため、内部ネットワーク中継装置障害検知処理は終了する。
次に内部ネットワーク中継装置３００ｂの障害確認制御部３２２は、ステップＳ６００である内部ネットワーク中継装置障害確認処理を実行する。内部ネットワーク中継装置３００ｂの障害確認制御部３２２は、内部ネットワーク中継装置３００ａのネットワークインタフェースのうち、監視対象のネットワークインタフェースを抽出する。図９に示す回線状態情報３３４からネットワークインタフェース３１ａ、３２ａ、３３ａが監視対象であることがわかる。次にヘルスチェック・データフレームを生成する。ヘルスチェック・データフレームは、各監視対象のネットワークインタフェースが所属する各リンクアグリゲーション５０に所属しているネットワークインタフェースから送信する。図１８では、ヘルスチェック・データフレームはネットワークインタフェース３１ｂ、３２ｂ、３３ｂから送信する。本実施例のヘルスチェック・データフレームは例えば、ＩＣＭＰ（Ｉｎｔｅｒｎｅｔ  Ｃｏｎｔｒｏｌ  Ｍｅｓｓａｇｅ  Ｐｒｏｔｏｃｏｌ）のＥｃｈｏ  Ｍｅｓｓａｇｅ（以後、Ｅｃｈｏパケットとのみ記述）とすることができる。
【００７０】
次にＥｃｈｏパケットの各設定値を図１６に示した設定値から選択する。Ｅｃｈｏパケットの設定値は、Ｅｃｈｏパケットの応答であるＩＣＭＰのＥｃｈｏ  Ｒｅｐｌｙ  Ｍｅｓｓａｇｅ（以後、Ｒｅｐｌｙパケットとのみ記述）が外部ネットワーク中継装置２００のリンクアグリゲーションのフローベース負荷分散機構によって、内部ネットワーク中継装置３００ａのネットワークインタフェースに振分けられる値を、受信インタフェース判定情報３５１に基づいて選択する。このため、ネットワークインタフェース３１ｂから出力するＥｃｈｏパケットの設定値は「送信元ＭＡＣアドレス：００：００：００：００：００：１５」「ＶＬＡＮ：１」「送信元ＩＰアドレス：１０．０．０．１５」を、宛先は端末装置６００ａの各種アドレスを選択し、ネットワークインタフェース３２ｂから出力するＥｃｈｏパケットの設定値は「送信元ＭＡＣアドレス：００：００：００：００：００：１５」「ＶＬＡＮ：１」「送信元ＩＰアドレス：１０．０．０．１５」を、宛先は端末装置６００ｂを選択し、ネットワークインタフェース３３ｂから出力するＥｃｈｏパケットの設定値は「送信元ＭＡＣアドレス：００：００：００：００：００：１７」「ＶＬＡＮ：２」「送信元ＩＰアドレス：１９２．１６８．０．１５」を、宛先は端末装置６００ｆを選択する。
【００７１】
図１８でネットワークインタフェース３１ｂ、３２ｂ、３３ｂのそれぞれから送信するヘルスチェック・データフレームのパスをそれぞれ「ＨＤ１１０ａ」、「ＨＤ１１０ｂ」「ＨＤ１１０ｃ」を用いて表記している。各端末装置からの応答であるＲｅｐｌｙパケットを内部ネットワーク中継装置３００ｂのネットワークインタフェースで受信すると、受信インタフェース判定部３６１で、受信インタフェース判定処理（Ｓ１００）が実行される。これにより、データフレームが流れていない場合でも、内部ネットワーク中継装置３００ａの障害を早期に検出可能となる。
なお、ヘルスチェック・データフレームの宛先はヘルスチェック・データフレームに対応しているならば、外部ネットワーク中継装置２００でもよい。
また、本実施例のヘルスチェック・データフレームはＩＣＭＰのＥｃｈｏ  Ｍｅｓｓａｇｅであるが、他の実施形態において、ＢＦＤ（Ｂｉｄｉｒｅｃｔｉｏｎａｌ  Ｆｏｒｗａｒｄｉｎｇ  Ｄｅｔｅｃｔｉｏｎ）や、Ｅｔｈｅｒｎｅｔ  ＯＡＭ（Ｏｐｅｒａｔｉｏｎｓ，Ａｄｍｉｎｉｓｔｒａｔｉｏｎ，Ｍａｉｎｔｅｎａｎｃｅ）など、ヘルスチェックの機構を備え、一般的にネットワーク装置が対応しているプロトコルであり、ネットワーク装置からの応答、またはネットワーク装置からの定期送信で外部ネットワーク中継装置に適用した冗長化技術のフローベース負荷分散機構によって振分けられるデータフレームであれば適用可能である。
【００７２】
次に、データフレームＤ１１０の転送に基づいて、内部ネットワーク中継装置３００ａの障害を検知するための各装置の動作を説明する。なお、データフレームＤ１１０の代わりに前記ＨＤ１１０ｂの応答によっても同様の効果を得ることができる。
図１８の例では、データフレームＤ１１０は、まず、外部ネットワーク中継装置２００ｂで受信され、リンクアグリゲーション５０ｂに転送される。リンクアグリゲーション５０ｂに転送される場合、外部ネットワーク中継装置２００ｂは、図２０に示すテーブルを用いてデータフレームＤ１１０を出力するネットワークインタフェースを決定する。データフレームを出力するネットワークインタフェースの決定方法は図１７で説明した方法と同様であり、ネットワークインタフェース２２ｂが決定され、データフレームが転送される。ここでは回線内部番号が０になる。
内部ネットワーク中継装置３００ｂは、ネットワークインタフェース３２ｂからデータフレームを受信すると、ステップＳ１００（受信インタフェース判定処理）を実行する。具体的には、図８で示した受信インタフェース判定情報３５１からネットワークインタフェース３２ｂの回線内部番号である１を割り出す。また、図８で示した受信インタフェース判定情報３５１を用いて、回線内部番号を算出する。回線内部番号の算出は、図１７で説明した内部ネットワーク中継装置３００ａで実施した方法を用いる。算出した回線内部番号は０となる。図８の受信インタフェース判定情報３５１から算出された回線内部番号０と、データフレームを受信したネットワークインタフェース３２ｂの回線内部番号１が異なるため、受信インタフェース判定部３６１は、制御部３１０の受信判定制御部３２１に対して既定外インタフェース受信を通知し、データフレームを外部ネットワーク中継装置２００ａに転送する。
【００７３】
既定外インタフェース受信を受けた制御部３１０の受信判定制御部３２１は、ステップＳ４００（既定外インタフェース受信処理）を実行し、障害が発生したネットワークインタフェースと、障害が発生したネットワークインタフェースを保持する内部ネットワーク中継装置３００を特定する。本実施例では、一つのリンクアグリゲーションに対してネットワークインタフェースを２つまでに制限している。このため、既定外インタフェース受信で通知されるネットワークインタフェース３２ｂとリンクアグリゲーション５０ｂを構成するネットワークインタフェース３２ａを特定する。また、ネットワークインタフェース３２ａを保持する内部ネットワーク中継装置３００として、内部ネットワーク中継装置３００ａを特定する。
制御部３１０の受信判定制御部３２１は、既定外インタフェース受信通知から特定した内部ネットワーク中継装置３００ａとの内部通信可能であるかを判定する。図１８に示すとおり、内部ネットワーク中継装置３００ａの障害によって、ネットワークインタフェース３４ａ、３４ｂ間の通信は不可の状態である。このため、まず制御部３１０の受信判定制御部３２１は、通信可能な他の内部ネットワーク中継装置に対して、内部ネットワーク中継装置のネットワークインタフェース３２ａの状態変更をインタフェース状態変更メッセージで通知する。ただし、本実施例において、通信可能な他内部ネットワーク中継装置は存在しないため、インタフェース状態変更メッセージの通知処理は省略される。次に、制御部３１０の受信判定制御部３２１は、回線状態情報３３４の内部ネットワーク中継装置３００ａのネットワークインタフェース３２ａの状態を異常に変更する。
【００７４】
図２２は、各内部ネットワーク中継装置３００の回線状態情報３３４を示している。図２２に示すように、内部ネットワーク中継装置３００ｂが保持する回線状態情報３３４の内部ネットワーク中継装置３００ａのネットワークインタフェース３２ａを異常状態に変更している。
図１８の説明に戻り、内部ネットワーク中継装置３００ｂの障害確認制御部３２２は、受信判定制御部３２１で既定外インタフェース受信処理を終了すると、ステップＳ５００である内部ネットワーク中継装置障害検知処理を実施する。障害確認制御部３２２は、既定外インタフェース受信処理によって特定された内部ネットワーク中継装置３００ａの監視対象のネットワークインタフェース３１ａ、３３ａの状態が正常であるため、処理を終了する。
同様に、外部ネットワーク中継装置２００ａ、外部ネットワーク中継装置２００ｃのそれぞれから、リンクアグリゲーション５０ａ、リンクアグリゲーション５０ｃのネットワークインタフェース３１ｂ、３３ｂを介して、ネットワークインタフェース２１ａ、２１ｃに転送されるデータフレームを受信した場合に、内部ネットワーク中継装置３００ｂで保持する回線状態情報３３４の内部ネットワーク中継装置３００ａの監視対象となる全てのネットワークインタフェース３１ａ，３２ａ，３３ａが異常状態となることで、内部ネットワーク中継装置３００ｂの障害確認制御部３２２は、運用装置として動作するように処理する。
【００７５】
図２３は、図１７に示すネットワーク構成、および状態からネットワークインタフェース３２ａ、２１ｂ間の回線で障害が発生した場合における、各内部ネットワーク中継装置の動作を示す説明図である。
まず、内部ネットワーク中継装置３００ａの受信判定制御部３２１は、ネットワークインタフェース３２ａの障害を検知することで、ステップＳ２００であるネットワークインタフェース状態変更処理を実行する。
内部ネットワーク中継装置３００ａの受信判定制御部３２１は、回線状態情報３３４のネットワークインタフェース３２ａの状態を異常状態に変更する。次にネットワークインタフェース３２ａに対応する回線内部番号を算出する。ただし、本実施例ではネットワークインタフェース３２ａ以外にリンクアグリゲーション５０ｂを構成するネットワークインタフェースは、内部ネットワーク中継装置３００ａ内にはなく、かつネットワークインタフェース３２ａは障害であるため、回線内部番号を算出する処理は省略される。最後に内部ネットワーク中継装置３００ａの受信判定制御部３２１は、内部通信可能な内部ネットワーク中継装置３００ｂに対して、ネットワークインタフェース３２ａの障害をインタフェース状態変更メッセージによって通知する。
【００７６】
内部ネットワーク中継装置３００ｂの受信判定制御部３２１は、内部ネットワーク中継装置３００ａからインタフェース状態変更メッセージを受信することで、ステップＳ３００であるインタフェース状態変更メッセージ受信処理を開始する。内部ネットワーク中継装置３００ｂの受信判定制御部３２１は、インタフェース状態変更メッセージからネットワークインタフェース３２ａの障害を検知し、回線状態情報３３４のネットワークインタフェース３２ａの状態を異常状態に変更する。次にネットワークインタフェース３２ａと同じリンクアグリゲーション５０ｂを構成する内部ネットワーク中継装置３００ｂのネットワークインタフェース３２ｂの回線内部番号を再計算し、受信インタフェース判定情報を更新する。本実施例では、リンクアグリゲーション５０ｂを構成するネットワークインタフェースは、ネットワークインタフェース３２ｂのみであるため、回線内部番号は０となる。
【００７７】
（構成例）
第１実施例のネットワーク中継装置は、例えば、
複数のネットワーク中継装置（内部ネットワーク中継装置）によりひとつの仮想ネットワーク中継装置を構成し、該複数のネットワーク中継装置は、外部ネットワーク中継装置にそれぞれ接続されて冗長構成をとり、該外部ネットワーク中継装置から各ネットワーク中継装置へのデータフレームは、該外部ネットワーク中継装置のフローベース負荷分散機構により、データフレーム内の所定のフロー識別子に基づいて予め定められた振り分け規則（回線内部番号の算出方法）に従い、フロー（回線内部番号）に応じてネットワーク中継装置に振り分けて送信されるネットワークシステムにおけるネットワーク中継装置であって、
前記外部ネットワーク中継装置からデータフレームを受信するインタフェースと、
前記振り分け規則に従い該インタフェースで受信するフローを識別するフロー識別情報（回線内部番号）が予め記憶された受信インタフェース判定情報記憶領域と、
前記インタフェースを介して受信したデータフレーム内の前記フロー識別子に基づきフローを識別し（回線内部番号を求め）、該フロー（回線内部番号）と、前記受信判定情報記憶領域に記憶されたフロー識別情報（回線内部番号）が示すフローが一致しない場合、既定外のインタフェースでデータフレームを受信したと判断する受信インタフェース判定部と
を備える。
【００７８】
また、第１実施例のネットワーク中継装置は、例えば、
複数のネットワーク中継装置の冗長構成によりひとつの仮想ネットワーク中継装置を構成し、該複数のネットワーク中継装置は、外部ネットワーク中継装置にそれぞれ接続され、該外部ネットワーク中継装置から各ネットワーク中継装置へのデータフレームは、該外部ネットワーク中継装置のフローベース負荷分散機構により、該データフレーム内の予め定められたフロー識別子の内容と第１冗長構成情報（冗長回線数）とに基づき予め定められた振り分け規則（回線内部番号の算出方法）で求まる第１出力情報（回線内部番号）に従い、各ネットワーク中継装置に振り分けて送信され、前記複数のネットワーク中継装置のいずれか又は前記複数のネットワーク中継装置と接続する複数の回線のいずれかに障害が発生すると、該ネットワーク中継装置を除外した第２冗長構成情報（冗長回線数）と前記フロー識別子の内容とに基づき前記振り分け規則で求まる第２出力情報（回線内部番号）に従い、前記外部ネットワーク中継装置からデータフレームが送信されるネットワークシステムにおける前記ネットワーク中継装置であって、
前記外部ネットワーク中継装置からデータフレームを受信するインタフェースと、
前記外部ネットワーク中継装置が第１及び第２出力情報を求めるのに用いる前記フロー識別子の種別と第１冗長構成情報とが予め記憶され、及び、前記インタフェースに対応する前記第１出力情報が予め記憶された受信インタフェース判定情報記憶領域と、
前記受信インタフェース判定情報記憶領域に記憶されたフロー識別子の種別に従い、前記インタフェースで受信したデータフレームから、前記フロー識別子の内容を抽出し、抽出された情報と、記憶された第１冗長構成情報とに基づき前記振り分け規則で第３出力情報（回線内部番号）を求め、該第３出力情報と前記受信インタフェース判定情報記憶領域に記憶された第１出力情報が一致しない場合に、既定外のインタフェースでデータフレームを受信したと判断する受信インタフェース判定部と
を備える。
【００７９】
Ｂ１．第１の実施例における変形例１：
第１実施例における変形例１では、ネットワーク中継システム３０と外部ネットワーク中継装置２００の冗長化技術として、リンクアグリゲーションの代わりにＩＰルーティングにおけるイコールコストマルチパスを冗長化技術によって接続する。
第１実施例の変形例１によれば、ＩＰルーティングにおけるイコールコストマルチパスを冗長化技術として適用可能となる。
【００８０】
Ｂ２．第１の実施例における変形例２：
第１実施例における変形例２では、外部ネットワーク中継装置２００のフローベース負荷分散機構が異なる。変形例２では、個々のフロー識別子に対してデータフレームを出力するネットワークインタフェースを決定する振分け方式が適用される。振分け方式を図１に示すネットワーク構成例、図１７の設定例に基づいて説明する。
図２４、図２５、図２６は、外部ネットワーク中継装置２００におけるリンクアグリゲーション５０の設定内容を示す説明図である。
図２４は、外部ネットワーク中継装置２００ａがリンクアグリゲーション５０ａからデータフレームを送信する場合に使用するテーブルの説明図である。図２４のリンクアグリゲーションテーブルは、図２と同様であるため説明を省略する。
図２４の例では、フロー識別子としてＶＬＡＮ番号を使用する。
【００８１】
図２４のリンクアグリゲーション構成テーブルの第１列には、「リンクアグリゲーション」としてリンクアグリゲーションを特定する符号を示している。図２４のリンクアグリゲーション構成テーブルの第２列には、「フロー識別子」として第１列に示すリンクアグリゲーションで適用するフロー識別子を示している。図２４のリンクアグリゲーション構成テーブルの第３列には、「第１ネットワークインタフェース」として第２列に示すフロー識別子を持つデータフレームを出力するネットワークインタフェースを特定する符号を示している。図２４のリンクアグリゲーション構成テーブルの第４列には、「第２ネットワークインタフェース」として、第３列に示すネットワークインタフェースが通信不可となった場合、第２列に示すフロー識別子を持つデータフレームを出力するネットワークインタフェースを特定する符号を示している。
本実施例では、リンクアグリゲーション構成テーブルのフロー識別子としてＶＬＡＮ番号のみを使用しているが、他の実施形態において、ＭＡＣアドレスやＶＬＡＮなど、複数のフロー識別子を組み合わせてもよい。
また、本実施例では、リンクアグリゲーション構成テーブルのフロー識別子に対して出力するネットワークインタフェースとして、第１ネットワークインタフェース、第２ネットワークインタフェースと２つの候補を示しているが、他の実施形態において、出力するネットワークインタフェースの候補は１つであっても良いし、３つ以上あってもよい。
【００８２】
図２５は、外部ネットワーク中継装置２００ｂがリンクアグリゲーション５０ｂからデータフレームを送信する場合に使用するテーブルの説明図である。図２５は、図２４と同様であるため説明を省略する。
図２６は、外部ネットワーク中継装置２００ｃがリンクアグリゲーション５０ｃからデータフレームを送信する場合に使用するテーブルの説明図である。図２６は、図２４の同様であるため説明を省略する。
【００８３】
図２７、図２８は、第１の実施例における変形例２の内部ネットワーク中継装置３００の受信インタフェース判定情報３５１の設定内容を示す説明図である。
図２７は、第１の実施例における変形例２の内部ネットワーク中継装置３００ａの受信インタフェース判定情報３５１ａの説明図である。図２７の受信判定用リンクアグリゲーションテーブルは、図７と同様であるため説明を省略する。
図２７の受信判定用リンクアグリゲーション構成テーブルの第１列には、「リンクアグリゲーション」としてリンクアグリゲーションを特定する符号を示している。図２７の受信判定用リンクアグリゲーション構成テーブルの第２列には、「フロー識別子」として第１列に示すリンクアグリゲーションで適用するフロー識別子を示している。図２７の受信判定用リンクアグリゲーション構成テーブルの第３列には、「ネットワークインタフェース」として第２列に示すフロー識別子を持つデータフレームを受信するネットワークインタフェースを特定する符号を示している。なお、ネットワークインタフェースが「−」で示される場合、対応するフロー識別子のデータを受信するネットワークインタフェースがないことを示す。
本実施例では、受信判定用リンクアグリゲーション構成テーブルのフロー識別子としてＶＬＡＮ番号のみを使用しているが、他の実施形態において、ＭＡＣアドレスとＶＬＡＮなど、複数のフロー識別子を組み合わせてもよい。
【００８４】
図２８は、第１の実施例における変形例２における内部ネットワーク中継装置３００ｂの受信インタフェース判定情報３５１ｂの説明図である。図２８は、図２７と同様であるため、説明を省略する。
第１の実施例における変形例２では、外部ネットワーク中継装置２００のフローベース負荷分散機構が異なる。変形例２では、個々のフロー識別子に対してデータフレームを出力するネットワークインタフェースを決定する振分け方式が適用される。振分け方式を図１に示すネットワーク構成例、図１７に関連する設定例に基づいて説明する。
第１の実施例の変形例２において、データフレームＤ１１０は、まず、外部ネットワーク中継装置２００ｂで受信され、リンクアグリゲーション５０ｂに転送される。リンクアグリゲーション５０ｂに転送される場合、外部ネットワーク中継装置２００ｂは、図２５に示すテーブルを用いてデータフレームＤ１１０を出力するネットワークインタフェースを決定する。第１の実施例における変形例２での具体的なネットワークインタフェースの決定方法を説明する。図２５のリンクアグリゲーションテーブルからフロー識別子として使用するフロー識別子を決定する。図２５からフロー識別子として、ＶＬＡＮを使用するため、データフレームＤ１１０内のＶＬＡＮ１を抽出する。図２５のリンクアグリゲーション構成テーブルからＶＬＡＮ１に対応するネットワークインタフェースは、第１ネットワークインタフェースとして登録されているネットワークインタフェース２１ｂであるため、データフレームはネットワークインタフェース２１ｂから出力される。
【００８５】
内部ネットワーク中継装置３００ａは、ネットワークインタフェース３２ａからデータフレームを受信すると、図２７で示した受信インタフェース判定情報３５１の受信判定用リンクアグリゲーション構成テーブルからリンクアグリゲーション５０ｂで使用するフロー識別子を決定する。フロー識別子として、外部ネットワーク中継装置２００ｂと同じＶＬＡＮ番号を使用する。内部ネットワーク中継装置３００ａは、データフレームＤ１１０内のＶＬＡＮ１を抽出する。次に図２７の受信判定用リンクアグリゲーション構成テーブルとデータフレームから抽出したフロー識別子「ＶＬＡＮ１」からネットワークインタフェース３２ａを算出する。図２７のから算出されたネットワークインタフェースと、データフレームを受信したネットワークインタフェース３２ａは同一であるため、内部ネットワーク中継装置３００ａは、データフレームを外部ネットワーク中継装置２００ａに転送して処理を終了する。
【００８６】
次に図１８に基づいて、第１の実施例における変形例２での、内部ネットワーク中継装置３００ａが障害となった場合の内部ネットワーク中継装置３００の動作を説明する。
内部ネットワーク中継装置３００ａの障害によって、ネットワークインタフェース３１ａ、２１ａ間の回線、ネットワークインタフェース３２ａ、２１ｂ間の回線、ネットワークインタフェース３３ａ、２１ｃ、およびネットワークインタフェース３４ａ、３４ｂ間の回線が通信不可となる。
内部ネットワーク中継装置３００ｂの障害確認制御部３２２で実施する内部ネットワーク中継装置障害検知処理と、内部ネットワーク中継装置障害確認処理は、図１８等の上述の説明と同様であるため省略する。
【００８７】
データフレームＤ１１０の転送に基づいて、内部ネットワーク中継装置３００ａの障害を検知するための各装置の動作を説明する。
第１の実施例における変形例２で、図１８の例では、データフレームＤ１１０は、まず、外部ネットワーク中継装置２００ｂで受信され、リンクアグリゲーション５０ｂに転送される。リンクアグリゲーション５０ｂに転送される場合、外部ネットワーク中継装置２００ｂは、図２５に示すテーブルを用いてデータフレームを出力するネットワークインタフェースを決定する。データフレームを出力するネットワークインタフェースの決定方法は図２５のリンクアグリゲーションテーブルからフロー識別子として使用するフロー識別子を決定する。図２５からフロー識別子として、ＶＬＡＮを使用するため、データフレームＤ１１０内のＶＬＡＮ１を抽出する。図２５のリンクアグリゲーション構成テーブルからＶＬＡＮ１に対応するネットワークインタフェースは、第１ネットワークインタフェースとして登録されているネットワークインタフェース２１ｂであるが、ネットワークインタフェース２１ｂは通信不可のため、第２ネットワークインタフェースとして登録されているネットワークインタフェース２２ｂが選択される。このため、データフレームはネットワークインタフェース２２ｂから出力される。
【００８８】
内部ネットワーク中継装置３００ｂは、ネットワークインタフェース３２ｂからデータフレームを受信すると、図２８で示した受信インタフェース判定情報３５１の受信判定用リンクアグリゲーション構成テーブルからリンクアグリゲーション５０ｂで使用するフロー識別子を決定する。フロー識別子として、外部ネットワーク中継装置２００ｂと同じＶＬＡＮ番号を使用する。内部ネットワーク中継装置３００ｂは、データフレームＤ１１０内のＶＬＡＮ１を抽出する。次に図２８の受信判定用リンクアグリゲーション構成テーブルとデータフレームから抽出したフロー識別子「ＶＬＡＮ１」から対応するネットワークインタフェースがないことを判断する。図２８から得られたネットワークインタフェース（この場合は該当インタフェースなし）と、データフレームを受信したネットワークインタフェース３２ａは異なるため、受信インタフェース判定部３６１は、制御部３１０の受信判定制御部３２１に対して既定外インタフェース受信を通知し、データフレームを外部ネットワーク中継装置２００ａに転送する。
既定外インタフェース受信を受けた制御部３１０の受信判定制御部３２１は、障害が発生したネットワークインタフェースと、障害が発生したネットワークインタフェースを保持する内部ネットワーク中継装置３００を特定する。
【００８９】
本実施例では、内部ネットワーク中継装置３００は、図２５の外部ネットワーク中継装置２００ｂのリンクアグリゲーションの設定内容を、制御部３１０（例えば、記憶部３３０）に保持する、ただし、図２５の「第１ネットワークインタフェース」、「第２ネットワークインタフェース」は内部ネットワーク中継装置で保持するネットワークインタフェースに変換した状態で保持している。例えば、ネットワークインタフェース２１ｂは、内部ネットワーク中継装置３００ａのネットワークインタフェース３２ａと接続しているため、リンクアグリゲーション５０ｂの第１ネットワークインタフェースとして３２ａが登録された状態で保持するものとする。同様に、ネットワークインタフェース２２ｂは、ネットワークインタフェース３２ｂとして登録される。また、内部ネットワーク中継装置３００の制御部３１０（記憶部３３０）は、接続される他の外部ネットワーク中継装置２００のリンクアグリゲーション構成テーブルを同様に保持する。
【００９０】
内部ネットワーク中継装置３００ｂの受信判定制御部３２１は、リンクアグリゲーション５０ｂのネットワークインタフェース３２ｂでＶＬＡＮ１のフロー識別子を持つデータフレームを受信したことから、ネットワークインタフェース３２ｂよりも優先度の高いネットワークインタフェースで障害を発生したことを検知することができる。ネットワークインタフェース３２ｂは第２ネットワークインタフェースとして登録されているため、障害の発生したネットワークインタフェースは第１ネットワークインタフェースである３２ａを障害の発生したネットワークインタフェースとして特定することができる。また、ネットワークインタフェース３２ａを保持する内部ネットワーク中継装置３００として、内部ネットワーク中継装置３００ａを特定する。
制御部３１０の受信判定制御部３２１は、既定外インタフェース受信通知を受けてからの制御部３１０の受信判定制御部３２１、障害確認制御部３２２の処理は図１８等の上述の説明と同様であるため説明を省略する。
第１の実施例における変形例２によれば、フロー識別子から状態が変更されたネットワークインタフェースを特定することが容易になるため、リンクアグリゲーションを構成する回線数を３以上にすることが可能となる。また、特定のリンクアグリゲーションを構成する回線を１つの内部ネットワーク中継装置３００に２本以上接続することができる。
【００９１】
（構成例）
本変形例のネットワーク中継装置は、例えば、
複数のネットワーク中継装置によりひとつの仮想ネットワーク中継装置を構成し、該複数のネットワーク中継装置は、外部ネットワーク中継装置にそれぞれ接続されて冗長構成をとり、該外部ネットワーク中継装置から各ネットワーク中継装置へのデータフレームは、該外部ネットワーク中継装置のフローベース負荷分散機構により、データフレーム内の所定のフロー識別子（例えばＶＬＡＮ番号）に基づいて予め定められた振り分け規則（フロー識別子と出力インタフェースが対応）に従い、フローに応じてネットワーク中継装置に振り分けて送信されるネットワークシステムにおける前記ネットワーク中継装置であって、
前記外部ネットワーク中継装置からデータフレームを受信するインタフェースと、
前記振り分け規則に従い該インタフェースで受信するフローを識別するフロー識別情報（例えばＶＬＡＮ番号）が予め記憶された受信インタフェース判定情報記憶領域と、
前記インタフェースを介して受信したデータフレーム内の前記フロー識別子に基づきフロー（ＶＡＬＮ）を識別し、該フローと、前記受信判定情報記憶領域に記憶されたフロー識別情報が示すフローが一致しない場合、既定外のインタフェースでデータフレームを受信したと判断する受信インタフェース判定部と
を備える。
【００９２】
また、本変形例のネットワーク中継装置は、例えば、
複数のネットワーク中継装置の冗長構成によりひとつの仮想ネットワーク中継装置を構成し、該複数のネットワーク中継装置は、外部ネットワーク中継装置にそれぞれ接続され、該外部ネットワーク中継装置から各ネットワーク中継装置へのデータフレームは、該外部ネットワーク中継装置のフローベース負荷分散機構により、該データフレーム内の予め定められたフロー識別子の内容（例えばＶＬＡＮ番号）と第１冗長構成情報（フロー識別子と出力インタフェースが対応）とに基づき求まる第１出力情報（出力インタフェース）に従い、各ネットワーク中継装置に振り分けて送信され、前記複数のネットワーク中継装置のいずれか又は前記複数のネットワーク中継装置と接続する複数の回線のいずれかに障害が発生すると、該ネットワーク中継装置を除外した第２冗長構成情報（フロー識別子と出力インタフェースが対応）と前記フロー識別子の内容（例えばＶＬＡＮ番号）とに基づき求まる第２出力情報（出力インタフェース）に従い、前記外部ネットワーク中継装置からデータフレームが送信されるネットワークシステムにおける前記ネットワーク中継装置であって、
前記外部ネットワーク中継装置からデータフレームを受信するインタフェースと、
前記外部ネットワーク中継装置が第１及び第２出力情報を求めるのに用いる前記フロー識別子の種別（例えばＶＬＡＮ）が予め記憶され、及び、フロー識別子の内容（例えばＶＬＡＮ番号）と該フローのデータフレームを受信する前記インタフェースの識別子が予め記憶された受信インタフェース判定情報記憶領域と、
前記受信インタフェース判定情報記憶領域に記憶されたフロー識別子の種別に従い、前記インタフェースで受信したデータフレームから、前記フロー識別子の内容（例えばＶＬＡＮ番号）を抽出し、前記受信インタフェース判定情報記憶領域を参照して抽出された情報に対応するインタフェース識別子と、データフレームを受信した前記インタフェースが一致しない場合に、既定外のインタフェースでデータフレームを受信したと判断する受信インタフェース判定部と
を備える。
【産業上の利用可能性】
【００９３】
本発明は、例えば、複数のネットワーク中継装置により仮想ネットワーク中継装置を構成するネットワークシステムに利用可能である。
【符号の説明】
【００９４】
３０：仮想ネットワーク中継装置
２００ａ、２００ｂ、２００ｃ：外部ネットワーク中継装置
３００ａ、３００ｂ：内部ネットワーク中継装置
４００ａ、４００ｂ、４００ｃ：外部ネットワーク
３１０：制御部
３２０：ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）
３２１：受信判定制御部
３２２：障害確認制御部
３３０：記憶部
３３１：制御プログラム
３３２：管理情報
３３３：設定情報
３３４：回線状態情報
３４０：転送部
３５０：記憶部
３５１：受信インタフェース判定情報
３６０：処理部
３６１：受信インタフェース判定部
３９０：ネットワークインタフェース
２１ａ、２２ａ、２１ｂ、２２ｂ、２１ｃ、２２ｃ、３１ａ、３２ａ、３３ａ、３４ａ、３１ｂ、３２ｂ、３３ｂ、３４ｂ：ネットワークインタフェース
５０ａ、５０ｂ、５０ｃ：リンクアグリゲーション
６００ａ、６００ｂ、６００ｃ、６００ｄ、６００ｅ、６００ｆ：端末装置
【図１】
0005612560.tif 000002
【図２】
0005612560.tif 000003
【図３】
0005612560.tif 000004
【図４】
0005612560.tif 000005
【図５】
0005612560.tif 000006
【図６】
0005612560.tif 000007
【図７】
0005612560.tif 000008
【図８】
0005612560.tif 000009
【図９】
0005612560.tif 000010
【図１０】
0005612560.tif 000011
【図１１】
0005612560.tif 000012
【図１２】
0005612560.tif 000013
【図１３】
0005612560.tif 000014
【図１４】
0005612560.tif 000015
【図１５】
0005612560.tif 000016
【図１６】
0005612560.tif 000017
【図１７】
0005612560.tif 000018
【図１８】
0005612560.tif 000019
【図１９】
0005612560.tif 000020
【図２０】
0005612560.tif 000021
【図２１】
0005612560.tif 000022
【図２２】
0005612560.tif 000023
【図２３】
0005612560.tif 000024
【図２４】
0005612560.tif 000025
【図２５】
0005612560.tif 000026
【図２６】
0005612560.tif 000027
【図２７】
0005612560.tif 000028
【図２８】
0005612560.tif 000029