(57)【特許請求の範囲】
【請求項１】
第１の通信装置が配設される第１のリンク及び第２の通信装置が配設される第２のリンクを含んで構成される通信ネットワークと通信可能に接続される通信制御装置であって、
前記第１のリンクに接続される第１の物理通信部と、
前記第２のリンクに接続される第２の物理通信部と、
仮想的なインタフェースとして機能し、第１の識別情報が割り振られる第１の論理通信部と、
仮想的なインタフェースとして機能し、第２の識別情報が割り振られる第２の論理通信部と、
前記第１の物理通信部及び前記第２の物理通信部を論理的に束ねて、前記第１のリンクが疎通状態においては前記第１の物理通信部を介してデータ通信を行い、前記第１のリンクが非疎通状態においては前記第２の物理通信部を介してデータ通信を行うデータ通信制御部と、
前記第１の識別情報が設定された疎通状態確認信号を、前記第１の通信装置に対して送信し、その応答を所定時間内に受信したか否かにより第１のリンクが疎通状態であるか否かを判定し、前記第２の識別情報が設定された疎通状態確認信号を、前記第２の通信装置に対して送信し、その応答を所定時間内に受信したか否かにより第２のリンクが疎通状態であるか否かを判定し、前記第１のリンクが非疎通状態であり、かつ前記第２のリンクが疎通状態であると判定した場合に、前記第１の物理通信部に代えて前記第２の物理通信部を介してデータ通信を行うことをデータ通信制御部に対して指示するリンク監視部とを備え、
前記リンク監視部は、前記指示から前記第２の物理通信部を介してデータ通信を行うようになるまでの時間を前記所定時間に含めないように保護期間を設ける、
ことを特徴とする通信制御装置。
【請求項２】
前記データ通信制御部は、オペレーションシステムに付属するｂｏｎｄｉｎｇ機能であり、
前記第１の論理通信部及び前記第２の論理通信部は、ＶＬＡＮインタフェースであり、
前記第１の識別情報及び前記第２の識別情報は、仮想的なＩＰアドレスである、
ことを特徴とする請求項１に記載された通信制御装置。
【請求項３】
前記疎通状態確認信号は、ＩＣＭＰリクエストであり、
前記リンク監視部は、
前記第１の識別情報を送信元アドレスとするＩＣＭＰリクエストを前記第１の通信装置に対して送信し、その応答を受信した場合に前記第１のリンクが疎通状態であると判定すると共に、受信しなかった場合に前記第１のリンクが非疎通状態であると判定し、一方、前記第２の識別情報を送信元アドレスとするＩＣＭＰリクエストを前記第２の通信装置に対して送信し、その応答を受信した場合に前記第２のリンクが疎通状態であると判定すると共に、受信しなかった場合に前記第２のリンクが非疎通状態であると判定する、
ことを特徴とする請求項２に記載された通信制御装置。
【請求項４】
前記リンク監視部は、
前記第１の通信装置に対して、ＩＣＭＰリクエストを複数回にわたって送信し、所定時間内にそれらの送信に対する応答を少なくとも１つ受信した場合に前記第１のリンクが疎通状態であると判定すると共に、１つの応答も受信しなかった場合に前記第１のリンクが非疎通状態であると判定する、
ことを特徴とする請求項３に記載された通信制御装置。
【請求項５】
第１の通信装置が配設される第１のリンク及び第２の通信装置が配設される第２のリンクを含んで構成される通信ネットワークと通信可能に接続される通信制御装置が実行する通信制御方法であって、
前記通信制御装置は、前記第１のリンクに接続される第１の物理通信部と、前記第２のリンクに接続される第２の物理通信部と、仮想的なインタフェースとして機能し、第１の識別情報が割り振られる第１の論理通信部と、仮想的なインタフェースとして機能し、第２の識別情報が割り振られる第２の論理通信部とを備え、
前記第１の物理通信部及び前記第２の物理通信部を論理的に束ねて、前記第１の物理通信部を介してデータ通信を行い、
前記第１の識別情報が設定された疎通状態確認信号を、前記第１の通信装置に対して送信し、その応答を所定時間内に受信したか否かにより第１のリンクが疎通状態であるか否かを判定し、前記第２の識別情報が設定された疎通状態確認信号を、前記第２の通信装置に対して送信し、その応答を所定時間内に受信したか否かにより第２のリンクが疎通状態であるか否かを判定し、前記第１のリンクが非疎通状態であり、かつ前記第２のリンクが疎通状態であると判定した場合に、前記第１の物理通信部に代えて前記第２の物理通信部を介してデータ通信を行い、
前記指示から前記第２の物理通信部を介してデータ通信を行うようになるまでの時間を前記所定時間に含めないように保護期間を設ける、
ことを特徴とする通信制御方法。
【請求項６】
請求項５に記載の通信制御方法を前記通信制御装置のコンピュータに実行させることを特徴とする通信制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ通信を行うＮＷ経路(リンク)が疎通状態であるか否かの監視を行う、通信制御装置、通信制御方法、及び通信制御プログラムに関し、特に、ｂｏｎｄｉｎｇ機能により実現される冗長化されたＮＷ経路(リンク)が疎通状態であるか否かの監視を行う技術に関する。
【背景技術】
【０００２】
通信機器等を有するサーバなどにおけるデータ通信の信頼性を向上させるための手段として、ＮＩＣ(Network Interface Card)を冗長化する構成とし、この複数のＮＩＣを束ねることで仮想的な１つのＮＩＣとして扱うｂｏｎｄｉｎｇ機能がサーバなどに採用されることが多い。ｂｏｎｄｉｎｇ機能は、Ｌｉｎｕｘ(登録商標)カーネルに付属している機能であり、同種の技術を「トランキング」、「チーミング」などと呼ぶ場合がある。また、ｂｏｎｄｉｎｇ機能を構成するＮＩＣを「スレーブ(slave)」、又は「スレーブインタフェース」と呼ぶ場合がある。
【０００３】
サーバなどにｂｏｎｄｉｎｇ機能を採用するメリットは、外部のルータとの間で複数のＮＷ経路(リンク)を介した通信が可能となる点である。そのため、ある特定のＮＷ経路に故障(リンク障害)が発生した場合でも、ｂｏｎｄｉｎｇ機能を採用したサーバは、他のＮＷ経路を使用した通信が可能となる。
【０００４】
前記説明したｂｏｎｄｉｎｇ機能では、通信方式として幾つかの動作モードが用意されている。サーバにｂｏｎｄｉｎｇ機能を採用する場合においては、一般的に耐障害性が重視され、「fault-tolerance(active-backup)モード」が選択される場合が多い。
ここで、active-backupモードは、activeな１つのスレーブインタフェース(以下、「稼働系スレーブインタフェース」と呼ぶ場合がある)と、非activeなスレーブインタフェース(以下、「待機系スレーブインタフェース」と呼ぶ場合がある)とで構成され、通常は「稼働系スレーブインタフェース」のみが通信を行い、稼働系スレーブインタフェースにリンク障害が起きた場合に、自動的に「待機系スレーブインタフェース」に切り替えて通信を継続する方式である。なお、スレーブインタフェースの中で、障害がなければ常に「稼働系スレーブインタフェース」として利用されるものを「プライマリスレーブ」と呼ぶ。
【０００５】
また、リンク障害の監視方式として、ｂｏｎｄｉｎｇ機能では、「ａｒｐ(Address Resolution Protocol)リンク監視方式」と「ＭＩＩ(Media Independent Interface)リンク監視方式」との２つの方式が規定されている。
【０００６】
ａｒｐリンク監視方式は、指定した装置に対してａｒｐリクエストを送信し、その応答によりリンク状態の判定を行う。しかし、同サブネット内に常にブロードキャストを送信するマシンがいる場合は、指定した装置からのａｒｐリクエストの応答がない場合でも、リンク障害(例えばリンクダウン)を検出できない場合がある。また、定期的にａｒｐリクエストを送信するため、ネットワークに無駄なトラフィックが流れることとなる。そのため、通信機器等を有するサーバでは、ＭＩＩリンク監視方式が採用される場合が多い（非特許文献１参照）。
【０００７】
非特許文献１に記載されるActive-backupモードにおけるサーバシステムの概略図を図５に示す。図５に示すサーバ７００は、通信機器７１０を備え、通信機器７１０は、稼働系スレーブインタフェースとして機能するＮＩＣ７０１Ａと、待機系スレーブインタフェースとして機能するＮＩＣ７０１Ｂと、制御部７０２とで構成される。サーバ７００は、ＮＩＣ７０１Ａを介してレイヤ２スイッチ(以下では、略して「Ｌ２ＳＷ」と呼ぶ場合がある)７２０Ａに接続され、また、ＮＩＣ７０１Ｂを介してＬ２ＳＷ７２０Ｂに接続される。
【０００８】
また、ＭＩＩリンク監視方式を用いた場合において、スレーブインタフェース７０１Ａのリンク障害が発生した場合のスレーブインタフェースの切り替え処理の概要を図６に示す。図６に示すように、リンク障害の発生後は、ｂｏｎｄｉｎｇ部７０３が、待機系スレーブインタフェースとして機能していたＮＩＣ７０１Ｂを稼働系スレーブインタフェースに切り替えて通信を行う。以下では、リンク障害が発生した場合のスレーブインタフェースの切り替え処理を「ｂｏｎｄｉｎｇ切替」と呼ぶ場合がある。
【先行技術文献】
【非特許文献】
【０００９】
【非特許文献１】“Linux Ethernet Bonding Driver HOWTO”、[online]、21 June 2005、Thomas Davis、[平成２４年１月２３日検索]、インターネット<URL: http://www.cyberciti.biz/howto/question/static/linux-ethernet-bonding-driver-howto.php>
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、前記説明したactive-backupモードにおけるＭＩＩリンク監視方式では、稼働系スレーブインタフェースに接続されるＮＷ経路に異常が発生した場合でも、稼働系スレーブインタフェース及び待機系スレーブインタフェース間の切り替えが行われない場合があるという問題があった。
【００１１】
Active-backupモードにおけるサーバシステムで前記問題があった構成例の概略図を図７に示す。図７は、サーバと上位のルータとの間にＬ２ＳＷが配設されるネットワーク構成である。図７に示すネットワークにおいて、Ｌ２ＳＷ７２０Ａが故障した場合、サーバ７００からルータ７３０ＡへのＮＷ経路が通信断となるが、ＮＩＣ７０１Ａの機能を稼働系スレーブインタフェースに切り替える処理は行われない（図８参照）。これは、ＭＩＩリンク監視方式では、稼働系スレーブインタフェースの状態が正常である限り、稼働系スレーブインタフェースに接続されるＮＷ経路が正常な状態であると認識され、待機系スレーブインタフェースへの切り替えが行われない所、図８に示す状態では、稼働系スレーブインタフェースとして機能するＮＩＣ７０１Ａのリンク状態が正常であるので、ＮＩＣ７０１Ａに接続されるＮＷ経路についても正常な状態と認識されるためである。
【００１２】
その結果、サーバ７００の稼働系スレーブインタフェースとして機能するＮＩＣ７０１Ａからルータ７３０ＡへのＮＷ経路が通信断になった場合でも、待機系スレーブインタフェースとして機能していたＮＩＣ７０１Ｂの稼働系スレーブインタフェースへの切り替えが実施されず、安定した通信サービスの提供ができなくなってしまうことが懸念された。
【００１３】
本発明は、前記問題に鑑みてなされたものであり、安定したデータ通信を実現することができる、通信制御装置、通信制御方法、及び通信制御プログラムを提供することを課題とする。
【課題を解決するための手段】
【００１４】
前記課題を解決するため、本発明に係る通信制御装置は、第１の通信装置（３０Ａ）が配設される第１のリンク及び第２の通信装置（３０Ｂ）が配設される第２のリンクを含んで構成される通信ネットワークと通信可能に接続される通信制御装置（１０）であって、前記第１のリンクに接続される第１の物理通信部（１Ａ）と、前記第２のリンクに接続される第２の物理通信部（１Ｂ）と、仮想的なインタフェースとして機能し、第１の識別情報が割り振られる第１の論理通信部（５Ａ）と、仮想的なインタフェースとして機能し、第２の識別情報が割り振られる第２の論理通信部（５Ｂ）と、前記第１の物理通信部及び前記第２の物理通信部を論理的に束ねて、前記第１のリンクが疎通状態においては前記第１の物理通信部を介してデータ通信を行い、前記第１のリンクが非疎通状態においては前記第２の物理通信部を介してデータ通信を行うデータ通信制御部（３）と、前記第１の識別情報が設定された疎通状態確認信号を、前記第１の通信装置に対して送信し、その応答を所定時間内に受信したか否かにより第１のリンクが疎通状態であるか否かを判定し、前記第２の識別情報が設定された疎通状態確認信号を、前記第２の通信装置に対して送信し、その応答を所定時間内に受信したか否かにより第２のリンクが疎通状態であるか否かを判定し、前記第１のリンクが非疎通状態であり、かつ前記第２のリンクが疎通状態であると判定した場合に、前記第１の物理通信部に代えて前記第２の物理通信部を介してデータ通信を行うことをデータ通信制御部に対して指示するリンク監視部（４）とを備え、前記リンク監視部は、前記指示から前記第２の物理通信部を介してデータ通信を行うようになるまでの時間を前記所定時間に含めないように保護期間を設けることを特徴とする。但し、（  ）内の符号は、例示である。
【００１５】
また、本発明に係る通信制御方法は、第１の通信装置（３０Ａ）が配設される第１のリンク及び第２の通信装置（３０Ｂ）が配設される第２のリンクを含んで構成される通信ネットワークと通信可能に接続される通信制御装置（１０）が実行する通信制御方法であって、前記通信制御装置は、前記第１のリンクに接続される第１の物理通信部（１Ａ）と、前記第２のリンクに接続される第２の物理通信部（１Ｂ）と、仮想的なインタフェースとして機能し、第１の識別情報が割り振られる第１の論理通信部（５Ａ）と、仮想的なインタフェースとして機能し、第２の識別情報が割り振られる第２の論理通信部（５Ｂ）とを備え、前記第１の物理通信部及び前記第２の物理通信部を論理的に束ねて、前記第１の物理通信部を介してデータ通信を行い、前記第１の識別情報が設定された疎通状態確認信号を、前記第１の通信装置に対して送信し、その応答を所定時間内に受信したか否かにより第１のリンクが疎通状態であるか否かを判定し、前記第２の識別情報が設定された疎通状態確認信号を、前記第２の通信装置に対して送信し、その応答を所定時間内に受信したか否かにより第２のリンクが疎通状態であるか否かを判定し、前記第１のリンクが非疎通状態であり、かつ前記第２のリンクが疎通状態であると判定した場合に、前記第１の物理通信部に代えて前記第２の物理通信部を介してデータ通信を行い、前記指示から前記第２の物理通信部を介してデータ通信を行うようになるまでの時間を前記所定時間に含めないように保護期間を設ける、ことを特徴とする。但し、（  ）内の符号は、例示である。
【００１６】
また、本発明に係る通信制御プログラムは、前記記載の通信制御方法を前記通信制御装置のコンピュータに実行させることを特徴とする。
【発明の効果】
【００１７】
本発明によれば、安定したデータ通信を実現することができる。
【図面の簡単な説明】
【００１８】
【図１】実施形態に係る通信システムの構成図である。
【図２】実施形態に係る通信システムにおけるＮＷ経路(リンク)の監視処理を説明するための図である。
【図３】実施形態に係る通信システムにおける故障が発生した場合のスレーブインタフェースの切り替え処理を説明するための図である。
【図４】実施形態に係る通信システムを構成するサーバのＮＷ経路の監視動作を示すフローチャートである。
【図５】比較例として示す、従来のActive-backupモードにおけるサーバシステムの構成図である。
【図６】比較例として示す、従来のActive-backupモードにおけるサーバシステムにおいてリンク障害が発生した場合のスレーブインタフェースの切り替え処理を説明するための図である。
【図７】比較例として示す、従来のActive-backupモードにおけるサーバシステムにおいて問題となる構成図である。
【図８】比較例として示す、従来のActive-backupモードにおけるサーバシステムにおいて問題となる状態を説明するための図である。
【発明を実施するための形態】
【００１９】
以下、図面を参照して、本発明の実施の形態につき詳細に説明する。
各図は、本発明を十分に理解できる程度に、概略的に示してあるに過ぎない。よって、本発明は、図示例のみに限定されるものではない。なお、各図において、共通する構成要素や同様な構成要素については、同一の符号を付し、それらの重複する説明を省略する。
【００２０】
≪実施形態に係る通信システム≫
図１を参照して、実施形態に係る通信システムの構成を説明する。図１は、実施形態に係る通信システム１０００の構成図である。
【００２１】
通信システム１０００は、例えば、ＬＡＮ(Local Area Network)であり、サーバ１００と、冗長構成されているＬ２ＳＷ２０Ａ，２０Ｂ（以下では、まとめて「Ｌ２ＳＷ２０」と呼ぶ場合がある）と、同じく冗長構成されているルータ３０Ａ，３０Ｂ（以下では、まとめて「ルータ３０」と呼ぶ場合がある）とで構成される。ここで、ルータ３０は、ＩＣＭＰ(Internet Control Message Protocol)に対応し、ＩＣＭＰリクエスト送信が可能なＩＰ(Internet Protocol)アドレスが割り当てられている。以下では、通信システム１０００の主要な構成であるサーバ１００の構成及び動作について詳細に説明する。
【００２２】
＜サーバの構成＞
サーバ１００は、Ｌ２ＳＷ２０Ａ，２０Ｂやルータ３０Ａ，３０Ｂなどで構成される外部ネットワークを介するデータ通信を実現する装置である。サーバ１００は、物理通信部としてのＮＩＣ１Ａ，１Ｂと、制御部２とを備えて構成される。以下では、物理通信部としてのＮＩＣ１Ａ，１Ｂと、制御部２とを合わせて通信制御装置としての通信機器１０と呼ぶ場合がある。サーバ１００は、通信機器１０の他にもメインＣＰＵ(Central Processing Unit)、メインメモリ、電源など(いずれも図示せず)を備えて構成される。例えば、図示しないメインＣＰＵでは、ＯＳ(Operating system)やアプリケーションが実行される。また、サーバ１００は、通信機器１０を備えれば種類は特に限定されない。また、サーバ１００は、ブレードサーバとして構成してもよい。
【００２３】
（ＮＩＣ(Network Interface Card)）
物理通信部としてのＮＩＣ１Ａ，１Ｂ(以下では、まとめて「ＮＩＣ１」と呼ぶ場合がある)は、Ｌ２ＳＷ２０に接続するための拡張ボードであり、ＬＡＮ規格に対応した物理層やデータリンク層に基づいてデータ通信を行うための電子回路が実装される。ＮＩＣ１は、例えば、１０ＢＡＳＥ−Ｔや１００ＢＡＳＥ−ＴＸに対応したＥｔｈｅｒｎｅｔ(登録商標)ボードである。本実施形態では、ＮＩＣ１Ａは、サーバ１００をＬ２ＳＷ２０Ａに接続し、ＮＩＣ１Ｂは、サーバ１００をＬ２ＳＷ２０Ｂに接続する。これにより、ＮＩＣ１Ａとルータ３０Ａとの間、及びＮＩＣ１Ｂとルータ３０Ｂとの間でＮＷ経路(リンク)が形成される。
【００２４】
（制御部）
制御部２は、ＣＰＵ(Central Processing Unit)によるプログラム実行処理や、専用回路等により実現される。なお、制御部２の機能をプログラム実行処理により実現する場合、図示しない記憶部には、この機能を実現するためのプログラムが格納される。
制御部２は、データ通信制御部としてのｂｏｎｄｉｎｇ部３と、リンク監視部４とを実現する。以下では、各機能について詳細に説明する。
【００２５】
（ｂｏｎｄｉｎｇ部）
ｂｏｎｄｉｎｇ部３は、Ｌｉｎｕｘ(登録商標)カーネルに付属している機能であり、ＮＩＣ１Ａ，１Ｂをボンディングして(束ねて)１つの論理的(仮想的)なインタフェースを構築し、データ通信を行う。本実施形態では、動作モードとして「fault-tolerance(active-backup)モード」が選択されているものとする。
【００２６】
図１においては、ｂｏｎｄｉｎｇ部３は、ＮＩＣ１Ａを稼働系スレーブインタフェースとして機能(ｂｏｎｄｉｎｇ部３とＮＩＣ１Ａとの間を実線で表示)させ、ＮＩＣ１Ｂを待機系スレーブインタフェースとして機能(ｂｏｎｄｉｎｇ部３とＮＩＣ１Ｂとの間を破線で表示)させている状態を示しているが、詳細は後記するリンク監視部４からの指示で、ＮＩＣ１における稼働系スレーブインタフェースの役割と待機系スレーブインタフェースの役割を切り替える(ｂｏｎｄｉｎｇ切替)。これにより、サーバ１００は、一つのＭＡＣアドレスやＩＰアドレスで通信パケットを処理しているにも関わらず、複数のＮＷ経路(リンク)の構築が可能となり、通信システム１０００において、高可用性(ＨＡ：fault tolerance)が実現される。
【００２７】
ｂｏｎｄｉｎｇ部３は、図示しないメインＣＰＵで実行されるアプリケーションから通信データを受け取り、受け取った通信データを、稼働系スレーブインタフェースを介して送信先に送信する。また、ｂｏｎｄｉｎｇ部３は、送信元から送信された通信データを稼働系スレーブインタフェースを介して受信し、受信した通信データを、図示しないメインＣＰＵで実行されるアプリケーションに渡す。なお、ＮＩＣ１の内、どちらが稼働系スレーブインタフェースとして機能しているかは、サーバ１００の図示しないメインＣＰＵで実行されるＯＳにより、ｂｏｎｄｉｎｇ設定ファイル内で管理されている。
【００２８】
（リンク監視部）
リンク監視部４は、ｂｏｎｄｉｎｇ部３により論理的な一つのインタフェースとして束ねられたＮＩＣ１Ａ，１Ｂに接続されるＮＷ経路(リンク)の疎通状態、及び非疎通状態を確認し、ＮＷ経路(リンク)の状態に応じて、ｂｏｎｄｉｎｇ部３に対し、ＮＩＣ１の稼働系スレーブインタフェースの機能又は待機系スレーブインタフェースの機能の切り替え(ｂｏｎｄｉｎｇ切替)を指示する。以下では、リンク監視部４が、ＮＷ経路(リンク)の疎通状態、及び非疎通状態を確認する方法を説明する。
【００２９】
リンク監視部４は、ｂｏｎｄｉｎｇ部３により論理化(仮想化)されているＮＩＣ１単位に、論理通信部としてのＶＬＡＮ(Virtual LAN)インタフェース５Ａ，５Ｂ（以下では、まとめて「ＶＬＡＮインタフェース５」と呼ぶ場合がある）を割り振る。ＶＬＡＮインタフェース５は、例えば、ＩＥＥＥ８０２．１Ｑ標準に規定される仮想的なインタフェースである。そして、リンク監視部４は、割り振ったＶＬＡＮインタフェース５に対し、仮想的なＩＰアドレスを割り当てる。論理通信部としてのＶＬＡＮインタフェース５に割り当てられる仮想的なＩＰアドレスは、第１の識別情報及び第２の識別情報である。
【００３０】
なお、実施形態では、リンク監視部４のＶＬＡＮインタフェース５の設定、及びＶＬＡＮインタフェース５へのＩＰアドレスの設定が、自動で行われる機能として規定される場合を想定して説明しているが、リンク監視部４は、操作者が手動でＶＬＡＮインタフェース５等を設定するための機能を提供するように規定されてもよい。
【００３１】
続いて、リンク監視部４は、ｂｏｎｄｉｎｇ部３により論理化(仮想化)されているＮＩＣ１単位に、ＮＩＣ１に対応するＶＬＡＮインタフェース５から疎通状態確認信号としてのＩＣＭＰリクエストを送信し、その応答結果の有無を判定することで、ＮＩＣ１に接続されるＮＷ経路(リンク)の疎通状態を監視する。
【００３２】
具体的には、リンク監視部４は、疎通状態確認信号としてのＩＣＭＰリクエストの送信からその応答を受信するまでの期間としてある一定の監視タイムアウト時間を定める。監視タイムアウト時間は、ラウンドトリップタイム(Round Trip Time)、ラウンドトリップディレイタイム(Round-Trip delay Time)を加味した応答遅延時間の統計値を元に算出する。
【００３３】
そして、リンク監視部４は、監視タイムアウト時間内に応答があった場合に、ＮＩＣ１に接続されるＮＷ経路(リンク)が疎通状態であると判定する。一方、リンク監視部４は、監視タイムアウト時間内に応答がなかった場合に、ＮＩＣ１に接続されるＮＷ経路(リンク)が非疎通状態(リンク障害が発生している状態)であると判定する。リンク監視部４は、ＮＷ経路(リンク)が非疎通状態であると判定した場合に、サーバ１００の図示しないメインＣＰＵで実行されるＯＳにて管理しているｂｏｎｄｉｎｇ設定ファイルを参照し、非疎通状態になったＮＷ経路(リンク)が稼働系スレーブインタフェースに接続されるＮＷ経路(以下では「稼働系リンク」と呼ぶ場合がある)であるか、それとも待機系スレーブインタフェースに接続されるＮＷ経路(以下では、「待機系リンク」と呼ぶ場合がある)であるかを判定する。なお、稼働系リンクは、第１のリンクであり、待機系リンクは、第２のリンクである。
【００３４】
そして、リンク監視部４は、稼働系リンクが非疎通状態であり、かつ待機系リンクが疎通状態である場合に、稼働系スレーブインタフェースの役割と待機系スレーブインタフェースの役割との切り替えをｂｏｎｄｉｎｇ部３に指示する。この指示により、ｂｏｎｄｉｎｇ部３は、ＮＩＣ１の稼働系スレーブインタフェースの役割と待機系スレーブインタフェースの役割とを切り替える。リンク監視部４は、切り替え指示後もＮＷ経路の監視を続ける。この際に、ｂｏｎｄｉｎｇ切替が発生した直後は、ｂｏｎｄｉｎｇ切替中のパケットロスを考慮し、監視タイムアウト時間に含めず、ＩＣＭＰリクエスト送信は実施しないｂｏｎｄｉｎｇ切替保護時間を設けるのが好適である。
【００３５】
一方、リンク監視部４は、稼働系リンクが非疎通状態であっても、待機系リンクが非疎通状態である場合には、ＮＩＣ１の稼働系スレーブインタフェースの役割と待機系スレーブインタフェースの役割とを切り替えても、データ通信は行えないので、ｂｏｎｄｉｎｇ切替を実施しない。この場合、リンク監視部４は、サーバ１００の図示しない表示部に、リンク障害が発生している旨を表示するようにしてもよい。
また、リンク監視部４は、待機系リンクが疎通状態又は非疎通状態であるかに関わらず、稼働系リンクが疎通状態である場合には、データ通信が行えている状態なので、ｂｏｎｄｉｎｇ切替を実施しない。
【００３６】
リンク監視部４によるＮＷ経路の疎通状態の監視は、周期的に実施するのが好適である。それにより、ＮＷ経路において発生した障害による非疎通状態を早期に検知し、ＮＩＣ１におけるｂｏｎｄｉｎｇ切替を実施することができる。
【００３７】
続いて、リンク監視部４がＮＷ経路(リンク)を監視する処理について、図２及び図３を参照して具体的に説明する。図２は、実施形態に係る通信システム１０００におけるＮＷ経路(リンク)の監視処理を説明するための図である。また、図３は、実施形態に係る通信システム１００００における故障が発生した場合のスレーブインタフェースの切り替え処理を説明するための図である。
【００３８】
図２を参照し、リンク監視部４は、稼働系スレーブインタフェースとしてのＮＩＣ１Ａに接続されるＮＷ経路の疎通状態を確認するために、ＶＬＡＮインタフェース５Ａからルータ３０Ａに対して、ＶＬＡＮインタフェース５Ａに設定されたＩＰアドレスを送信元アドレスとするＩＣＭＰリクエストを周期的に送信し、その応答をルータ３０Ａから受信する。また、リンク監視部４は、待機系スレーブインタフェースとしてのＮＩＣ１Ｂに接続されるＮＷ経路の疎通状態を確認するために、ＶＬＡＮインタフェース５Ｂからルータ３０Ｂに対して、ＶＬＡＮインタフェース５Ｂに設定されたＩＰアドレスを送信元アドレスとするＩＣＭＰリクエストを周期的に送信し、その応答をルータ３０Ｂから受信する。ここで、送信先であるルータ３０Ａ，３０ＢのＩＰアドレスは、サーバ１００の操作者が手動で設定してもよいし、サーバ１００が自動で設定するようにしてもよい。
【００３９】
続いて、図２の状態において、Ｌ２ＳＷ２０Ａで故障(リンク障害)が発生した場合を想定する。図３に示すように、Ｌ２ＳＷ２０Ａで故障が発生することにより、リンク監視部４は、ルータ３０Ａに対して送信したＩＣＭＰリクエストの応答を監視タイムアウト時間内に受信しない。そのため、リンク監視部４は、稼働系リンクが非疎通状態であると判定する。一方、リンク監視部４は、ルータ３０Ｂに対して送信したＩＣＭＰリクエストの応答を監視タイムアウト時間内に引き続き受信する。そのため、リンク監視部４は、待機系リンクが疎通状態であると判定する。そして、稼働系リンクが非疎通状態であり、かつ待機系リンクが疎通状態であるので、リンク監視部４は、ＮＩＣ１のｂｏｎｄｉｎｇ切替をｂｏｎｄｉｎｇ部３に指示する。ｂｏｎｄｉｎｇ部３は、リンク監視部４からの指示に基づき、ＮＩＣ１Ａの役割を稼働系スレーブインタフェースとし、ＮＩＣ１Ｂの役割を待機系スレーブインタフェースとするｂｏｎｄｉｎｇ切替を実施する。そして、ｂｏｎｄｉｎｇ部３は、ＮＩＣ１Ｂを介してデータ通信を行う。
以上で、サーバ１００の構成の説明を終了する。
【００４０】
＜サーバの動作＞
以下では、サーバ１００が実施するＮＷ経路の監視動作について図４を参照(適宜、図１ないし図３を参照)して説明する。図４は、実施形態に係る通信システム１０００を構成するサーバ１００のＮＷ経路の監視動作を示すフローチャートである。
【００４１】
（ＮＷ経路(リンク)の監視動作）
サーバ１００のリンク監視部４は、ＮＷ経路(リンク)の疎通状態を確認する（ステップＳ１０）。具体的には、リンク監視部４は、ｂｏｎｄｉｎｇ部３により論理化(仮想化)されているＮＩＣ１単位に、ＮＩＣ１に対応するＶＬＡＮインタフェース５から疎通状態確認信号としてのＩＣＭＰリクエストを送信し、その応答結果の有無を判定することで、ＮＩＣ１に接続されるＮＷ経路(リンク)の疎通状態を確認する。
【００４２】
続いて、リンク監視部４は、稼働系リンクが非疎通状態であり、かつ待機系リンクが疎通状態であるか否かを判定する（ステップＳ２０）。具体的には、リンク監視部４は、稼働系リンクに配設されるルータ３０(図１では、ルータ３０Ａ)からＩＣＭＰリクエストに対する応答を監視タイムアウト時間内に受信せず、一方、待機系リンクに配設されるルータ３０(図１では、ルータ３０Ｂ)からＩＣＭＰリクエストに対する応答を監視タイムアウト時間内に受信した場合に、稼働系リンクが非疎通状態であり、かつ待機系リンクが疎通状態であると判定する。ステップＳ２０で“Ｙｅｓ”と判定された場合に、処理はステップＳ３０に進む。一方、ステップＳ２０で“Ｎｏ”と判定された場合に、処理は終了する。
【００４３】
ステップＳ２０で“Ｙｅｓ”と判定された場合に、リンク監視部４は、ＮＩＣ１のｂｏｎｄｉｎｇ切替をｂｏｎｄｉｎｇ部３に指示する。ｂｏｎｄｉｎｇ部３は、リンク監視部４からの指示に基づき、ＮＩＣ１の稼働系スレーブインタフェースの役割と、待機系スレーブインタフェースの役割とを切り替える（ステップＳ３０）。そして、処理は終了する。
以上で、サーバ１００の動作の説明を終了する。また、通信システム１０００の説明を終了する。
【００４４】
以上のように、実施形態に係る通信制御装置としての通信機器１０は、ＶＬＡＮインタフェース５から疎通状態確認信号としてのＩＣＭＰリクエストを送信し、その応答有無に応じて、ｂｏｎｄｉｎｇの稼働系スレーブインタフェースと待機系スレーブインタフェースの切り替えを実施する。そのため、稼働系スレーブインタフェースのＮＷ経路(リンク)に異常が発生したにも関わらず、待機系スレーブインタフェースへのｂｏｎｄｉｎｇ切替が実施されないことを防ぐことができる。それにより、サーバ１００の通信障害を早期に回復することが可能となり、安定したデータ通信を実現することができる。
【００４５】
≪変形例≫
以上、本発明の実施形態について説明したが、本発明はこれに限定されるものではなく、その趣旨を変えない範囲で実施することができる。実施形態の変形例を以下に示す。
【００４６】
（リンク監視部）
実施形態では、リンク監視部４が、疎通状態確認信号としてのＩＣＭＰリクエストの送信ごとに、監視タイムアウト時間を設定していた。しかしながら、ＮＷトラヒックの負荷状況によっては、多量なパケットの送受信により、パケットロスが発生し得る可能性があり、その場合に、リンク監視部４の監視処理についてもパケット喪失率の考慮が必要となる。
【００４７】
つまり、リンク監視部４は、複数回のＩＣＭＰリクエスト所定の間隔で送信し、監視タイムアウト時間以内にＩＣＭＰリクエストの応答が１つ以上あった場合、ＮＷ経路状態は正常と判断し、監視タイムアウト時間以内にＩＣＭＰリクエストの応答が１つも無かった場合は、ＮＷ経路になんらかの通信障害が発生したと判断する。それにより、ＮＷ瞬断によって一時的なＮＷ障害・障害回復が繰り返されるような場合にも、ｂｏｎｄｉｎｇ切替の繰り返しによるばたつきを抑える効果がある。
【００４８】
他にも、実施形態におけるＩＣＭＰリクエスト応答有無を判定する監視タイムアウト時間の間隔等を、システム要件により最適値にチューニングしていくことによって、サーバの通信障害によるサービス中断期間を最小限に抑えることが可能である。
【００４９】
（ＮＩＣ(Network Interface Card)）
実施形態では、ｂｏｎｄｉｎｇ部３により２つのＮＩＣ１Ａ，１Ｂをボンディングして(束ねて)１つの論理的(仮想的)なインタフェースを構築していたが、ＮＩＣ１の数は、２つに限定されない。ＮＩＣ１の数は、複数であればよく、その内の一つを稼働系スレーブインタフェースとし、その他を待機系スレーブインタフェースとすることも可能である。それにより、ｂｏｎｄｉｎｇ切替時に稼働系スレーブインタフェースとなり得る候補が増えるので、より安定したデータ通信を実現することができる。
【００５０】
（通信システム）
実施形態では、Active-backupモードにおいて一般的に採用される構成を通信システム１０００として示したに過ぎず、通信システム１０００の構成はこれに限定されない。例えば、Ｌ２ＳＷ２０の数を増やして互いを連結する構成としてもよい。
【符号の説明】
【００５１】
１Ａ，１Ｂ，１  ＮＩＣ（物理通信部）
２              制御部
３              ｂｏｎｄｉｎｇ部（データ通信制御部）
４              リンク監視部
５Ａ，５Ｂ，５  ＶＬＡＮインタフェース（論理通信部）
１０            通信機器（通信制御装置）
２０Ａ，２０Ｂ，２０  Ｌ２ＳＷ
３０Ａ，３０Ｂ，３０  ルータ（通信装置）
１００          サーバ
１０００        通信システム
【図１】
0005862336.tif 000002
【図２】
0005862336.tif 000003
【図３】
0005862336.tif 000004
【図４】
0005862336.tif 000005
【図５】
0005862336.tif 000006
【図６】
0005862336.tif 000007
【図７】
0005862336.tif 000008
【図８】
0005862336.tif 000009