(57)【要約】【課題】通信部が故障して通信を中継できない状態であるにもかかわらず、通信部以外の機能が正常に動作するサイレント障害を検知すること。【解決手段】スイッチ状況チェック部４１が、通信を中継する機能が動作しない場合にも動作する機能を用いて隣接スイッチ３を特定する。そして、疎通確認部４４が、通信を中継する機能を用いて隣接スイッチ３との間の疎通を確認する。そして、サイレント障害チェック部４９が、隣接スイッチ３との間の疎通確認の結果に基づいて、自装置がサイレント障害であるか否かを判定する。【選択図】図２
2020088786.tif 000002
【特許請求の範囲】
【請求項１】
通信を中継する機能が動作しない場合にも動作する機能を用いて隣接スイッチ装置を特定する特定部と、
前記特定部により特定された隣接スイッチ装置との疎通を、通信を中継する機能を用いて確認する疎通確認部と、
前記疎通確認部による疎通確認の結果に基づいて自装置にサイレント障害があるか否かを判定する判定部と
を有することを特徴とするスイッチ装置。
【請求項２】
前記疎通確認部により疎通が確認されなかった隣接スイッチ装置との通信をＡＣＬによる通信制御を行うことで該隣接スイッチ装置の切り離しを行う切離部をさらに有することを特徴とする請求項１に記載のスイッチ装置。
【請求項３】
前記切離部により切り離しが行われた隣接スイッチ装置が前記特定部により隣接スイッチ装置として特定された場合に、ＡＣＬによる通信制御を解除することで前記切り離しを復旧する復旧部をさらに有することを特徴とする請求項２に記載のスイッチ装置。
【請求項４】
前記判定部は、自装置にサイレント障害があると判定した場合に、隣接スイッチ装置以外の隣接装置との通信についてＡＣＬによる通信制御を行うことを特徴とする請求項２又は３に記載のスイッチ装置。
【請求項５】
前記特定部は、隣接スイッチ装置をＬＬＤＰを用いて特定することを特徴とする請求項１〜４のいずれか１つに記載のスイッチ装置。
【請求項６】
前記疎通確認部は、前記特定部により特定された隣接スイッチ装置との疎通をｐｉｎｇを用いて確認することを特徴とする請求項１〜５のいずれか１つに記載のスイッチ装置。
【請求項７】
コンピュータに、
通信を中継する機能が動作しない場合にも動作する機能を用いて隣接スイッチ装置を特定し、
特定した隣接スイッチ装置との疎通を、通信を中継する機能を用いて確認し、
疎通確認の結果に基づいて自装置にサイレント障害があるか否かを判定する
処理を実行させることを特徴とする障害検知プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スイッチ装置及び障害検知プログラムに関する。
【背景技術】
【０００２】
ネットワークシステムにおいては、サイレント障害が発生することがある。ここで、サイレント障害とは、エラーとして検知されない障害である。ネットワーク通信を中継するスイッチに関しては、通信部が故障して通信を中継できない状態であるにもかかわらず、通信部以外の機能が正常に動作してしまうと、ポートがオンラインとなり通信を受けることができる状態になり、サイレント障害が発生する。スイッチは、サイレント障害の状態でパケットを受けとると、通信部が故障しているのでパケットを破棄してしまう。このため、スイッチにサイレント障害が発生すると、ネットワークがブラックホール化する。
【０００３】
なお、通信障害に関して、複数のスイッチ装置のポート毎に、ポートを含むネットワーク経路又はポートに接続された機器の障害発生確率に応じた監視優先度を算出し、算出した各ポートの監視優先度と、各ポートとを対応付けた表示を行う従来技術がある。この従来技術によれば、監視対象ポイントを設定するポートを監視優先度に基づいて選択できるので、効率的な監視を行い、迅速な障害要因の切り分けを行うことができる。
【０００４】
また、別の従来技術として、通信の中断を生じさせることなく経路の切り替えを行うことを可能にし、障害発生及び回復のためのルーティング機構の処理の低減を図り、ネットワーク全体のパフォーマンス劣化を防止する技術がある。この技術では、ＩＰスイッチングノード装置のスイッチング機構に、物理ポート、回線及び仮想コネクションの状態を監視する手段を設ける。また、スイッチング機構に、ＩＰルーティング機構から仮想コネクション設定要求時に指定される物理ポート／仮想コネクション群の論理的定義及び物理マッピング情報を設定する手段を設ける。そして、回線の障害発生及び障害回復検出時、前記設定手段により定義された情報に従いＩＰルーティング機構に障害を意識させずにスイッチング機構のみで経路の切り替えを行う。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−２０５３０１号公報
【特許文献２】特開平１１−１２７１９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
スイッチにおいてサイレント障害が発生した場合、ネットワークダウンやシステムダウンといった形で顕在化するまで、障害を検知できないという問題がある。また、サイレント障害では、故障したスイッチは自身がパケットを廃棄していることを検知することができず、故障したスイッチに接続するスイッチや装置も故障スイッチが正常であるとみなすため、障害個所の特定や復旧に多くの時間がかかる。
【０００７】
サイレント障害が顕在化すると、例えば、複数の時刻における複数のスイッチのログを採取してパケット流量を計算することで故障スイッチを推測することや、ケーブルの抜き差しによって障害個所を推測することが行われる。近年、データセンターの規模の拡大にともない、ネットワークを構成するスイッチの数が増大し、ネットワーク構成が複雑化している。このため、障害個所の特定や復旧に要する時間がますます増大している。
【０００８】
本発明は、１つの側面では、スイッチにおけるサイレント障害を検知することを目的とする。
【課題を解決するための手段】
【０００９】
１つの態様では、スイッチ装置は、特定部と疎通確認部と判定部とを有する。前記特定部は、通信を中継する機能が動作しない場合にも動作する機能を用いて隣接スイッチ装置を特定する。前記疎通確認部は、前記特定部により特定された隣接スイッチ装置との疎通を、通信を中継する機能を用いて確認する。前記判定部は、前記疎通確認部による疎通確認の結果に基づいて自装置にサイレント障害があるか否かを判定する。
【発明の効果】
【００１０】
１つの側面では、本発明は、スイッチにおけるサイレント障害を検知することができる。
【図面の簡単な説明】
【００１１】
【図１】図１は、実施例に係るネットワークシステムの構成を示す図である。
【図２】図２は、スイッチの機能構成を示す図である。
【図３】図３は、スイッチ状況記憶部が記憶する情報の一例を示す図である。
【図４】図４は、スイッチによるサイレント障害処理のフローを示すフローチャートである。
【図５】図５は、隣接スイッチ特定処理のシーケンスを示す図である。
【図６】図６は、隣接スイッチ特定処理後のスイッチ状況記憶部の一例を示す図である。
【図７】図７は、疎通確認処理のシーケンスを示す図である。
【図８】図８は、疎通確認処理後のスイッチＡのスイッチ状況記憶部を示す図である。
【図９】図９は、経路復帰処理のシーケンスを示す図である。
【図１０】図１０は、疎通失敗確認処理のシーケンスを示す図である。
【図１１】図１１は、疎通失敗確認処理後のスイッチＡのスイッチ状況記憶部を示す図である。
【図１２】図１２は、切り離し処理のシーケンスを示す図である。
【図１３】図１３は、切り離し処理後のスイッチＡのスイッチ状況記憶部を示す図である。
【図１４】図１４は、障害個所判定処理のシーケンスを示す図である。
【図１５】図１５は、スイッチ間以外の切り離し処理のシーケンスを示す図である。
【図１６】図１６は、スイッチのハードウェア構成を示す図である。
【発明を実施するための形態】
【００１２】
以下に、本願の開示するスイッチ装置及び障害検知プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例は開示の技術を限定するものではない。
【実施例】
【００１３】
まず、実施例に係るネットワークシステムの構成について説明する。図１は、実施例に係るネットワークシステムの構成を示す図である。図１に示すように、実施例に係るネットワークシステム１は、サーバＡとサーバＢで表される２台のサーバ２と、スイッチＡ〜スイッチＤで表される４台のスイッチ３を有する。スイッチＡはポート＃１〜ポート＃３で表される３つのポートを有する。なお、図１では省略されているが、他のスイッチ３も複数のポートを有する。
【００１４】
スイッチＡは、サーバＡにポート＃１で隣接し、スイッチＢにポート＃２で隣接し、スイッチＣにポート＃３で隣接する。スイッチＢは、サーバＡとスイッチＡとスイッチＤに隣接する。スイッチＣは、サーバＢとスイッチＡとスイッチＤに隣接する。スイッチＤは、サーバＢとスイッチＢとスイッチＣに隣接する。
【００１５】
なお、ここでは説明の便宜上、２台のサーバ２と４台のスイッチ３を示したが、サーバ２の台数はより多くてもより少なくてもよく、スイッチ３の台数もより多くてもより少なくてもよい。
【００１６】
次に、スイッチ３の機能構成について説明する。図２は、スイッチ３の機能構成を示す図である。図２に示すように、スイッチ３は、記憶部３ａと制御部３ｂとを有する。
【００１７】
記憶部３ａは、制御部３ｂがスイッチ３を制御するときに使用するデータなどを記憶する。記憶部３ａは、ログ記憶部３１と、パケット記憶部３２と、スイッチ状況記憶部３３とを有する。ログ記憶部３１は、スイッチ３のログを記憶する。パケット記憶部３２は、スイッチ３が中継するパケットを記憶する。
【００１８】
スイッチ状況記憶部３３は、スイッチ３が有するオンラインポートに関する情報をオンラインポート毎に記憶する。図３は、スイッチ状況記憶部３３が記憶する情報の一例を示す図である。図３に示すように、スイッチ状況記憶部３３は、ポート番号、ポート状態、ＬＬＤＰ（Link  Layer  Discovery  Protocol）ステータス、ＩＰ（Internet  Protocol）アドレス、疎通状態、ＡＣＬ（Access  Control  List）設定及び経路ステータスを記憶する。
【００１９】
ポート番号は、ポートを識別する番号である。ポート状態は、ポートがオンラインであるか否かを示す。スイッチ状況記憶部３３は、オンラインポートに関する情報を記憶するため、ポート状態は、常にオンライン状態を示す「ｏｎｌｉｎｅ」である。
【００２０】
ＬＬＤＰステータスは、ＬＬＤＰで問合せを行った結果を示す。ＬＬＤＰは、隣接スイッチ３の情報得るためのプロトコルである。ＬＬＤＰステータスは、「ＮＧ」又は「ＯＫ」である。「ＮＧ」は、ＬＬＤＰで問合せを行ったが応答がない場合を示し、ポートに接続する装置がスイッチ３でないことを示す。「ＯＫ」は、ＬＬＤＰで問合せを行って応答があった場合を示し、ポートに接続する装置がスイッチ３であることを示す。ＩＰアドレスは、ポートに接続する装置がスイッチ３である場合に、隣接スイッチ３のＩＰアドレスを示す。
【００２１】
疎通状態は、隣接スイッチ３にｐｉｎｇを送信して確認した疎通結果を示す。疎通状態は、「ＮＧ」又は「ＯＫ」である。「ＮＧ」は疎通が確認されなかったことを示し、「ＯＫ」は疎通が確認されたことを示す。疎通状態の初期状態は「ＯＫ」である。
【００２２】
ＡＣＬ設定は、接続先装置のＡＣＬによる切り離しの有無を示す。障害の発生を検知して隣接装置を切り離す際に、ポートをシャットダウンするとＬＬＤＰの通信もできない状態になるので、スイッチ３は、ＡＣＬ設定により隣接装置を切り離す。ＡＣＬの設定では、ポート毎に通信するデータそれぞれに対して通信の可否を設定することができ、スイッチ３は、ＡＣＬの設定によりＬＬＤＰのみ通信を可能として隣接装置を切り離す。
【００２３】
ＡＣＬ設定は、「ｄｉｓａｂｌｅ」又は「ｅｎａｂｌｅ」である。「ｄｉｓａｂｌｅ」はＡＣＬを用いた通信制御による切り離しは行われていないことを示し、「ｅｎａｂｌｅ」はＡＣＬを用いた通信制御による切り離しが行われていることを示す。ＡＣＬ設定の初期状態は「ｄｉｓａｂｌｅ」である。
【００２４】
経路ステータスは、ポートが含まれる経路の状態を示す。経路ステータスは、「○」、「△」又は「×」である。「○」はポートが含まれる経路が通信可能であることを示し、「△」はＬＬＤＰステータスが「ＮＧ」であることを示し、「×」は疎通状態が「ＮＧ」であり通信不可であることを示す。経路ステータスの初期状態は「○」である。
【００２５】
制御部３ｂは、記憶部３ａを用いてスイッチ３を制御する。制御部３ｂは、サイレント障害を検知して、障害個所の切り離しを行う。制御部３ｂは、スイッチ状況チェック部４１と、ＬＬＤＰ解析部４２と、ＬＬＤＰ送受信部４３と、疎通確認部４４と、ｐｉｎｇ送受信部４５と、経路復帰部４６と、ＡＣＬ設定部４７と、障害チェック部４８と、サイレント障害チェック部４９とを有する。
【００２６】
スイッチ状況チェック部４１は、オンラインポートを検出し、検出したオンラインポートに基づいてスイッチ状況記憶部３３のポート状態を更新する。ポート状態が「ｏｎｌｅｉｎｅ」だったポートがオフラインになると、当該ポートの情報はスイッチ状況記憶部３３から削除される。そして、スイッチ状況チェック部４１は、全オンラインポートのＬＬＤＰ確認をＬＬＤＰ解析部４２に依頼し、ＬＬＤＰ解析部４２からの応答に基づいてスイッチ状況記憶部３３の経路ステータスを更新する。スイッチ状況チェック部４１は、ＬＬＤＰの確認が得られなかったポートの経路ステータスを「△」に更新する。
【００２７】
ＬＬＤＰ解析部４２は、スイッチ状況チェック部４１からの依頼に基づいて、全オンラインポートからＬＬＤＰ問合せを送信するようにＬＬＤＰ送受信部４３に指示する。そして、ＬＬＤＰ解析部４２は、ＬＬＤＰ送受信部４３からの応答に基づいて、スイッチ状況記憶部３３のＬＬＤＰステータスとＩＰアドレスを更新する。ＬＬＤＰ解析部４２は、応答があったポートについては、ＬＬＤＰステータスを「ＯＫ」に設定して、ＩＰアドレスを格納し、応答がなかったポートについては、ＬＬＤＰステータスを「ＮＧ」に設定する。
【００２８】
また、ＬＬＤＰ解析部４２は、経路ステータスが「×」であってＡＣＬ設定が未設定であるポートについて、ＡＣＬを用いて切り離すためＡＣＬ設定部４７にＡＣＬの設定を指示する。そして、ＬＬＤＰ解析部４２は、スイッチ状況記憶部３３のＡＣＬ設定を「ｅｎａｂｌｅ」に更新する。
【００２９】
ＬＬＤＰ送受信部４３は、ＬＬＤＰ解析部４２の指示に基づいて、全オンラインポートにＬＬＤＰ問合せを送信し、問合せに対する応答があったオンラインポートについて、ＩＰアドレスをＬＬＤＰ解析部４２に渡す。
【００３０】
疎通確認部４４は、スイッチ状況記憶部３３に記憶されたＩＰアドレスを用いてｐｉｎｇを送信するようにｐｉｎｇ送受信部４５に指示する。そして、疎通確認部４４は、ｐｉｎｇ送受信部４５からｐｉｎｇ送信結果を受取り、応答が得られなかったポートについてスイッチ状況記憶部３３の疎通状態を「ＮＧ」に更新する。
【００３１】
ｐｉｎｇ送受信部４５は、疎通確認部４４の指示に基づいて、隣接スイッチ３にｐｉｎｇを送信し、隣接スイッチ３からの応答の有無を疎通確認部４４に応答する。
【００３２】
経路復帰部４６は、経路ステータスが「×」になっていた経路が復旧した場合に、経路を通信可能な状態に自動復旧する。経路復帰部４６は、経路が復旧してＬＬＤＰの応答を受信すると、応答したポートを自動復旧する。
【００３３】
具体的には、経路復帰部４６は、経路ステータスが「×」であるポートを抽出し、抽出したポートについてＬＬＤＰステータスを確認し、ＬＬＤＰステータスが「ＯＫ」になっていれば、経路が復旧したと判断する。そして、経路復帰部４６は、スイッチ状況記憶部３３の対応するエントリを初期化し、ＡＣＬ設定を削除するようにＡＣＬ設定部４７に指示する。
【００３４】
ＡＣＬ設定部４７は、ＬＬＤＰ解析部４２の指示に基づいて、ＬＬＤＰのみ通信を可能とするＡＣＬ設定を行う。また、ＡＣＬ設定部４７は、経路復帰部４６の指示に基づいて、ＬＬＤＰのみ通信を可能とするＡＣＬ設定を削除する。
【００３５】
障害チェック部４８は、ｐｉｎｇ疎通が失敗したポート、すなわちスイッチ状況記憶部３３の疎通状態が「ＮＧ」であるポートの経路ステータスで「×」以外のものを「×」に変更する。
【００３６】
サイレント障害チェック部４９は、切り離しの原因が自装置か他スイッチ３か、すなわち自装置がサイレント障害を起こしているか否かを判定し、自装置がサイレント障害を起こしている場合には、スイッチ以外と接続する経路も切り離す。そして、サイレント障害チェック部４９は、ネットワーク管理者に通知するとともに、ポートＬＥＤを点灯する。
【００３７】
自装置がサイレント障害を起こしている場合、隣接スイッチ３との接続ポートの経路ステータスが全て「×」になる。そこで、サイレント障害チェック部４９は、隣接スイッチ３との接続ポートの経路ステータスが全て「×」であるか否かを判定することで、自装置がサイレント障害を起こしているか否かを判定する。
【００３８】
なお、障害チェック部４８は、疎通状態が「ＮＧ」であるポートの経路ステータスを「×」とする。したがって、隣接スイッチ３との接続ポートの経路ステータスが「×」であるポートは、疎通状態が「ＮＧ」である。このため、障害チェック部４８は、隣接スイッチ３との接続ポートの疎通状態が全て「ＮＧ」であるか否かを判定することで、自装置がサイレント障害を起こしているか否かを判定してもよい。
【００３９】
スイッチ以外と接続する経路としては、例えば、サーバ２と接続する経路がある。サイレント障害を起こしたスイッチ３と接続するサーバ２は、接続するスイッチ３が正常だとみなして接続するスイッチ３に通信パケットを送信するので、サーバ２に悪影響を与える。このような悪影響を防ぐため、サイレント障害チェック部４９は、経路ステータスが「△」の経路についても切り離しを行う。このように、経路ステータスが「△」の経路についても切り離しを行うことで、サイレント障害チェック部４９は、障害を完全に切り離すことができる。
【００４０】
次に、スイッチ３によるサイレント障害処理のフローについて説明する。図４は、スイッチ３によるサイレント障害処理のフローを示すフローチャートである。図４に示すように、スイッチ３は、ＬＬＤＰを用いて隣接スイッチ３を特定し（ステップＳ１）、特定した隣接スイッチ３の疎通をｐｉｎｇを用いて確認する（ステップＳ２）。
【００４１】
そして、スイッチ３は、以前に切り離した経路に復帰経路はあるか否かを判定し（ステップＳ３）、復帰経路がある場合には、経路復帰を行う（ステップＳ４）。そして、スイッチ３は、疎通に失敗したポートはあるか否かを判定し（ステップＳ５）、疎通に失敗したポートがない場合には、ステップＳ１に戻る。
【００４２】
一方、疎通に失敗したポートがある場合には、スイッチ３は、疎通に失敗したポートの経路を切り離す（ステップＳ６）。疎通に失敗したポートが複数ある場合には、スイッチ３は、疎通に失敗した全ポートの経路を切り離す。そして、スイッチ３は、全ての隣接スイッチ３との疎通に失敗したか否かに基づいて、自身の障害であるか否かを判定し（ステップＳ７）、自身の障害でない場合には、ステップＳ１に戻る。一方、自身の障害である場合には、スイッチ３は、スイッチ間以外の経路を切り離し、ネットワーク管理者に通知する（ステップＳ８）。
【００４３】
このように、スイッチ３は、ＬＬＤＰを用いて隣接スイッチ３を特定し、特定した隣接スイッチ３の疎通をｐｉｎｇを用いて確認する。そして、スイッチ３は、全ての隣接スイッチ３との疎通に失敗したか否かに基づいて、自身に障害があるか否かを判定するので、サイレント障害を検知することができる。
【００４４】
次に、スイッチ３によるサイレント障害処理のシーケンスについて図５〜図１５を用いて説明する。図５は、隣接スイッチ特定処理のシーケンスを示す図である。図５に示すように、スイッチ状況チェック部４１は、オンラインポートを検出し、スイッチ状況記憶部３３のポート状態を更新する（ステップＳ１１）。そして、スイッチ状況チェック部４１は、全オンラインポートのＬＬＤＰ確認をＬＬＤＰ解析部４２に依頼する（ステップＳ１２）。
【００４５】
ＬＬＤＰ解析部４２は、ＬＬＤＰの受信有無の問合せをＬＬＤＰ送受信部４３に行う（ステップＳ１３）。ＬＬＤＰ送受信部４３は、ＬＬＤＰを用いた送信を隣接装置に行い、ＬＬＤＰの受信状況をＬＬＤＰ解析部４２に提供する（ステップＳ１４）。ＬＬＤＰ解析部４２は、ＬＬＤＰ送受信部４３が受信したＬＬＤＰ応答からＩＰアドレスを取得し（ステップＳ１５）、スイッチ状況記憶部３３のＬＬＤＰステータスとＩＰアドレスを更新する（ステップＳ１６）。
【００４６】
そして、スイッチ状況チェック部４１は、スイッチ状況記憶部３３の経路ステータスを更新する（ステップＳ１７）。そして、スイッチ３は、図７に示す疎通確認処理に移動する。図６は、隣接スイッチ特定処理後のスイッチ状況記憶部３３の一例を示す図である。図６は、図１に示したネットワークシステム１において、スイッチＡにサイレント障害が発生した場合のスイッチＡのスイッチ状況記憶部３３を示す。
【００４７】
図６に示すように、ポート＃１はサーバＡに接続するので、ＬＬＤＰステータスは「ＮＧ」である。ポート＃２及びポート＃３は隣接するスイッチＢ及びスイッチＣにそれぞれ接続するので、ＬＬＤＰステータスは「ＯＫ」であり、ＩＰアドレス「ＩＰＢ」及び「ＩＰＣ」がそれぞれ記憶される。
【００４８】
疎通状態は全て初期状態の「ＯＫ」であり、ＡＣＬ設定も全て初期状態の「ｄｉｓａｂｌｅ」である。ポート＃１の経路ステータスは、ＬＬＤＰステータスが「ＮＧ」であるので「△」に更新される。ポート＃２及びポート＃２の経路ステータスは、ＬＬＤＰステータスが「ＯＫ」であるので、初期状態の「○」のままである。
【００４９】
図７は、疎通確認処理のシーケンスを示す図である。図７に示すように、疎通確認部４４は、スイッチ状況記憶部３３が記憶する全ＩＰアドレスを取得し（ステップＳ１８）、取得したＩＰアドレスを用いて隣接スイッチ３に対するｐｉｎｇの送信をｐｉｎｇ送受信部４５に指示する（ステップＳ１９）。
【００５０】
ｐｉｎｇ送受信部４５は、隣接スイッチ３にｐｉｎｇを送信し（ステップＳ２０）、疎通確認の結果を疎通確認部４４に渡す。疎通確認部４４は、ｐｉｎｇ疎通ＯＫか否かを判定する（ステップＳ２１）。そして、疎通確認部４４は、ｐｉｎｇ疎通ＯＫである場合には、スイッチ状況記憶部３３の疎通状態を「ＯＫ」に更新し（ステップＳ２２）、ｐｉｎｇ疎通ＯＫでない場合には、スイッチ状況記憶部３３の疎通状態を「ＮＧ」に更新する（ステップＳ２３）。疎通確認部４４は、ステップＳ２１〜ステップＳ２３の処理をｐｉｎｇを送信した全隣接スイッチ３について行う。そして、スイッチ３は、図９に示す経路復帰処理に移動する。
【００５１】
図８は、疎通確認処理後のスイッチＡのスイッチ状況記憶部３３を示す図である。図８に示すように、スイッチＡにサイレント障害が発生しているので、スイッチＡはスイッチＢ及びスイッチＣとはｐｉｎｇ疎通が行えないので、ポート＃２及びポート＃３の疎通確認結果は「ＮＧ」に更新される。
【００５２】
図９は、経路復帰処理のシーケンスを示す図である。図９に示すように、経路復帰部４６は、スイッチ状況記憶部３３から経路ステータスが「×」のポートのＬＬＤＰステータスを抽出する（ステップＳ２４）。そして、経路復帰部４６は、ＬＬＤＰステータスは「ＯＫ」であるか否かを判定し（ステップＳ２５）、「ＯＫ」である場合は、スイッチ状況記憶部３３の対応するエントリを初期状態に更新し（ステップＳ２６）、ＡＣＬ設定部４７にＡＣＬ設定の削除を指示する。ＡＣＬ設定部４７は、対応するＡＣＬ設定を削除する（ステップＳ２７）。
【００５３】
経路復帰部４６は、ステップＳ２５〜ステップＳ２７の処理を、抽出した全ＬＬＤＰステータスについて行う。そして、スイッチ３は、図１０に示す疎通失敗確認処理に移動する。
【００５４】
図１０は、疎通失敗確認処理のシーケンスを示す図である。図１０に示すように、障害チェック部４８は、スイッチ状況記憶部３３から疎通状態が「ＮＧ」のポートを抽出し（ステップＳ２８）、抽出したポートの経路ステータスを取得する（ステップＳ２９）。そして、障害チェック部４８は、経路ステータスは「×」であるか否かを判定し（ステップＳ３０）、「×」でない場合には、経路ステータスを「×」に更新する（ステップＳ３１）。
【００５５】
障害チェック部４８は、ステップＳ３０〜ステップＳ３１の処理を取得した全てのポートについて行う。そして、スイッチ３は、図１２に示す切り離し処理に移動する。
【００５６】
図１１は、疎通失敗確認処理後のスイッチＡのスイッチ状況記憶部３３を示す図である。図１１に示すように、疎通状態が「ＮＧ」であるポート＃２及びポート＃３の経路ステータスが「×」に更新される。
【００５７】
図１２は、切り離し処理のシーケンスを示す図である。図１２に示すように、ＬＬＤＰ解析部４２は、スイッチ状況記憶部３３から経路ステータスが「×」のポートのＡＣＬ設定を抽出する（ステップＳ３２）。そして、ＬＬＤＰ解析部４２は、ＡＣＬ設定は「ｄｉｓａｂｌｅ」であるか否かを判定し（ステップＳ３３）、ＡＣＬ設定が「ｄｉｓａｂｌｅ」である場合には、ＡＣＬ設定部４７にＡＣＬの設定を指示する（ステップＳ３４）。
【００５８】
指示を受けて、ＡＣＬ設定部４７は、該当ポートにＡＣＬを設定する（ステップＳ３５）。ＡＣＬの設定が完了すると、ＬＬＤＰ解析部４２は、スイッチ状況記憶部３３のＡＣＬ設定を「ｅｎａｂｌｅ」に更新する（ステップＳ３６）。
【００５９】
ＬＬＤＰ解析部４２は、ステップＳ３３〜ステップＳ３６の処理を抽出した全てのＡＣＬ設定について行う。そして、スイッチ３は、図１４に示す障害個所判定処理に移動する。
【００６０】
図１３は、切り離し処理後のスイッチＡのスイッチ状況記憶部３３を示す図である。図１３に示すように、経路ステータスが「×」であるポート＃２及びポート＃３のＡＣＬ設定が「ｅｎａｂｌｅ」に更新される。
【００６１】
図１４は、障害個所判定処理のシーケンスを示す図である。図１４に示すように、サイレント障害チェック部４９は、スイッチ状況記憶部３３から全ポートの経路ステータスを取得し（ステップＳ３７）、全ポートの経路ステータスの中に「○」のポートがないか否かを判定する（ステップＳ３８）。そして、全ポートの経路ステータスの中に「○」のポートがある場合には、スイッチ３は、図５のステップ１１に戻る。一方、全ポートの経路ステータスの中に「○」のポートがない場合には、サイレント障害が発生しているので、サイレント障害チェック部４９は、図１５に示すスイッチ間以外の切り離し処理に移動する。
【００６２】
図１５は、スイッチ間以外の切り離し処理のシーケンスを示す図である。図１５に示すように、サイレント障害チェック部４９は、スイッチ状況記憶部３３から経路ステータスが「△」のポートを抽出し（ステップＳ３９）、抽出したポートのＡＣＬの設定をＡＣＬ設定部４７に指示する（ステップＳ４０）。ＡＣＬ設定部４７は、指示に基づいて、ＡＣＬを設定する（ステップＳ４１）。
【００６３】
サイレント障害チェック部４９は、自装置のサイレント障害をネットワーク管理者へ通知し（ステップＳ４２）、ポートＬＥＤを点灯する（ステップＳ４３）。
【００６４】
このように、スイッチ３は、隣接スイッチ特定処理、疎通確認処理、経路復帰処理、疎通失敗確認処理、切り離し処理、障害個所判定処理、スイッチ間以外の切り離し処理を行うことで、自装置のサイレント障害を検出して自装置の切り離しを行うことができる。
【００６５】
なお、図２に示した機能は、スイッチ３が有するＭＰＵ（Micro  Processing  Unit）で障害検知プログラムを実行することで実現される。そこで、スイッチ３のハードウェア構成について説明する。図１６は、スイッチ３のハードウェア構成を示す図である。図１６に示すように、スイッチ３は、ＭＰＵ３０ａと、フラッシュメモリ３０ｂと、ＲＡＭ（Random  Access  Memory）３０ｃとを有する。
【００６６】
ＭＰＵ３０ａは、ＲＡＭ３０ｃに記憶された障害検知プログラムを読み出して実行する処理装置である。フラッシュメモリ３０ｂは、障害検知プログラムを記憶する不揮発性のメモリである。ＲＡＭ３０ｃは、フラッシュメモリ３０ｂから読み出された障害検知プログラムを記憶する揮発性メモリである。また、ＲＡＭ３０ｃは、障害検知プログラムの実行に必要なデータ、障害検知プログラムの実行の途中結果等を記憶する。
【００６７】
また、障害検知プログラムは、例えば、障害検知プログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体で提供されてもよい。また、障害検知プログラムは、サーバコンピュータの記憶装置に格納され、ネットワークを介して、サーバコンピュータからスイッチ３に転送されてもよい。
【００６８】
上述してきたように、実施例では、スイッチ状況チェック部４１がＬＬＤＰを用いて隣接スイッチ３を特定し、疎通確認部４４が隣接スイッチ３の疎通をｐｉｎｇを用いて確認する。そして、サイレント障害チェック部４９が、疎通が確認できる隣接スイッチ３がない場合に、自装置がサイレント障害であると判定する。したがって、スイッチ３は、サイレント障害を検知することができる。
【００６９】
また、実施例では、ＬＬＤＰ解析部４２は、疎通が確認できなかった隣接スイッチ３との間の経路をＡＣＬ設定により切り離すので、通信可能になった経路の自動復旧を可能にすることができる。
【００７０】
また、実施例では、サイレント障害チェック部４９が、自装置にサイレント障害が発生したと判定した場合に、隣接スイッチ以外の隣接装置との間の経路をＡＣＬ設定により切り離すので、サイレント障害が隣接装置に悪影響を与えることを防ぐことができる。
【００７１】
また、実施例では、ＬＬＤＰ解析部４２により切り離された隣接スイッチ３がスイッチ状況チェック部４１により隣接スイッチ３として新たに特定された場合に、経路復帰部４６が、ＡＣＬ設定を削除する。したがって、スイッチ３は、復旧した隣接スイッチ３との間の経路を自動復旧することができる。
【００７２】
また、実施例では、ＬＬＤＰを用いて隣接スイッチ３を特定する場合について説明したが、スイッチ状況チェック部４１は、通信を中継する機能が動作しない場合にも動作する他の機能を用いて隣接スイッチ３を特定してもよい。
【００７３】
また、実施例では、ｐｉｎｇを用いて疎通確認を行う場合について説明したが、疎通確認部４４は、例えばＡＲＰ（Address  Resolution  Protocol）、ＧＡＲＰ（Gratuitous  ARP）等の通信を中継する際に用いられる他の機能を用いて疎通を確認してもよい。
【００７４】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【００７５】
（付記１）通信を中継する機能が動作しない場合にも動作する機能を用いて隣接スイッチ装置を特定する特定部と、
前記特定部により特定された隣接スイッチ装置との疎通を、通信を中継する機能を用いて確認する疎通確認部と、
前記疎通確認部による疎通確認の結果に基づいて自装置にサイレント障害があるか否かを判定する判定部と
を有することを特徴とするスイッチ装置。
【００７６】
（付記２）前記疎通確認部により疎通が確認されなかった隣接スイッチ装置との通信をＡＣＬによる通信制御を行うことで該隣接スイッチ装置の切り離しを行う切離部をさらに有することを特徴とする付記１に記載のスイッチ装置。
【００７７】
（付記３）前記切離部により切り離しが行われた隣接スイッチ装置が前記特定部により隣接スイッチ装置として特定された場合に、ＡＣＬによる通信制御を解除することで前記切り離しを復旧する復旧部をさらに有することを特徴とする付記２に記載のスイッチ装置。
【００７８】
（付記４）前記判定部は、自装置にサイレント障害があると判定した場合に、隣接スイッチ装置以外の隣接装置との通信についてＡＣＬによる通信制御を行うことを特徴とする付記２又は３に記載のスイッチ装置。
【００７９】
（付記５）前記特定部は、隣接スイッチ装置をＬＬＤＰを用いて特定することを特徴とする付記１〜４のいずれか１つに記載のスイッチ装置。
【００８０】
（付記６）前記疎通確認部は、前記特定部により特定された隣接スイッチ装置との疎通をｐｉｎｇを用いて確認することを特徴とする付記１〜５のいずれか１つに記載のスイッチ装置。
【００８１】
（付記７）コンピュータに、
通信を中継する機能が動作しない場合にも動作する機能を用いて隣接スイッチ装置を特定し、
特定した隣接スイッチ装置との疎通を、通信を中継する機能を用いて確認し、
疎通確認の結果に基づいて自装置にサイレント障害があるか否かを判定する
処理を実行させることを特徴とする障害検知プログラム。
【００８２】
（付記８）前記コンピュータに、
疎通が確認されなかった隣接スイッチ装置との通信をＡＣＬによる通信制御を行うことで該隣接スイッチ装置の切り離しを行う
処理をさらに実行させることを特徴とする付記７に記載の障害検知プログラム。
【００８３】
（付記９）前記コンピュータに、
切り離しを行った隣接スイッチ装置を特定した場合に、ＡＣＬによる通信制御を解除することで前記切り離しを復旧する
処理をさらに実行させることを特徴とする付記８に記載の障害検知プログラム。
【符号の説明】
【００８４】
１    ネットワークシステム
２    サーバ
３    スイッチ
３ａ    記憶部
３ｂ    制御部
３０ａ    ＭＰＵ
３０ｂ    フラッシュメモリ
３０ｃ    ＲＡＭ
３１    ログ記憶部
３２    パケット記憶部
３３    スイッチ状況記憶部
４１    スイッチ状況チェック部
４２    ＬＬＤＰ解析部
４３    ＬＬＤＰ送受信部
４４    疎通確認部
４５    ｐｉｎｇ送受信部
４６    経路復帰部
４７    ＡＣＬ設定部
４８    障害チェック部
４９    サイレント障害チェック部
【図１】
2020088786.tif 000003
【図２】
2020088786.tif 000004
【図３】
2020088786.tif 000005
【図４】
2020088786.tif 000006
【図５】
2020088786.tif 000007
【図６】
2020088786.tif 000008
【図７】
2020088786.tif 000009
【図８】
2020088786.tif 000010
【図９】
2020088786.tif 000011
【図１０】
2020088786.tif 000012
【図１１】
2020088786.tif 000013
【図１２】
2020088786.tif 000014
【図１３】
2020088786.tif 000015
【図１４】
2020088786.tif 000016
【図１５】
2020088786.tif 000017
【図１６】
2020088786.tif 000018