(57)【要約】【課題】対向装置がサポートしないプロトコルに基づくパケットを用いてリンク状態を監視可能とする。【解決手段】リンクを介して対向装置とパケットを送受信するパケット処理装置は、パケット処理装置が有する特定のポートのアドレスを宛先アドレスとするパケットのうち、対向装置に転送するパケットを示す第１の情報と、第１の情報を含むとともに特定のポートのアドレスを宛先アドレスとする特定パケットを特定のポートへ転送する第１の状態と前記特定パケットを前記リンクを介して対向装置に転送する第２の状態との一方を示す第２の情報とを記憶する記憶部と、特定パケットの転送先を第１及び第２の情報に基づいて決定する決定部と、決定部によって決定された転送先へ特定パケットを転送する転送部と、対向装置へ転送されるとともに対向装置が宛先アドレスに基づいてパケット処理装置へ折り返す特定パケットの受信状況に基づいて前記リンクの状態を判定する判定部とを含む。【選択図】図５
2019102975.tif 000002
【特許請求の範囲】
【請求項１】
リンクを介して対向装置とパケットを送受信するパケット処理装置において、
前記パケット処理装置が有する特定のポートのアドレスを宛先アドレスとするパケットのうち、前記対向装置に転送するパケットを示す第１の情報と、前記第１の情報を含むとともに前記特定のポートのアドレスを宛先アドレスとする特定パケットを前記特定のポートへ転送する第１の状態と前記特定パケットを前記リンクを介して前記対向装置に転送する第２の状態との一方を示す第２の情報とを記憶する記憶部と、
前記特定パケットの転送先を前記第１の情報及び前記第２の情報に基づいて決定する決定部と、
前記決定部によって決定された転送先へ前記特定パケットを転送する転送部と、
前記対向装置へ転送されるとともに前記対向装置が前記宛先アドレスに基づいて前記パケット処理装置へ折り返す前記特定パケットの受信状況に基づいて前記リンクの状態を判定する判定部と
を含むパケット処理装置。
【請求項２】
前記決定部が前記第２の状態を示す前記第２の情報に基づいて前記特定パケットの転送先を決定した場合に、前記第２の情報を前記第１の状態を示す内容に変更する状態制御部をさらに含む
請求項１に記載のパケット処理装置。
【請求項３】
前記状態制御部は、前記宛先アドレスに基づいて前記対向装置から折り返された前記特定パケットが前記第１の状態を示す前記第２の情報に基づいて前記特定のポートに転送された場合に、前記第２の情報を前記第２の状態を示す内容に変更する
請求項２に記載のパケット処理装置。
【請求項４】
前記決定部は、前記特定ポートを宛先アドレスとするパケットのうち、前記特定パケット以外のパケットを前記宛先アドレスに基づいて前記特定ポートへ転送することを決定する
請求項１から３のいずれか１項に記載のパケット処理装置。
【請求項５】
前記第１の情報が、前記特定パケットの送信元アドレスとして設定されるアドレスである
請求項１から４のいずれか１項に記載のパケット処理装置。
【請求項６】
前記記憶部は、前記リンクの状態と、前記対向装置を介して前記監視用パケットを送受信するセッションの状態と、前記特定のポート状態との夫々を記憶し、
前記監視部は、前記セッションの状態が異常の検知回数が所定数に達した場合に前記特定のポートを閉塞するとともに、前記リンクの状態をリンクダウン状態として、異常を出力する
請求項１から５のいずれか１項に記載のパケット処理装置。
【請求項７】
パケット処理装置と、
リンクを介して前記パケット処理装置とパケットを送受信する対向装置と
を含み、
前記パケット処理装置は、
前記パケット処理装置が有する特定のポートのアドレスを宛先アドレスとするパケットのうち、前記対向装置に転送するパケットを示す第１の情報と、前記第１の情報を含むとともに前記特定のポートのアドレスを宛先アドレスとする特定パケットを前記特定のポートへ転送する第１の状態と前記特定パケットを前記リンクを介して前記対向装置に転送す
る第２の状態との一方を示す第２の情報とを記憶する記憶部と、
前記特定パケットの転送先を前記第１の情報及び前記第２の情報に基づいて決定する決定部と、
前記決定部によって決定された転送先へ前記特定パケットを転送する転送部と、
前記対向装置へ転送されるとともに前記対向装置が前記宛先アドレスに基づいて前記パケット処理装置へ折り返す前記特定パケットの前記対向装置からの受信状況に基づいて前記リンクの状態を判定する判定部と
を含み、
前記対向装置は、前記宛先アドレスに基づいて前記パケット処理装置から転送された前記特定パケットを前記パケット処理装置へ転送する
リンク状態監視システム。
【請求項８】
パケット処理装置がリンクを介して対向装置とパケットを送受信する方法において、
前記パケット処理装置が有する特定のポートのアドレスを宛先アドレスとするパケットのうち、前記対向装置に転送するパケットを示す第１の情報と、前記第１の情報を含むとともに前記特定のポートのアドレスを宛先アドレスとする特定パケットを前記特定のポートへ転送する第１の状態と前記リンクを介して前記対向装置に転送する第２の状態との一方を示す第２の情報とを記憶し、
前記特定パケットの転送先を前記第１の情報及び前記第２の情報に基づいて決定し、
決定した転送先へ前記特定パケットを転送し、
前記対向装置へ転送されるとともに前記対向装置が前記宛先アドレスに基づいて前記パケット処理装置へ折り返す前記特定パケットの受信状況に基づいて前記リンクの状態を判定する
ことを含むリンク状態監視方法。
【請求項９】
リンクを介して対向装置とパケットを送受信するパケット処理装置のコンピュータに、
前記パケット処理装置が有する特定のポートのアドレスを宛先アドレスとするパケットのうち、前記対向装置に転送するパケットを示す第１の情報と、前記第１の情報を含むとともに前記特定のポートのアドレスを宛先アドレスとする特定パケットを前記特定のポートへ転送する第１の状態と前記特定パケットを前記リンクを介して前記対向装置に転送する第２の状態との一方を示す第２の情報とを記憶するステップと、
前記特定パケットの転送先を前記第１の情報及び前記第２の情報に基づいて決定するステップと、
決定した転送先へ前記特定パケットを転送するステップと、
前記対向装置へ転送されるとともに前記対向装置が前記宛先アドレスに基づいて前記パケット処理装置へ折り返す前記特定パケットの受信状況に基づいて前記リンクの状態を判定するステップと
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パケット処理装置、リンク状態監視システム、リンク状態監視方法、及びプログラムに関する。
【背景技術】
【０００２】
パケットを送受信するネットワークにおいて、ルータやレイヤ３スイッチ（以下、単に「ルータ」という）がレイヤ２スイッチやスイッチイングＨＵＢ（以下単にＬ２ＳＷという）を介してホスト（端末装置）に接続される場合がある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−４６１６４号公報
【特許文献２】特開２００６−２０２０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
対向する装置間で経路（リンク）の生存状況を調べ、障害を早期に検出することを目的とする監視プログラムの一つに、Bidirectional Forwarding Detection（ＢＦＤ）がある。ＢＦＤでは、対応する装置同士が定期的にＢＦＤパケットを送受信し，対向装置から一定時間以上ＢＦＤパケットが到着しなかった場合に、対向装置との経路に障害が発生したとみなす。
【０００５】
ＢＦＤのような監視プロトコルをルータとＬ２ＳＷとの間のリンクに適用したいとの希望がある。ところが、ＢＦＤはレイヤ３（Internet Protocol（ＩＰ）層）のプロトコル
であり、レイヤ２（データリンク層）を扱うＬ２ＳＷは、ＢＦＤパケットを受信（解釈）できないので、ルータとＬ２ＳＷとの間のリンク監視にＢＦＤを適用できないという問題があった。すなわち、ＢＦＤなどの監視プロトコルの適用の可否が対向装置の構成（監視プロトコルをサポートするか）に依存するという問題があった。当該問題は、ＢＦＤに制限されず、所定レイヤ（例えばレイヤ３）以上を扱うネットワーク機器が、自身と接続された所定レイヤ未満（レイヤ２以下）を扱うネットワーク機器との間のリンクを監視する場合における共通の課題である。
【０００６】
本発明は、対向装置がサポートしないプロトコルに基づくパケットを用いて対向装置との間のリンクの監視を可能とするパケット処理装置、リンク状態監視システム、リンク状態監視方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
一つの態様は、リンクを介して対向装置とパケットを送受信するパケット処理装置である。このパケット処理装置は、上記パケット処理装置が有する特定のポートのアドレスを宛先アドレスとするパケットのうち、上記対向装置に転送するパケットを示す第１の情報と、上記第１の情報を含むとともに上記特定のポートのアドレスを宛先アドレスとする特定パケットを上記特定のポートへ転送する第１の状態と上記特定パケットを上記リンクを介して上記対向装置に転送する第２の状態との一方を示す第２の情報とを記憶する記憶部と、上記特定パケットの転送先を上記第１の情報及び上記第２の情報に基づいて決定する決定部と、上記決定部によって決定された転送先へ上記特定パケットを転送する転送部と、上記対向装置へ転送されるとともに上記対向装置が上記宛先アドレスに基づいて上記パ
ケット処理装置へ折り返す上記特定パケットの受信状況に基づいて上記リンクの状態を判定する判定部とを含む。
【０００８】
また、本発明の他の態様は、リンク状態監視システム、リンク状態監視方法、及びプログラムである。
【発明の効果】
【０００９】
一側面では、対向装置がサポートしないプロトコルに基づくパケットを用いた対向装置との間のリンクの監視が可能となる。
【図面の簡単な説明】
【００１０】
【図１】実施形態に係るネットワークシステム（通信システム）の一例を示す。
【図２】参考例の説明図である。
【図３】参考例の説明図である。
【図４】実施形態に係るルータの構成例を示す。
【図５】ＢＦＤを用いた状態監視機構の実装を説明する図である。
【図６】ＢＦＤパケット及びユーザパケットのフォーマットを示す。
【図７】実施形態に係るルータのハードウェア構成例を示す。
【図８】ルータにおける処理を模式的に示す。
【図９】実施形態に係るＬ２ＳＷのハードウェア構成例を示す。
【図１０】Ｌ２ＳＷにおける処理を模式的に示す。
【図１１】ＲＴ＃０及びＳＷ＃０におけるＢＦＤチェックに係る動作例を示すフローチャートである。
【図１２】ＲＴ＃０及びＳＷ＃０におけるＢＦＤチェックに係る動作例を示すフローチャートである。
【図１３】ＢＦＤセッション状態テーブルのデータ構造例を示す。
【図１４】或るポートがリンクアップされたときにおけるＢＦＤチェックの例を示すフローチャートである。
【図１５】リンクダウン障害又はＢＦＤセッションのダウン（障害）が検知されたときの動作例を示す。
【図１６】動作例１の説明図である。
【図１７】動作例１の説明図である。
【図１８】動作例１の説明図である。
【図１９】動作例１の説明図である。
【図２０】動作例２の説明図である。
【図２１】動作例２の説明図である。
【図２２】動作例２の説明図である。
【発明を実施するための形態】
【００１１】
以下に説明する実施形態では、リンクを介して対向装置とパケットを送受信するパケット処理装置について説明する。このパケット処理装置は、記憶部を含む。記憶部は、上記パケット処理装置が有する特定のポートのアドレスを宛先アドレスとするパケットのうち、上記対向装置に転送するパケットを示す第１の情報を含む。また、記憶部は、上記第１の情報を含むとともに上記特定のポートのアドレスを宛先アドレスとする特定パケットを上記特定のポートへ転送する第１の状態と上記特定パケットを上記リンクを介して上記対向装置に転送する第２の状態との一方を示す第２の情報とを記憶する。パケット処理装置は、上記特定パケットの転送先を上記第１の情報及び上記第２の情報に基づいて決定する決定部と、上記決定部によって決定された転送先へ上記特定パケットを転送する転送部とを含む。さらに、パケット処理装置は、上記対向装置へ転送されるとともに上記対向装置が上記宛先アドレスに基づいて上記パケット処理装置へ折り返す上記特定パケットの受信
状況に基づいて上記リンクの状態を判定する判定部とを含む。
【００１２】
上記したパケット処理装置によれば、パケットを対向装置へ送ることができ、対向装置から折り返されるパケットの受信状況に基づいて、パケット処理装置と対向装置との間のリンクの状態を判定することができる。例えば、対向装置へ転送したパケットが所定時間経過しても戻らない場合に、リンクの障害（リンクダウン）が発生したと判定することができる。このようにして、対向装置の構成に異存しない（対向装置がサポートしないプロトコルに基づくパケットを用いた）リンク状態の監視を行うことができる。なお、パケット処理装置が上記パケットを用いるリンク状態の監視と異なるリンクダウン監視プロセスを実行する場合では、以下となる。すなわち、このリンクダウン監視プロセスの再起動時にリンクダウンが発生しても、パケットを用いたリンク状態の監視でリンクの障害を検知できるので、リンクダウンを早期検知できる。また、リンクダウン監視プロセスで検知できないサイレント障害があっても、パケットを用いたリンク状態の監視でリンクダウンを検知できるので、サイレント障害の発生時にも早期検知を行うことができる。
【００１３】
パケットは、例えばＢＦＤパケットであるが、ＢＦＤ以外の監視プログラムに基づくパケットであってもよい。もっとも、パケットがテストパケット、すなわち所定の監視プロトコルによる特殊パケット（特定のフォーマットを有する）であることは必須ではなく、第１の情報で特定パケットとそれ以外を区別でき、パケットの往復でリンクの正常性を判定できる限り、パケットはユーザパケットであってもよい。第１の情報は、特定パケットとそれ以外を区別できる限り様々な情報を適用し得る。例えば、第１の情報は、パケットの送信元アドレスであってもよく、送信元アドレス以外の情報であってもよい。第１の情報は、決定部によって認識し得る限り、パケットのヘッダに格納されるものでも、データ部に格納されるものでもよい。送信元アドレスを第１の情報として適用すれば、宛先アドレスとのペアとして管理できるので、情報の種別や項目が異なる場合に比べて管理が容易である（例えば、宛先アドレスとデータサイズが同じであるので、同じ扱いができる）。
【００１４】
上記のパケット処理装置において、上記決定部が上記第２の状態を示す上記第２の情報に基づいて上記特定パケットの転送先を決定した場合に、上記第２の情報を上記第１の状態を示す内容に変更する状態制御部をさらに含む構成を採用してもよい。このようにすれば、対向装置から折り返されてくるパケットを特定のポートに転送することができる。
【００１５】
また、上記のパケット処理装置において、上記状態制御部は、以下の構成を採用してもよい。上記宛先アドレスに基づいて上記対向装置から折り返された上記特定パケットが上記第１の状態を示す上記第２の情報に基づいて上記特定のポートに転送された場合に、上記第２の情報を上記第２の状態を示す内容に変更する。このようにすれば、次に対向装置への転送するパケットを決定部が第２の情報に基づいて対向装置へ転送することを決定できる。第２の情報は、第１の状態と第２の状態とを保持できれば、フラグであっても、フラグ以外の情報であってもよい。
【００１６】
また、上記のパケット処理装置において、上記決定部は、以下の構成を採用してもよい。上記特定ポートを宛先アドレスとするパケットのうち、上記特定パケット以外のパケットを上記宛先アドレスに基づいて上記特定ポートへ転送することを決定する。すなわち、決定部は、宛先アドレスに基づく出力先の検索機構（ルーティング機構）に、上記した第１の情報及び第２の情報に基づく特殊な転送先（出力先）の判定が行われる機構を付加したものであってもよい。この場合、既存のルータに対する小規模な改変にて、所望のパケットを対向装置へ転送する機構を得ることができる。
【００１７】
上記のパケット処理装置において、上記記憶部は、上記リンクの状態と、上記対向装置を介して上記監視用パケットを送受信するセッションの状態と、上記特定のポート状態と
の夫々を記憶してもよい。さらに、上記監視部は、上記セッションの状態が異常の検知回数が所定数に達した場合に上記特定のポートを閉塞するとともに、上記リンクの状態をリンクダウン状態として、異常を出力するように構成してもよい。所定数は１以上の適宜の数から選択できる。セッションの異常を以て、リンクの異常と判定し、それを出力する。これによって、パケット処理装置と対向装置を含む経路が冗長構成を持つ場合に、冗長構成の管理機構が、異常を検出して経路を冗長経路（予備系の経路）に切り替える（変更する）契機を与えることができる。
【００１８】
以下、図面を参照して、本発明の実施形態に係るパケット処理装置、リンク状態監視システム、リンク状態監視方法、及びプログラムについて説明する。実施形態の構成は例示であり、本発明は実施形態の構成に限定されない。
【００１９】
＜ネットワークシステム＞
図１は、実施形態に係るネットワークシステムの一例を示す。図１には、複数のホストＨ１〜Ｈｎ（ｎは正の整数）をネットワーク１（ＮＷ１）に接続する冗長経路を有するネットワークシステムが例示されている。
【００２０】
ホストＨ１〜Ｈｎの夫々は、レイヤ２スイッチ＃１（ＳＷ＃０）及びレイヤ２スイッチ（ＳＷ＃１）に接続されている。ＳＷ＃０はルータ＃０（ＲＴ＃０）に接続され、ＳＷ＃１はルータ＃１（ＲＴ＃１）に接続されている。ＲＴ＃０は、ＲＴ＃０の上位に位置する上位ＲＴ＃０に接続されており、上位ＲＴ＃０は、ＮＷ１に接続されている。また、ＲＴ＃１は、ＲＴ＃１の上位に位置する上位ＲＴ＃１に接続されており、上位ＲＴ＃１は、ＮＷ１に接続されている。このようにして、ホストＨ１〜ＨｎとＮＷ１との間に、ＳＷ＃０−ＲＴ＃０−上位ＲＴ＃０を辿る第１の通信経路（「０系」と称する）と、ＳＷ＃１−ＲＴ＃１−上位ＲＴ＃１を辿る第２の通信経路（「１系」と称する）とを用いる冗長経路が形成されている。
【００２１】
上記した冗長経路は物理的又は論理的に形成することができる。ルータやスイッチなどのネットワーク機器になんらかの障害が発生した際は０系と１系との間で通信経路を切り替えることで通信を維持することができる。図１に示す環境では、一例として、０系が正常時の経路（現用系経路）として使用され、１系が予備系経路として使用され、０系の障害発時に１系が現用系経路に切り替えられる。なお、以下に説明する実施形態では、障害検知を短時間で行うことが可能なＲＴ＃０について説明するが、図１に示すような冗長構成は、ＲＴ＃０が障害検知を短時間で行うに当たって必須の構成ではない。
【００２２】
＜参考例＞
図２及び図３は、参考例の説明図である。図２（Ａ）には、図１に示したネットワークシステムが示されており、通常時は、０系の経路を用いた通信が行われる。図２（Ａ）では、ＮＷ１に接続されたホスト（送信元リモートホスト３として動作するホスト（ホスト３とも表記））と送信先ローカルホストとして動作するホストＨ１とが０系の経路を用いて通信している様子が例示されている。
【００２３】
図２（Ａ）に示すように、障害として、ＲＴ＃０とＳＷ＃０との間にリンクダウンが発生したと仮定する。この場合、ＲＴ＃０がリンクダウンを検知し、上位ＲＴ＃０を介してＮＷ１（「上位ＮＷ１」とも称する）内にあるルータ２（「上位ＮＷルータ２」と称する）にリンクダウン障害を通知する。
【００２４】
図２（Ｂ）に、上位ＮＷルータ２が管理するRouting Information Base（ＲＩＢ）の、０系の正常時（定常状態）における内容と、障害発生時における内容とを示す。図２（Ｂ）に示すように、リンクダウンの通知を受け取った上位ＮＷルータ２は、ＲＩＢから０系
経由の経路情報を削除する。ＲＩＢは、或るネットワーク（図２では０系ネットワーク）への経路についての情報が記載されているテーブルであり、各ホストＨ１〜ＨｎのInternet Protocol（ＩＰ）アドレスが宛先ＩＰアドレスに設定されたパケットを転送する次ホ
ップのルータを示す情報を記憶する。
【００２５】
０系経由の経路情報が削除されると、０系経由の通信ができなくなるので、上位ＮＷ１で経路の切り替え（０系→１系）が発生し、上位ＮＷルータ２は、１系経由のＲＩＢを作成する（図３（Ａ）参照）。これによって、図３（Ｂ）に示すように、送信元リモートホスト３からのパケットは、１系の経路を通ってホストＨ１に到達するようになる。リンクダウン検知から切り替えは、通常、１秒未満で完了する。
【００２６】
ところで、ＲＴ＃０とＳＷ＃０との間の障害の発生原因によっては、リンクダウンの検知が遅れ、０系から１系への切り替わりが所定時間（１秒）以上かかってしまうおそれがある。通信断が発生する時間が１秒を超えることは、顧客とのＳＬＡ(Service Level Agreement)で許容されない。ＳＬＡとは、サービス提供者（ベンダー）と顧客間で締結する
品質などのサービスレベルに関する規約である。
【００２７】
リンクダウン検知が遅れてしまう場合の一例としては、以下がある。例えば、図１に示すネットワークシステムにおいて、ＲＴ＃０側でリンクダウンを監視するプロセスがプロセスリスタート（プロセスの再起動）をしている瞬間にリンクダウンが発生すると、リンクダウンをリアルタイムに検知できず、検知が遅れるおそれがある。
【００２８】
また、リンクダウンが発生しないサイレント障害が生じるおそれもある。この場合は、リンクダウン検知に伴うＲＩＢの変化（書き換え）が生じないため、通信経路を切り替えることができず、障害発生に気付かない限り通信断となるおそれがある。また、サイレント障害の場合ではリンクアップ（データリンク層（レイヤ２）の通信が機能している状態）のままとなる。このため、経路を一旦１系に切り替えて、何らかの処置を施した後、再度０系に切り替えた場合に、サイレント障害からの復旧が図られていなければ、再び通信断となってしまう。
【００２９】
例えば、ＲＴ＃０から各ホストＨ１宛てにpingを送信することでＲＴ＃０とＳＷ＃０との間のリンク状態の確認を行うことができる。しかし、検知した障害発生箇所がＲＴ＃０とＳＷ＃０との間である断定するには、ＳＷ＃０とホストとの間の障害の可能性を考慮すると、ＳＷ＃０配下の全てのホストにpingを送信することとなる。ネットワークに収容されるホスト数の増加に伴い、pingの送信数が増え、これがＲＴ＃０の処理能力を圧迫し、ユーザのトラフィックに影響を及ぼすおそれがある。また、ＲＴ＃０とＳＷ＃０との間の帯域を大量のpingパケットが使用することによる通信への影響も懸念される。さらには、ＲＴ＃０が全てのホストのＩＰアドレスを認識する必要があることから、ＲＴ＃０に対して手動でのアドレス設定が必要となる。このように、pingによるリンク状態の監視には、上述した問題があった。
【００３０】
また、ＲＴ＃０とＳＷ＃０との間でEthernet（登録商標） Operation Administration Maintenance（ＥＯＡＭ）を利用することが考えられる。ＥＯＡＭは、Ethernet（登録商
標）網の運用・管理・保守を行うための機能である。しかし、この方法を用いるには、対向装置がＥＯＡＭをサポートしている場合に限って適用が可能である。
【００３１】
また、Bidirectional Forwarding Detection（ＢＦＤ）を用いてＲＴ＃０とＳＷ＃０との間の状態監視を行うことが考えられる。ＢＦＤは、２台の装置間で経路の生存状況を確認し障害をいち早く検知するための機能である。ところが、ＢＦＤは、レイヤ２より上位層のプロトコルであり、レイヤ２スイッチ（Ｌ２ＳＷ）であるＳＷ＃０はＢＦＤパケット
を受信できない。このため、ＢＦＤパケットを受信できるＲＴ＃１を利用してＲＴ＃０とＲＴ＃１との間でＢＦＤパケットによって障害監視を行うことを想定する。この場合、ＳＷ＃０とＲＴ＃１との間で発生する障害についても障害の通知が発行されるので、障害箇所をＲＴ＃０とＳＷ＃０との間に限定することができない。
【００３２】
以下、上述した問題を解決して、ルータとスイッチとの間における障害を短時間で検出可能な実施形態に係るルータについて説明する。
＜ルータの構成＞
図４は、実施形態に係るルータの説明図である。実施形態に係るルータの一例として、図１に示したＲＴ＃０について説明する。上述したように、ＲＴ＃０と接続されたＳＷ＃０はＬ２ＳＷであるためＢＦＤパケットを受信できない。このため、図４に示すように、ＲＴ＃０の監視対象となるインタフェースから、ＲＴ＃０自身にＢＦＤパケットを送信する。但し、自装置宛てにパケットを送信できる仕組みとなっていれば、ＢＦＤ以外の監視プロトコルを適用してもよい。通常、自装置宛てのパケットは自装置の内部で折り返されてしまう。
【００３３】
実施形態に係るルータ（ＲＴ＃０）は、ＢＦＤパケットの送信元Media Access Control（ＭＡＣ）アドレス及び宛先ＭＡＣアドレスの組み合わせを確認してＳＷ＃０に転送するルーティングを制御する機構を備える。すなわち、ＲＴ＃０は、ＲＴ＃０の外部へのパケット転送を行う送信元ＭＡＣアドレスと宛先ＭＡＣアドレスとの組み合わせを示す情報を記憶する。組み合わせを示す情報は、例えばテーブルとして、ＲＴ＃０に記憶される。ＲＴ＃０では、ＢＦＤパケットの送信元ＭＡＣアドレスと宛先ＭＡＣアドレスの組み合わせが記憶された組み合わせに一致する場合に、ＢＦＤパケットを外部（対向装置であるＳＷ＃０）へ送出する。
【００３４】
送出されたＢＦＤパケットはＳＷ＃０によって受信され、ＳＷ＃０がＢＦＤパケットをＲＴ＃０に折り返し、ＲＴ＃０が自身の有するインタフェースでＢＦＤパケットを受信する。この結果、ＲＴ＃０は、対向装置に依存することなく、ＲＴ＃０自身でＲＴ＃０とＳＷ＃０との間のリンク状態を監視することができる。また、実施形態に係るルータ（ＲＴ＃０）では、ＲＴ＃０とＳＷ＃０との間のリンク状態を能動的に監視することで、リンクダウン障害やサイレント障害を早期に検知可能となる。さらに、実施形態に係るルータ（ＲＴ＃０）では、対向装置であるＳＷ＃０に改変を加えることなく、ＲＴ＃０とＳＷ＃０との間の障害を検知可能となる。ルータ（ＲＴ＃０）は、「パケット処理装置」の一例であり、Ｌ２ＳＷ（ＳＷ＃０）は、「対向装置」の一例である。ルータ（ＲＴ＃０）とＬ２ＳＷ（ＳＷ＃０）とは、「リンク状態監視システム」の一例である。
【００３５】
図５は、ＢＦＤを用いた状態監視機構の実装を説明する図である。図５において、ＲＴ＃０は、パケットを送受信可能な複数のポートとして、ポートＸと、ポートＹと、ポートＺとを有する。ポートＸ及びポートＹは、テスト用のポートである。すなわち、ポートＸ及びポートＹは、ＳＷ＃０との間のリンク状態を監視するためのテストパケットとして使用されるＢＦＤパケットの送受信に使用される。ポートＺは、ユーザ（ホスト）間で送受信されるパケットの送受信に使用される。ポートＸ、ポートＹ、ポートＺは、論理ポートであっても物理ポートであってもよい。以下の説明では、ポートＸ及びポートＹが論理ポートであるものとして説明する。
【００３６】
ポートＸは、ＭＡＣアドレス“A.A.X”とＩＰアドレス“aa.aa.aa.xx”とを有し、ポートＹは、ポートＸのＭＡＣアドレス及びＩＰアドレスと異なるＭＡＣアドレス“A.A.Y”
とＩＰアドレス“aa.aa.aa.yy”とを有している。ポートＺは、ＭＡＣアドレス“A.A.Z”とＩＰアドレス“aa.aa.aa.zz”とを有している。
【００３７】
ポートＺは、ユーザ用のブリッジ２１を介してNetwork Interface Card（ＮＩＣ）２２に接続されている。ブリッジは、データリンク層（レイヤ２）の情報（ＭＡＣアドレスなど）に基づいてフレームの送信ポートを決定し転送するネットワーク機器である。ブリッジは、ＭＡＣ学習機能とＭＡＣ学習によって作成したＭＡＣテーブルとを有し、入力されたパケット（ＭＡＣフレーム）の宛先ＭＡＣと、ＭＡＣテーブルとを対比して、宛先ＭＡＣアドレスに対応する出力先にパケットを転送する。ＮＩＣはネットワーク機器をＬ２網（Local Area Network（ＬＡＮ））に接続するための通信インタフェース装置である。ポートＸ及びポートＹは、ＮＩＣ２３，２４に接続されており、ＮＩＣ２３，２４はテスト用（検証用）のブリッジ２５を介してＮＩＣ２２に接続されている。
【００３８】
ＳＷ＃０は、ネットワーク側（ＲＴ＃０側）のＮＩＣ３１と、ホスト側のＮＩＣ３２と、ＮＩＣ３１とＮＩＣ３２とに接続されたブリッジ３３とを含む。なお、ＲＴ＃０及びＳＷ＃０について説明したＮＩＣやブリッジは物理的なものでもハードウェア上に構築される仮想的なものでもよい。
【００３９】
図５において、ホストＨ１は、ＭＡＣアドレス“A.A.N”及びＩＰアドレス“aa.aa.aa.nn”を有している。ホスト３からホストＨ１宛のパケットは、ブリッジ２１、ＮＩＣ２２、Ｌ２網、ＮＩＣ３１、ブリッジ３３、ＮＩＣ３２、Ｌ２網を経てホストＨ１に送信される。ホストＨ１からホスト３宛のパケットは、逆の経路を辿ってポートＺに到達する。
【００４０】
ポートＸ及びポートＹは、ＢＦＤを用いたＲＴ＃０とＳＷ＃０との間のリンク状態監視のために使用される。ポートＸからＳＷ＃０宛てにＢＦＤパケットを送信しようとしても、ＢＦＤはレイヤ３（ＩＰ層）のプロトコルであるため、ＳＷ＃０はＢＦＤパケットを受信できない。このため、ポートＸから送信されるＢＦＤパケットを受信するポートＹを設け、ポートＹのＩＰアドレス宛にＢＦＤパケットを送信する。
【００４１】
ブリッジ２５は、ポートＹからのパケット（ＭＡＣフレーム）を受信してＭＡＣ学習を行う場合、ポートＹがＲＴ＃０内にあって、ＮＩＣ２２側、すなわちＲＴ＃０の外部にないことを学習する。このため、ポートＹ宛のパケットはブリッジ２５からポートＹへ転送されて、ＳＷ＃０に送信されない。このため、ブリッジ２５が、ポートＹ宛のＢＦＤパケット（を含むＭＡＣフレーム）をＲＴ＃０内に折り返さず、ＲＴ＃０の外部（ＳＷ＃０）へ送信する機構（ＢＦＤチェックテーブル）を設ける。
【００４２】
ＲＴ＃０から送出されたポートＹ宛のＢＦＤパケットは、ＮＩＣ３１を介してＳＷ＃０のブリッジ３３に到達する。ブリッジ３３は、ＭＡＣテーブルにてポートＹが既に学習済みであれば、ポートＹを出力先としてＢＦＤパケットを転送する。これによって、パケット（ＭＡＣフレーム）はＮＩＣ２２を介してブリッジ２５に到達する。ブリッジ２５は、ポートＹの学習結果に従って、パケット（ＭＡＣフレーム）をポートＹに送る。このようにして、ポートＸから送信されたＢＦＤパケットがＳＷ＃０で受信され、ＳＷ＃０で折り返されてＲＴ＃０に到達し、ポートＹで受信される状況となる。すなわち、ＢＦＤパケットがＲＴ＃０とＳＷ＃０との間のリンクを往復する。よって、ＲＴ＃０は、ポートＸから送信されたＢＦＤパケットが所定時間内にポートＹに到達するかを監視するＢＦＤチェックを行う。
【００４３】
ポートＸから送信されたＢＦＤパケットが所定時間内にポートＹに到達しない場合には、ＲＴ＃０とＳＷ＃０との間のリンクダウン障害発生と判定することで、リンクダウンを検知することができる。この結果、ＲＴ＃０は、対向装置（ＳＷ＃０）の構成や性能に依存することなく、ＲＴ＃０とＳＷ＃０との間のリンク状態を監視することができる。換言すれば、ルータの対向装置がＬ２ＳＷであっても、レイヤ３プロトコルであるＢＦＤを用いてリンク状態を監視することができる。ポートＹは「特定のポート」の一例である。
【００４４】
以下、実施形態の詳細について説明する。
＜＜パケットのデータ構造＞＞
図６（Ａ）は、実施形態に係るネットワークシステムで使用されるＢＦＤパケットのフォーマットを示し、図６（Ｂ）は、実施形態に係るネットワークシステムで使用されるユーザパケットのフォーマットを示す。図６（Ｂ）に示すように、ユーザパケットは、送信先（宛先）ＭＡＣアドレス、送信元ＭＡＣアドレス、送信先（宛先）ＩＰアドレス、送信元ＩＰアドレス、及びデータ部を含む。データ部には、ユーザ（ホスト）がやり取りしようとする具体的な通信内容（データや情報）が格納される。一方、図６（Ａ）に示すように、ＢＦＤパケットは、送信先（宛先）ＭＡＣアドレス、送信元ＭＡＣアドレス、送信先（宛先）ＩＰアドレス、送信元ＩＰアドレス、及びＢＦＤヘッダを含む。ＢＦＤヘッダには、ＢＦＤプロトコルに係る情報が格納される。
【００４５】
＜＜ルータの構成＞＞
図７は、実施形態に係るルータのハードウェア構成例を示す図である。図７には、ルータの一例であるＲＴ＃０のハードウェア構成例が図示されている。上位ＲＴ＃０，ＲＴ＃１，上位ＲＴ＃１も同様の構成を有する。ＲＴ＃０は、ＣＰＵ１１と、メモリ１２と、通信インタフェース（通信ＩＦ）１３とを含む。
【００４６】
メモリ１２は、主記憶装置及び補助記憶装置を含む。主記憶装置はプログラムの展開領域、ＣＰＵ１１の作業領域、データやプログラムの記憶領域、通信データのバッファ領域などとして使用される。主記憶装置は、例えばRandom Access Memory（ＲＡＭ）又はＲＡＭとRead Only Memory（ＲＯＭ）との組み合わせで形成される。補助記憶装置はデータやプログラムの記憶領域として使用される。補助記憶装置は、例えば、ハードディスク（ＨＤ）、Solid State Drive（ＳＳＤ）、フラッシュメモリ、Electrically Erasable Programmable Read-Only Memory（ＥＥＰＲＯＭ）などの不揮発性記憶媒体を含む。メモリ１２は、「記憶装置」、「記憶媒体」、「メモリ」、「記憶部」の一例である。メモリ１２には、ＡＲＰテーブルＴ１，ＭＡＣテーブルＴ２、ＢＦＤチェックテーブルＴ３が記憶される。通信ＩＦ１３は、パケット（ＭＡＣフレームを含む）の送受信を司る。通信ＩＦ１３として、例えばネットワークインタフェースカード（ＮＩＣ）を適用できる。
【００４７】
ＣＰＵ１１は、メモリ１２に記憶されたプログラムを実行して、ルータ（ＲＴ＃０）としての様々な処理を行う。例えば、ＣＰＵ１１は、リンクダウン監視プロセスの実行によって、ＲＴ＃０とＳＷ＃０との間のリンクダウンを監視する。この監視は、ＢＦＤセッションの監視以外の方法によって行われる。例えば、ＲＴ＃０とＳＷ＃０との間を結ぶ物理リンクの信号（電流や電圧など）を監視して、物理リンクが切断されることによる電流や電圧の変化をリンクダウンとして捉える。但し、リンクダウンの監視方法は既存の適宜の手法を採用可能である。本実施形態は、ＲＴ＃０が、ＢＦＤパケットを用いたリンク監視機構と、このリンク監視機構以外のリンク監視機構（リンクダウン監視プロセス）とを有する例について説明する。但し、ＲＴ＃０が備える構成を、対向装置（ＳＷ＃０）の構成に依存することなくＢＦＤを用いた監視を行うことができることに主眼を置く場合、ＢＦＤ以外のリンク監視機構の存在はオプションとすることができる。但し、本実施形態では、リンクダウン監視プロセス以外にＢＦＤによるリンク監視機構を有する。これによって、リンクダウン監視プロセスの再起動時におけるリンクダウン発生により、そのリンクダウン発生の検知が遅れるデメリットや、サイレント障害時のデメリットを解消できる。
【００４８】
さらに、ＲＴ＃０では、図８に示すように、ＣＰＵ１１がプログラムを実行することによって、ＣＰＵ１１は、パケット監視部１４と、トラフィック処理部１５と、ルーティング制御部１６と、設定情報管理部１７として動作する。換言すれば、ＲＴ＃０は、パケット監視部１４、トラフィック処理部１５、ルーティング制御部１６、設定情報管理部１７
、ＡＲＰテーブルＴ１、ＭＡＣテーブルＴ２、ＢＦＤチェックテーブルＴ３を含む通信制御部と通信ＩＦ１３とを含む装置として動作する。通信ＩＦ１３は、ポートＸ、ポートＹ、ブリッジ１８、物理インタフェース（物理ＩＦ）１３Ａを含む装置として動作する。ＣＰＵ１１は、「決定部」、「判定部」、「状態制御部」の一例であり、通信ＩＦ１３（ブリッジ１８）は、「転送部」の一例である。
【００４９】
設定情報管理部１７は、ルータ（ＲＴ＃０）の各種設定に係る情報を管理する。ルーティング制御部１６は、設定情報管理部１７にて管理されている各種設定に係る情報を読み込み、トラフィック処理部１５にルーティングの指示を出す。パケット監視部１４は、ポートＸ，ポートＹとブリッジ１８との間を転送されるＢＦＤパケット及びユーザパケットの内容を監視する。トラフィック処理部１５は、パケット監視部１４から通知されるＢＦＤパケット及びユーザパケットの内容に基づいて、ＡＲＰテーブルＴ１、ＭＡＣテーブルＴ２を参照し、ルーティング制御部１６の指示とあわせてパケットに対する処理をブリッジ１８に指示する。ＡＲＰテーブルＴ１は、ＩＰアドレスとＭＡＣアドレスとの対応関係が記載されているテーブルである。ＭＡＣテーブルは、ＭＡＣアドレスとインタフェース名との対応関係が記載されているテーブルである。
【００５０】
図８に示すように、ＲＴ＃０はＢＦＤチェックテーブルＴ３をさらに有している。ＢＦＤチェックテーブルＴ３は、ＢＦＤパケットの送信元ＭＡＣアドレスと宛先ＭＡＣアドレスのペアと、ＢＲＤパケットの送信先を決定するためのフラグ（「折り返しフラグ」と称する）とが記憶される。折り返しフラグが「なし（ＯＦＦ）」の場合、パケットはブリッジ１８からＳＷ＃０へ転送される。これに対し、折り返しフラグが「あり（ＯＮ）」の場合、パケットはブリッジ１８からポートＹへ転送される。ＢＦＤチェックテーブルＴ３の初期状態では折り返しフラグは「なし」に設定される。送信元ＭＡＣアドレスは、「第１の情報」の一例であり、折り返しフラグは「第２の情報」の一例である。折り返しフラグの状態“なし”は「第１の状態」の一例であり、“あり”は「第２の状態」の一例である。上記した送信元ＭＡＣアドレスと宛先ＭＡＣアドレスのペアを有するパケットは「特定パケット」の一例である。
【００５１】
ルーティング制御部１６は、管理端末から投入される設定情報を設定情報管理部１７から取得し、設定情報に基づいて、ＢＦＤチェックを行う送信元及び宛先ＭＡＣアドレスのペアをＢＦＤチェックテーブルＴ３に書き込む。ここで、ポートＸからポートＹへＢＦＤパケットを送ってＢＦＤチェックを行う場合を考える。トラフィック処理部１５は、パケット監視部１４から通知されたＢＦＤパケットの宛先ＭＡＣアドレスがポートＹのＭＡＣアドレスと一致し、送信元ＭＡＣアドレスがポートＸのＭＡＣアドレスである場合には、ブリッジ１８に対し、ＢＦＤパケットをブリッジ１８で折り返すことなくＳＷ＃０へ転送することを指示する。このとき、トラフィック処理部１５は、ＢＦＤチェックテーブルＴ３の折り返しフラグを「あり」に変更する。ＢＦＤパケットがＳＷ＃０から転送されてきた場合にも、トラフィック処理部１５は、ＢＦＤチェックテーブルＴ３を参照する。このとき、折り返しフラグは「あり」になっているので、トラフィック処理部１５は、ＢＦＤパケットをポートＹへ転送する指示をブリッジ１８に与え、ブリッジ１８は、ＢＦＤパケットをポートＹへ転送する。
【００５２】
＜＜Ｌ２ＳＷの構成＞＞
図９は、実施形態に係るＬ２ＳＷのハードウェア構成例を示す図である。図９には、Ｌ２ＳＷの一例であるＳＷ＃０のハードウェア構成例が図示されている。ＳＷ＃１も同様の構成を有する。ＳＷ＃０は、ＣＰＵ４１と、メモリ４２と、通信インタフェース（通信ＩＦ）４３とを含む。ＣＰＵ４１、メモリ４２、通信ＩＦ４３として、上述したＣＰＵ１１、メモリ１２、通信ＩＦ１３と同様のものを適用できる。メモリ４２には、プログラムやデータ、ＭＡＣテーブル４４が記憶されている。
【００５３】
ＣＰＵ４１がメモリ４２に記憶されたプログラムを実行することによって、ＣＰＵ４１は、図１０に示すように、パケット監視部５４、トラフィック処理部５５、ルーティング制御部５６、設定情報管理部５７として動作する。換言すれば、ＳＷ＃０は、ＣＰＵ４１は、メモリ４２に記憶されたプログラムを実行することによって、以下を含む通信制御部と通信ＩＦ４３とを含む装置として動作する。ＳＷ＃０の通信制御部は、パケット監視部５４と、トラフィック処理部５５と、ルーティング制御部５６と、設定情報管理部５７と、ＭＡＣテーブル４４とを含む。通信ＩＦ４３は、ブリッジ５８と、物理ＩＦ４３Ａを含む装置として動作する。
【００５４】
なお、ＣＰＵ１１、ＣＰＵ４１は、「制御装置」、「コントローラ」の一例である。ＣＰＵ１１、ＣＰＵ４１は、ＭＰＵ（Microprocessor）、プロセッサとも呼ばれる。ＣＰＵ１１、ＣＰＵ４１は、単一のプロセッサに限定される訳ではなく、マルチプロセッサ構成であってもよい。また、単一のソケットで接続される単一のＣＰＵがマルチコア構成を有していても良い。ＣＰＵ１１（４１）が行うパケット監視部１４（５４）、トラフィック処理部１５（５５）、ルーティング制御部１６（５６）、設定情報管理部１７（５７）としての処理の少なくとも一部は、マルチコア又は複数のＣＰＵで実行されても良い。ＣＰＵ１１（４１）が行うパケット監視部１４（５４）、トラフィック処理部１５（５５）、ルーティング制御部１６（５６）、設定情報管理部１７（５７）としての処理の少なくとも一部は、ＣＰＵ以外のプロセッサ、例えば、Digital Signal Processor(ＤＳＰ)、Graphics Processing Unit（ＧＰＵ）、数値演算プロセッサ、ベクトルプロセッサ、画像処理プロセッサ等の専用プロセッサで行われてもよい。
【００５５】
また、ＣＰＵ１１（４１）が行うパケット監視部１４（５４）、トラフィック処理部１５（５５）、ルーティング制御部１６（５６）、設定情報管理部１７（５７）の処理の少なくとも一部は、集積回路（ＩＣ、ＬＳＩ）、その他のディジタル回路で行われても良い。また、集積回路やディジタル回路はアナログ回路を含んでいても良い。集積回路は、ＬＳＩ、Application Specific Integrated Circuit（ＡＳＩＣ）、プログラマブルロジッ
クデバイス（ＰＬＤ）を含む。ＰＬＤは、Complex Programmable Logic Device（ＣＰＬ
Ｄ）及びField-Programmable Gate Array(ＦＰＧＡ)を含む。ＣＰＵ１１（４１）で行わ
れる処理の少なくとも一部は、プロセッサと集積回路との組み合わせにより実行されても良い。組み合わせは、例えば、マイクロコントローラ（ＭＣＵ）、ＳｏＣ（System-on-a-chip）、システムＬＳＩ、チップセットなどと呼ばれる。なお、実施形態に係る各ルータは、レイヤ３スイッチ（Ｌ３ＳＷ）であってもよい。
【００５６】
＜＜ＲＴ＃０及びＳＷ＃０の動作例＞＞
図１１及び図１２は、ＲＴ＃０及びＳＷ＃０におけるＢＦＤチェックに係る動作例を示すフローチャートである。００１において、ＲＴ＃０の通信制御部では、トラフィック処理部１５がポートＸにＢＦＤパケットの送信を指示する。
【００５７】
００２では、ポートＸからＢＦＤパケットが送信される。ＲＴ＃０のブリッジ１８にＢＦＤパケットが到達すると（００３）、パケット監視部１４がパケットの内容確認を行い（００４）、パケットがＢＦＤパケットか否かを判定する（００５）。パケット監視部１４は、例えば、パケットのデータ部の内容がＢＦＤヘッダである場合にパケットがＢＦＤパケットであると判定する。パケットがＢＦＤパケットであると判定される場合には（００５のＹｅｓ）、処理が００７に進む。
【００５８】
パケットがＢＦＤパケットでない（ユーザパケットである）と判定される場合には（００５のＮｏ）、トラフィック処理部１５がルーティング制御部１６からの指示に従ってパケットのルーティングを行う。すなわち、トラフィック処理部１５は、ＡＲＰテーブルＴ
１及びＭＡＣテーブルを参照して、ＢＦＤパケットの宛先ＩＰアドレスに対応するＭＡＣアドレスをＡＲＰテーブルから取得する。トラフィック処理部１５は、取得したＭＡＣアドレスに対応する出力先を示す情報をＭＡＣテーブルから得て、出力先へパケットを転送する指示をブリッジ１８に与える。ブリッジ１８は指示に従った出力先にパケットを出力する。
【００５９】
００７では、トラフィック処理部１５が、パケットの内容とＢＦＤチェックテーブルＴ３の内容とを比較し、送信元及び宛先ＭＡＣアドレスのペアがＢＦＤチェックテーブルＴ３に登録されているか否かを判定する（００８）。このとき、送信元及び宛先ＭＡＣアドレスのペアがＢＦＤチェックテーブルＴ３に登録されていないと判定される場合には（００８のＮｏ）、処理が００９に進み、００６の処理と同様の処理が行われる。送信元及び宛先ＭＡＣアドレスのペアがＢＦＤチェックテーブルＴ３に登録されていると判定される場合には（００８のＹｅｓ）、処理が０１０に進む。
【００６０】
０１０では、トラフィック処理部１５は、ブリッジ１８に対して、ＢＦＤパケットをＳＷ＃０へ転送することを指示する。これによって、ブリッジ１８から物理ＩＦ１３Ａを経由して、ＢＦＤパケットがＳＷ＃０へ転送される（０１１）。
【００６１】
０１２では、トラフィック処理部１５は、ＢＦＤパケットの転送に伴って、ＢＦＤチェックテーブルＴ３の折り返しフラグを「あり」に変更する。０１３では、ＳＷ＃０のブリッジ５８にＢＦＤパケットが受信され、ＳＷ＃０のパケット監視部５４がブリッジ５８に受信されたパケットの内容を確認する（０１４）。
【００６２】
０１５では、ＳＷ＃０のトラフィック処理部５５が、ＭＡＣテーブル４４を参照して、ＢＦＤパケットをＲＴ＃０のポートＹに向けて転送する。ＢＦＤパケットが物理ＩＦ１３Ａを経由してＲＴ＃０のブリッジ１８に到達すると（０１６）、ＲＴ＃０のパケット監視部１４がパケットの内容をトラフィック処理部１５に通知する（０１７）。
【００６３】
トラフィック処理部１５がパケットの内容とＢＦＤチェックテーブルＴ３の登録内容を比較し（０１８）、送信元及び宛先ＭＡＣアドレスのペアがＢＦＤチェックテーブルＴ３に登録されているか否かを判定する（０１９）。このとき、送信元及び宛先ＭＡＣアドレスのペアがＢＦＤチェックテーブルＴ３に登録されていないと判定される場合には（０１９のＮｏ）、処理が０２０に進み、００６の処理と同様の処理が行われる。送信元及び宛先ＭＡＣアドレスのペアがＢＦＤチェックテーブルＴ３に登録されていると判定される場合には（０１９のＹｅｓ）、処理が０２１に進む。
【００６４】
０２１では、トラフィック処理部１５は、折り返しフラグ「あり」を参照して、ブリッジ１８に対して、ＢＦＤパケットをポートＹへ転送することを指示する。これによって、ブリッジ１８からポートＹへＢＦＤパケットが転送される（０２２）。トラフィック処理部１５は、ＢＦＤチェックテーブルＴ３の折り返しフラグを「なし」に変更する（０２３）。
【００６５】
０２４では、ポートＹでＢＦＤパケットが受信され、ポートＹがパケット監視部にＢＦＤパケットの受信を通知する。この通知によって、ＢＦＤパケットがＲＴ＃０とＳＷ＃０との間を往復したことがわかるので、パケット監視部１４はＲＴ＃０とＳＷ＃０との間のリンクが正常と判定する。パケット監視部１４は、ＢＦＤパケットが送信されてから上記通知が受信されないまま所定時間が経過した場合に、ＲＴ＃０とＳＷ＃０との間のリンクダウン障害を検知する。
【００６６】
＜＜ＢＦＤチェックの実装＞＞
上述したＢＦＤチェック処理の実装について説明する。一般のネットワーク機器（ルータやＬ３スイッチ）では、ポートがリンクアップしたことを契機として、ポートに設定されたＩＰアドレスをＲＩＢに登録する。実施形態に係るルータ（ＲＴ＃０）では、ポートがリンクアップしてからすぐにＲＩＢに登録するのではなく、ＢＦＤパケットを用いてＲＴ＃０とＳＷ＃０との間のセッションが確立できてからＲＩＢに対象ポートを登録する。このようにして、リンクアップを検知したリンクに関して、ＢＦＤパケットを用いた監視を行う。監視のために、ＢＦＤセッションの状態を示すテーブル（ＢＦＤセッション状態テーブル）Ｔ４がＲＴ＃０に設けられる。テーブルＴ４は、例えばメモリ１２に記憶される。
【００６７】
図１３に示すように、ＢＦＤセッション状態テーブルＴ４のデータ構造例を示す。テーブルＴ４は、インタフェース（ＩＦ）の状態と、ＢＦＤセッションの状態と、リンクの状態とを、リンク毎に記憶する。ＩＦの状態は、“down”，“invalid（無効）”，“valid（有効）”のいずれかで表される。“down（ダウン）”は、ポートがシャットダウンされている状態を示す。“invalid”は、ＢＦＤセッションが確立されていない状態を示す。
“valid（有効）”は、ＢＦＤセッションが確立され経路情報がＲＩＢに登録されている
状態を示す。ＢＦＤセッションの状態は、“down（ダウン）”及び“up（アップ）”の一方で表される。“down”はＢＦＤセッションが確立されていない状態を示し。“up”はＢＦＤセッションが確立されている状態を示す。リンクの状態は、“down（ダウン）”及び“up（アップ）”の一方で表される。“down”はリンクダウンを検知している状態を示し。“up”はリンクダウンを検知していない状態を示す。
【００６８】
図１４は、或るポートがリンクアップされたときにおけるＢＦＤチェックの例を示すフローチャートである。ＲＴ＃０の通信制御部（ＣＰＵ１１）は、例えばポートＹ（ポートＹ以外のポートでもよい）のリンクアップを検知する（１０１）。このとき、通信制御部は、テーブルＴ４のリンク状態を“up”に変更する。
【００６９】
１０２では、通信制御部は、リンクの正常性を検証する。検証は、図１１及び図１２に示した処理を行うことによって実施される。１０３では、検証の結果が合格か否かをＣＰＵ１１が判定する。すなわち、ＢＦＤパケットがリンクを往復されてポートＹにて受信された旨の通知をトラフィック処理部１５が受け取る場合に、検証の結果が合格と判定される。検証の結果が合格と判定される場合には（１０３のＹｅｓ）、通信制御部は、ポートＹに係る経路情報（ポートＹのＩＰアドレス）をＲＩＢに登録する（１０４）。また、テーブルＴ４のＢＦＤセッションの状態を“up”に変更する。
【００７０】
検証の結果が不合格と判定される場合には（１０３のＮｏ）、処理が１０５へ進み、不合格回数が所定回数ｎを超過するか否かを判定する。不合格数がｎを超過しない場合には（１０５の≦ｎ）、１０２へ処理が戻る。これに対し、不合格回数がｎを超過すると判定される場合には（１０５の“＞ｎ”）、通信制御部はポートのシャットダウンを行い（１０６）、管理者に異常の通知を行う（１０７）。このとき、通信制御部はテーブルＴ４の状態の全てを“down”に変更する。
【００７１】
＜＜障害検知時の処理＞＞
図１５は、リンクダウン障害又はＢＦＤセッションのダウン（障害）が検知されたときの動作例を示す。ＲＴ＃０の通信制御部は、ＢＦＤセッションを用いたリンクの監視と、ＢＦＤセッションの利用以外の方法でのリンク監視、例えば、リンクに対する信号（ｐｉｎｇ）の疎通試験などのヘルスチェックを行う。ＢＦＤセッション以外の方法でリンクダウンが検出される場合には（１１１）、通信制御部は、テーブルＴ４のリンクの状態を“down”（リンクダウン）に設定する（１１３）。このとき、後述する検証によって、ＢＦＤセッションの障害も検出される場合には、ＢＦＤセッションの状態も“down”に更新さ
れる。このとき、インタフェースの状態は“down”となる。
【００７２】
また、ＢＦＤパケットを送信したにも拘わらずＢＦＤパケットが戻ってこない場合には、通信制御部は、ＢＦＤセッションの切断（ダウン）を検知し（１１２）、テーブルＴ４のＢＦＤセッションの状態を“down”に変更する（１１３）。また、インタフェースの状態を“invalid”に変更する。通信制御部は、一例として、リンクダウンとＢＦＤセッシ
ョンのダウンとの論理和（ＯＲ）を取り、いずれか一方の検知によって、対応する経路の情報をＲＩＢから削除する（１１４）。
【００７３】
その後、通信制御部は、リンクダウンの検知（１１１）を契機にＲＩＢからの情報削除を行った場合には、リンクアップまで待機する。一方、通信制御部は、ＢＦＤダウンの検知（１１２）の場合には、ＢＦＤセッションを用いた検証（１０２）を行う。
【００７４】
＜＜ネットワークシステムの動作例＞＞
次に、図１に示したネットワークシステムにおける動作例について説明する。
[動作例１]
図１６は、定常状態（正常状態の０系経路が運用系として使用されている状態）を示す。定常状態でのＮＷ１のルータ２が有するＲＩＢとして、ホストＨ１〜Ｈｎが属する仮想ＬＡＮ“vlan2”のＩＰアドレスと、次ホップを示す情報とが登録される。また、ＲＴ＃
０では、ＳＷ＃０から折り返されたＢＦＤパケットを受信するインタフェースであるインタフェース“Ｅ１”（ポートＹ）に関する、インタフェースの状態、ＢＦＤセッションの状態及びリンクの状態がテーブルＴ４に登録される。
【００７５】
図１７に示すように、ＲＴ＃０とＳＷ＃０との間に障害が発生すると、ＲＴ＃０はリンクダウンを検知する。この場合、テーブルＴ４のリンクの状態は“down”となる。何らかの事情でリンク状態検知が遅れている場合にはＢＦＤチェックによるＢＦＤセッション断が検知される。この場合、テーブルＴ４のリンクの状態は“down”となる。リンク又はＢＦＤセッションのダウンにより、インタフェースの状態も“down”となる。リンクダウン又はＢＦＤセッション断の検知を契機に、ローカルホスト（ホストＨ１等）向けのＮＷアドレスがＲＩＢから削除され、ＮＷ１（上位ＮＷ）側で０系から１系への経路の切り替えが発生する。
【００７６】
図１８に示すように、通信が１系の経路を用いて行われている状態で、リンクが障害から復旧すると、以下のようになる。すなわち、テーブルＴ４におけるリンクの状態はリンクアップを示す“up”となり、インタフェースの状態はリンクアップ（ＢＦＤセッション未確立）を示す“invalid”となる。リンクアップを契機にＢＦＤセッションの確立手順
が行われる。
【００７７】
図１９に示すように、ＢＦＤセッションが確立されると、以下のようになる。すなわち、インタフェース“Ｅ１”の状態は“valid”に変更され、０系のＮＷアドレス及び192.168.0.0/24のＮＷアドレスがＲＩＢに登録される。ローカルホスト（ホストＨ１〜Ｈｎ）
向きの経路が０系に切り戻される。以上のような流れによって、リンクダウンの検知が遅れたとしても、ＢＦＤチェックによって短時間で障害を検知することができる。
【００７８】
[動作例２]
動作例２として、０系の経路にサイレント障害が生じた場合の動作例を説明する。ネットワークシステムが、図１６に示した定常状態において、ＲＴ＃０とＳＷ＃０との間で障害が発生すると、ＢＦＤチェックによるＢＦＤセッション断が検知される。テーブルＴ４のＢＦＤセッション、リンク及びインタフェースの状態はいずれも“down”となる。また、ＢＦＤセッション断の検知を契機としてローカルホスト向きのＮＷアドレスがＲＩＢか
ら削除され、ＮＷ１（上位ＮＷ）で０系から１系への経路の切り替えが発生する。
【００７９】
１系経由で通信が行われている状態で、ＲＴ＃０とＳＷ＃０との間のリンクを復旧させた（リンクアップにした）直後では、リンクの状態はリンクアップを示す“up”となり、インタフェースの状態は、ＢＦＤセッションが未確立を示す“invalid”となる。このよ
うな状態でＢＦＤセッションの確立手順が実行される。復旧の時点でサイレント障害が解消していない場合には、ＢＦＤセッションの確立に失敗する。このため、リンク及びインタフェースの状態が再び“down”となり、１系の経路利用が継続される。
【００８０】
これに対し、サイレント障害が解消している場合には、図２２に示すように、ＢＦＤセッションの確立によって、ＢＦＤセッションの状態が“up”となり、インタフェースの状態が“valid”となる。これによって、ＲＩＢの書き換えが行われ、経路が１系から０系
に切り戻される。
【００８１】
＜実施形態の効果＞
実施形態に係るネットワークシステムによれば、ＲＴ＃０がポートＹ宛のＢＦＤパケットをＳＷ＃０へ転送し、ＳＷ＃０から折り返されるＢＦＤパケットを受信することで、ＲＴ＃０とＳＷ＃０との間のリンクの状態を監視することができる。すなわち、ＲＴ＃０のＣＰＵ１１は、ＳＷ＃０へ転送したＢＦＤパケットを所定時間経過前に受信できない場合には、ＢＦＤセッションの障害を検知する。ＢＦＤセッションの障害が所定回数検知された場合（不合格回数が所定の閾値に達した場合）には、ポートＹがシャットダウン（停止）されるとともに、リンクの状態がリンクダウン（障害）状態にされる。
【００８２】
これによって、対向装置がレイヤ２（宛先ＭＡＣアドレス）に基づくパケット転送を行う限り、対向装置の構成（ＥＯＡＭやＢＦＤの実装など）に依存することなく、ＢＦＤパケット（監視パケットの一例）を用いたリンク状態の監視を行うことができる。換言すれば、実施形態に係るルータは、対向装置がサポートしないプロトコルに基づくパケットを用いて対向装置との間のリンクの監視を行うことができる。したがって、実施形態の手法では、ｐｉｎｇによるリンク状態の監視のような煩雑さを回避することができる。実施形態の構成は適宜組み合わせることができる。
【符号の説明】
【００８３】
ＲＴ＃０・・・ルータ
ＳＷ＃０・・・レイヤ２スイッチ
１１・・・ＣＰＵ
１２・・・メモリ
【図１】
2019102975.tif 000003
【図２】
2019102975.tif 000004
【図３】
2019102975.tif 000005
【図４】
2019102975.tif 000006
【図５】
2019102975.tif 000007
【図６】
2019102975.tif 000008
【図７】
2019102975.tif 000009
【図８】
2019102975.tif 000010
【図９】
2019102975.tif 000011
【図１０】
2019102975.tif 000012
【図１１】
2019102975.tif 000013
【図１２】
2019102975.tif 000014
【図１３】
2019102975.tif 000015
【図１４】
2019102975.tif 000016
【図１５】
2019102975.tif 000017
【図１６】
2019102975.tif 000018
【図１７】
2019102975.tif 000019
【図１８】
2019102975.tif 000020
【図１９】
2019102975.tif 000021
【図２０】
2019102975.tif 000022
【図２１】
2019102975.tif 000023
【図２２】
2019102975.tif 000024