(57)【要約】【課題】  関連技術には、物理的なリンク障害を検出できない場合に、リンク異常を検出することが出来ないという課題がある。また、関連技術には、リンク異常を検出するためには、通信対象の装置の種別に依存してしまうという課題がある。【解決手段】  上記課題を解決するために、本発明は、ネットワークとの通信に用いる通信部を示す第１のアドレスを宛先とし、第１のアドレスと異なる第２のアドレスを送信元とするデータを通信部からネットワークに対して送信し、ネットワークから通信部に返ってくるデータを受信することを特徴とする。【選択図】  図１
2009010668.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続する装置であって、
前記ネットワークとの通信に用いる通信部と、
前記通信部を示す第１のアドレスを宛先とし、前記第１のアドレスと異なる第２のアドレスを送信元とするデータを前記通信部から前記ネットワークに対して送信するデータ送信部と、
前記ネットワークから前記通信部に返ってくる前記データを受信するリプライ検出部とを含むことを特徴とする通信装置。
【請求項２】
前記リプライ検出部は、
前記データを受信できない場合、前記ネットワークへの伝送経路を、当該伝送経路と異なる別伝送経路に切り替えることを特徴とする請求項１に記載の通信装置。
【請求項３】
前記データ送信部は、前記伝送経路が前記別伝送経路へ切り替えられた後、前記伝送経路を介して前記ネットワークへの前記データの送信を継続し、
前記リプライ検出部は、前記データを受信した場合、前記別伝送経路を前記伝送経路に切り替えることを特徴とする請求項２に記載の通信装置。
【請求項４】
前記データ送信部は、
前記データの送信を指示する命令に応じて、前記データを送信することを特徴とする請求項１乃至３のいずれか１項に記載の通信装置。
【請求項５】
前記第２のアドレスを宛先とし、前記第１のアドレスを送信元とする先行データを前記ネットワークに対して送信する先行データ送信部を含み、
前記データ送信部は、前記先行データの送信後に前記データを前記ネットワークに対して送信することを特徴とする請求項１乃至４のいずれか１項に記載の通信装置。
【請求項６】
前記先行データ生成部は、前記先行データを所定の間隔で送信することを特徴とする請求項５に記載の通信装置。
【請求項７】
前記第２の情報を宛先とし、前記第１の情報を送信元とする先行データを送信する先行データ生成部と、
前記先行データが送信されたか否かを示す情報を格納するレジスタとを含み、
前記データ送信部は、前記レジスタに格納された情報が前記先行データを送信済みであることを示している場合に、前記データを送信することを特徴とする請求項１乃至４のいずれか１項に記載の通信装置。
【請求項８】
時間を計測し、所定の間隔毎に前記先行データ生成部に対して通知信号を送出するタイマカウンタを含み、
前記先行データ生成部は、前記通知信号を受信した場合に、前記先行データを送信することを特徴とする請求項７に記載の通信装置。
【請求項９】
ネットワークとの通信に用いる通信部を示す第１のアドレスを宛先とし、前記第１のアドレスと異なる第２のアドレスを送信元とするデータを生成するステップと、
前記データを前記通信部から前記ネットワークに対して送信するステップと、
前記ネットワークから前記通信部に返ってくる前記データを受信するステップとを含むことを特徴とする通信方法。
【請求項１０】
前記データを受信できない場合、前記ネットワークへの伝送経路を、当該伝送経路と異なる別伝送経路に切り替えるステップを含むことを特徴とする請求項９に記載の通信方法。
【請求項１１】
前記伝送経路が前記別伝送経路へ切り替えられた後、前記伝送経路を介して前記ネットワークへの前記データの送信を継続するステップと、
継続して送信した前記データを受信した場合、前記別伝送経路を前記伝送経路に切り替えるステップとを含むことを特徴とする請求項１０に記載の通信方法。
【請求項１２】
前記データの送信を指示する命令に応じて、前記データを送信するステップを含むことを特徴とする請求項９乃至１１のいずれか１項に記載の通信方法。
【請求項１３】
前記第２のアドレスを宛先とし、前記第１のアドレスを送信元とする先行データを前記ネットワークに対して送信するステップと、
前記先行データの送信後に前記データを前記ネットワークに対して送信するステップとを含むことを特徴とする請求項９乃至１２のいずれか１項に記載の通信方法。
【請求項１４】
前記先行データを所定の間隔で送信するステップを含むことを特徴とする請求項１３に記載の通信方法。
【請求項１５】
ネットワークに接続する通信装置に、
ネットワークとの通信に用いる通信部を示す第１のアドレスを宛先とし、前記第１のアドレスと異なる第２のアドレスを送信元とするデータを生成する処理と、
前記データを前記通信部から前記ネットワークに対して送信する処理と、
前記ネットワークから前記通信部に返ってくる前記データを受信する処理とを実行させることを特徴とするプログラム。
【請求項１６】
ネットワークとの通信に用いる通信インターフェースであって、
前記通信インターフェースを示す第１のアドレスを宛先とし、前記第１のアドレスと異なる第２のアドレスを送信元とするデータを前記ネットワークに対して送信するデータ送信部と、
前記ネットワークから前記通信インターフェースに返ってくる前記データを受信するリプライ検出部とを含むことを特徴とする通信インターフェース。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークに接続する通信装置に関し、特に、通信相手となる装置の種別に依存することなくリンク異常の監視を行うことが可能な通信装置に関する。
【背景技術】
【０００２】
関連する技術を、図１８及び図１９を参照して説明する。
【０００３】
図１８は、装置１３０１と装置１３０２が相互に接続したネットワークの概略図を示す。このネットワークにおいて、装置１３０１は、装置１３０２の信号送出部１３０４から装置１３０１へ信号が物理的に入力されるか否かによりリンク異常を検出する。
【０００４】
図１９に、対向する装置１４０１及び１４０２同士が相互にデータを送受信することにより、リンク異常を検出する方式の概略図を示す。装置１４０１は、装置１４０２に対して確認要求フレームを送信する。確認要求フレームを受信した装置１４０２は、装置１４０１に対して確認応答フレームを返信する。装置１４０１は、確認要求フレームに対する確認応答フレームがない場合にリンク異常が発生していると判断する。
【０００５】
また、関連する技術として、以下のものが存在する。
【０００６】
【特許文献１】特開２００２−１６６６４号公報
【特許文献２】特開２００１−１６０８２５号公報
【０００７】
特開２００２−１６６６４号公報には、通信装置間の外部ループバックテスト方式に関する関連技術が記載されている。
【０００８】
当該関連技術においては、外部ループバックテストを実行する装置間の双方で専用ソフトウェアを起動し、送信側装置から宛先及び送信元が共に当該送信側装置のアドレスとなっているループバックテスト用データを受信側装置に送信し、受信側装置の専用ソフトウェアにより当該ループバックテスト用データを送信側装置へ折り返す。送信したループバックテスト用データと、折り返されたループバックテスト用データとを比較し、エラーが無ければ装置間の通信経路は正常であると判断される。
【０００９】
特開２００１−１６０８２５号公報には、ＩＣＭＰエコーパケットを用いてノード間の通信経路の障害を検出する関連技術が記載されている。
【００１０】
ＩＣＭＰエコーパケットには、当該パケットの送信相手のノードのＩＰアドレスと、当該パケットの送信元のＩＰアドレスが含まれている。当該パケットを受信したノードは、送信元のＩＰアドレスに対してＩＣＭＰエコーリプライを返信する。ＩＣＭＰエコーパケットを送信したノードは、ＩＣＭＰエコーリプライの有無により、ノード間の通信経路の障害を検出する。
【発明の開示】
【発明が解決しようとする課題】
【００１１】
図１８に示した関連技術においては、装置１３０２の信号送出部１３０４は正常であるがスイッチ機能部１３０３が故障した場合、装置１３０１はリンク異常を検出することができないという問題がある。なぜならば、装置１３０１は物理的な入力信号が無い場合にリンク異常を検出するものであり、信号送出部１３０４が正常で装置１３０１への入力信号が物理的に断絶しない場合にはリンク異常を検出できないからである。
【００１２】
図１９に示した関連技術においては、当該関連技術によるリンク異常検出方式を実現するためには、装置１４０１及び装置１４０２の双方が、確認要求データを送受信する機能と、確認要求データに対する確認応答データの返信がない場合にリンク異常と判断する機能とを有している必要がある。これらの機能は汎用的な機能ではないため、これらの機能を有する装置同士で構成されたネットワークでなければ、当該方式によるリンク異常検出はできないという問題がある。
【００１３】
特開２００２−１６６６４号公報に記載の関連技術においては、外部ループバックテストを実行する際に、ループバックテスト用のデータの送信側・受信側の双方において専用プログラムが必要であるという問題がある。よって、当該専用プログラムを備えた装置同士で構成されたネットワークでなければ、当該関連技術による通信経路の障害検出はできない。
【００１４】
特開２００１−１６０８２５号公報に記載の関連技術においては、通信を実行する双方のノードにおいてＩＣＭＰエコーパケットの送信及びＩＣＭＰエコーリプライの送信を実行する機能を備える必要があるという問題がある。つまり、通信を実行する双方のノードが特定の機能を備えていなければ、当該関連技術による通信経路の障害検出はできない。
【００１５】
本発明の目的は、物理的なリンク障害を検出できない場合においても、リンク異常を検出することを可能とすることにある。また、本発明の他の目的は、通信相手装置の種別に依存することなくリンク異常を検出することを可能とすることにある。
【課題を解決するための手段】
【００１６】
上記目的を達成するために、本発明は、ネットワークとの通信に用いる通信部を示す第１のアドレスを宛先とし、第１のアドレスと異なる第２のアドレスを送信元とするデータを通信部からネットワークに対して送信し、ネットワークから通信部に返ってくるデータを受信することを特徴とする。
【発明の効果】
【００１７】
本発明によれば、物理的なリンク障害を検出できない場合においても、リンク異常を検出することが可能となり、また、通信相手装置の種別に依存することなくリンク異常を検出することが可能になるという効果を奏する。
【発明を実施するための最良の形態】
【００１８】
次に、本発明の実施例を説明する。
【００１９】
本発明は、ネットワークとの通信に用いる通信部を示す第１のアドレスを宛先とし、第１のアドレスと異なる第２のアドレスを送信元とするデータを通信部からネットワークに対して送信し、ネットワークから通信部に返ってくるデータを受信することを特徴とする。
【００２０】
データを送信した装置の通信部を当該データの宛先としているので、本発明の装置から送信されたデータは、本発明の装置の通信部とネットワークを介して接続する通信相手装置が備えるデータ転送機能により、再び本発明の装置に返ってくる。このため、本発明の装置は、通信部とネットワークを介して接続する通信相手装置においてデータ転送機能を司る部位に障害が発生し、受信したデータを本発明の装置に返せない場合において、当該通信相手装置とのリンク異常を検出することが可能となる。
【００２１】
つまり、本発明の装置は、通信相手装置との間の物理的なリンク障害を検出できない場合においても、リンク異常を検出することが可能となる。
【００２２】
また、本発明の装置は、宛先を自装置とするデータを送信し、通信相手装置が一般的に備えるスイッチング機能による当該データの自装置への返信の有無によりリンク異常を検出するので、通信相手装置との間で特殊なフレームの送受信をする必要はない。また、本発明の装置が送信するデータは、宛先と送信元が同一であるような特殊なものではないので、通信相手装置との間で相互に特別なソフトウェア処理を実行する必要はない。つまり、通信相手装置に特別な機能を追加しなくとも、リンク異常を検出することが可能となる。
【実施例１】
【００２３】
以下、図面を参照して、本発明の実施例の一例を説明する。なお、以下において、ＯＳＩ参照モデルのデータリンク層による通信を行う装置に関する実施例の一例を説明する。但し、本発明は、ＯＳＩ参照モデルのデータリンク層による通信を行う装置に限定されるものではない。
【００２４】
図１を参照すると、本発明の装置１は、通信部１０、制御部１２を含む。制御部１２は、監視データ送信部１２１と、リプライ検出部１２７を含む。装置１は、スイッチ、ルータ、サーバ、ホスト等の通信に用いる機器である。つまり、本発明は機器の種類に依存するものではなく、通信に用いる機器であれば本発明を適用できる。装置１は、伝送経路４００によりサーバ、スイッチ等の他の装置と接続している。通信部１０には、第１の情報に対応する仮想アドレスと、第２の情報に対応する実アドレスとが割り当てられている。
【００２５】
実アドレスは、例えば、ＭＡＣアドレスである。実アドレスは、装置１がサーバ、スイッチ等の他の機器と通信を行う際に、装置１の通信部１０を示すアドレス（物理アドレス）として使用される。
【００２６】
仮想アドレスは、例えば、ＭＡＣアドレスである。仮想アドレスは、実アドレスとは異なるが、実アドレスと同様に装置１の通信部１０を示すアドレスである。仮想アドレスは、装置１がサーバ、スイッチ等の他の機器との間のリンク状態を監視する際に使用されるアドレスである。つまり、仮想アドレスは、装置１が通常の通信を実行する際には使用されないアドレスである。
【００２７】
通信部１０は、例えば、装置１の通信インターフェースである。通信部１０は、通信部１０とネットワークを介して接続する通信相手装置との間でデータの送受信を行う。
【００２８】
制御部１２は、レイヤ２スイッチ等の他の装置との間のリンク状態の監視に用いる監視データ１１を伝送経路４００に送信する。
【００２９】
図２に、監視データ１１について説明する。
【００３０】
監視データ１１は、宛先領域１１０、送信元領域１１１及び付加データ領域１１２を含む。監視データ１１は、例えば、ＯＳＩ参照モデルのデータリンク層におけるフレームである。
【００３１】
宛先領域１１０には、監視データ１１の宛先のアドレスが格納される。制御部１２は、宛先領域１１０に仮想アドレスを格納する。
【００３２】
送信元領域１１１には、監視データ１１の送信元のアドレスが格納される。制御部１２は、送信元領域１１１に実アドレスを格納する。
【００３３】
なお、制御部１２は、宛先領域１１０に実アドレスを格納し、送信元領域１１１に仮想アドレスを格納してもよい。
【００３４】
宛先領域１１０に格納される仮想アドレスと、送信元領域１１１に格納される実アドレスは、互いに異なるアドレスであるが共に同一の装置１を示すアドレスである。例えば、レイヤ２スイッチは、宛先と送信元に同一のＭＡＣアドレスが格納されたフレームを受信した場合、当該フレームを破棄する仕様となっている。従って、宛先領域１１０に格納される仮想アドレスと、送信元領域１１１に格納される実アドレスは、互いに異なるアドレスを格納することが必要となる。
【００３５】
付加データ領域１１２には、任意のデータや監視データ１１の誤り検査用のデータ（例えば、ＣＲＣ値）等が格納される。
【００３６】
次に、図３及び４を参照し、装置１が監視データ１１を送受信する際の動作の概略を説明する。
【００３７】
まず、図３を参照し、装置１が、通信部１０とネットワークを介して接続する通信相手装置との間で監視データ１１を送受信する際の動作の概要を説明する。
【００３８】
装置１は、伝送経路４００を介して通信相手装置であるスイッチ２と接続している。
【００３９】
スイッチ２は、例えば、レイヤ２スイッチやレイヤ３スイッチ等である。スイッチ２は、ポート２０とスイッチ機能部２１を含む。図３において、スイッチ２のポート２０は１つであるが、複数のポート２０を含むものであってもよい。
【００４０】
スイッチ機能部２１は、ポート２０が受信したフレームの転送等の処理を実行する。スイッチ機能部２１は、ＯＳＩ参照モデルのデータリンク層の仕様で規定される機能を備えている。
【００４１】
装置１は、複数の通信部１０（１０−１〜１０−ｎ）と、スイッチ機能部１３を含む。但し、装置１の構成はこれに限定されるものではなく、通信部１０が１つであってもよいし、スイッチ機能部１３がなくてもよい。
【００４２】
スイッチ機能部１３は、通信部１０が受信したフレームの転送等の処理を実行する。スイッチ機能部１３は、例えば、ＯＳＩ参照モデルのデータリンク層の仕様で規定される機能を備えている。
【００４３】
それぞれの通信部１０（１０−１〜１０−ｎ）は、制御部１２（１２−１〜１２−ｎ）を含む。
【００４４】
いずれかの通信部１０（図３の場合は、１０−ｎ）は、迂回経路５００と接続している。迂回経路５００は、装置１からスイッチ２への経路が使用できなくなった場合の迂回経路である。
【００４５】
制御部１２−１は、スイッチ２とのリンク状態を確認するために、監視データ１１をスイッチ２に対して所定の周期（以下、監視データ送信周期と呼ぶ）で送信する。監視データ１１を送信する周期は、任意に定めることが可能である。監視データ送信周期は、装置１の通常の送信の妨げとならないように設定されることが望ましい。
【００４６】
スイッチ２のスイッチ機能部２１は、通信部１０−１の実アドレスと仮想アドレスが既に学習されている。これは、スイッチ機能部２１のＭＡＣアドレステーブルに、通信部１０−１の実アドレスと仮想アドレスが格納されていることを意味する。ＭＡＣアドレステーブルとは、スイッチのポート毎に当該ポートに接続されている機器のＭＡＣアドレスを記憶するテーブルである。この場合、スイッチ機能部２１のＭＡＣアドレステーブルには、通信部１０−１の実アドレス及び仮想アドレスと対応するポートは、いずれもポート２０であることが記憶されている。なお、スイッチ機能部２１のＭＡＣアドレステーブルは、予め通信部１０−１の実アドレスと仮想アドレスを設定しておいてもよい。一般的なスイッチ機器は、スタティックにＭＡＣアドレスを登録する機能を有するので、当該機能を利用すればよい。或は、スイッチ２が受信したフレームに応じて、ＭＡＣアドレステーブルを動的に設定してもよい。動的にＭＡＣアドレステーブルを設定する方式については、後述する。
【００４７】
スイッチ機能部２１は、受信した監視データ１１の宛先領域１１０に格納されているアドレスが装置１の通信部１０−１を示す仮想アドレスであるので、当該監視データ１１をポート２０に転送する。つまり、制御部１２−１から送信された監視データ１１が、スイッチ２のスイッチ機能部２１を経由して再び制御部１２−１に返ってくる。
【００４８】
制御部１２−１は、送信した監視データ１１が一定の時間内（以下、異常判断基準時間と呼ぶ）に返ってきた場合、スイッチ２とのリンクは正常であると判断する。異常判断基準時間は、任意に設定可能である。なお、異常判断基準時間は、監視データ送信周期よりも短く設定してもよい。異常判断基準時間を監視データ送信周期よりも短く設定すれば、ある監視データ１１によるリンク異常の判断が完了する前に、他の監視データ１１が送信されることがなくなる。制御部１２−１は、送信した監視データ１１が異常判断基準時間内に返ってこない場合、スイッチ２とのリンクに異常が発生したと判断する。制御部１２−１は、リンク異常を認識した場合、伝送経路４００から迂回経路５００に通信経路を切り替えるようにスイッチ機能部１３に指示する。制御部１２−１から指示を受けたスイッチ機能部１３は、迂回経路５００への切り替えを実行する。
【００４９】
次に、図４を参照し、ネットワークシステムにおける装置１の動作の概要を説明する。
【００５０】
図４に示すネットワークシステムは、ホスト１０００、Ｌ２ＳＷ−Ａ１００１、Ｌ３ＳＷ−Ａ１００２、Ｌ２ＳＷ−Ｂ１００３、Ｌ３ＳＷ−Ｂ１００４及びＩＰ網１００５から構成される。本発明の装置１と同様の構成を備えるのは、ホスト１０００及びＬ３ＳＷ−Ａ１００２であるものとする。その他は、ＴＣＰ／ＩＰプロトコルに基づく通信を実行する一般的な装置であるものとする。なお、本発明の装置１は、図４に示す構成のネットワークシステム以外のネットワークシステムにおいても動作可能であることは言うまでもない。
【００５１】
Ｌ３ＳＷ−Ａ１００２の通信部１０−１は、制御部１２−１を備えている。なお、Ｌ３ＳＷ−Ａ１００２の通信部１０−１は、Ｌ３ＳＷ−Ａ１００２が備える通信ポートに対応する。Ｌ３ＳＷ−Ａ１００２の制御部１２−１は、Ｌ２ＳＷ−Ａ１００１に対して監視データ１１を送信する。Ｌ３ＳＷ−Ａ１００２の制御部１２−１から送信された監視データ１１は、Ｌ２ＳＷ−Ａ１００１のポート１０３１で受信され、Ｌ２ＳＷ−Ａ１００１でフォワーディングされて、ポート１０３１からＬ３ＳＷ−Ａ１００２へ送信される。Ｌ３ＳＷ−Ａ１００２の制御部１２−１は、異常判断基準時間内に監視データ１１が返ってきたことを確認すると、Ｌ２ＳＷ−Ａ１００１との間のリンクが正常であることを認識する。
【００５２】
ホスト１０００の通信部１０−１は、制御部１２−１を備えている。なお、ホスト１０００の通信部１０−１は、例えば、ＮＩＣ（ネットワークインターフェースカード）に対応する。ホスト１０００の制御部１２−１は、Ｌ２ＳＷ−Ａ１００１に対して監視データ１１を送信する。ホスト１０００の制御部１２−１から送信された監視データ１１は、Ｌ２ＳＷ−Ａ１００１のポート１０１１で受信され、Ｌ２ＳＷ−Ａ１００１でフォワーディングされて、ポート１０１１からホスト１０００へ送信される。ホスト１０００の制御部１２−１は、異常判断基準時間内に監視データ１１が返ってきたことを確認すると、Ｌ２ＳＷ−Ａ１００１との間のリンクが正常であることを認識する。
【００５３】
このように、ホスト１０００とＬ３ＳＷ−Ａ１００２は、隣接する機器であるＬ２ＳＷ−Ａ１００１とのリンクを監視することができる。
【００５４】
通信経路に異常が生じていない通常時、ホスト１０００とＩＰ網１００５との通信は、ホスト１０００の通信部１０−１、Ｌ２ＳＷ−Ａ１００１、Ｌ３ＳＷ−Ａ１００２を経由してＩＰ網１００５に到達する経路で行われているものとする。ホスト１０００の通信部１０−２は、ホスト１０００の迂回経路である。また、Ｌ３ＳＷ−Ａ１００２の通信部１０−２は、Ｌ３ＳＷ−Ａ１００２の迂回経路である。この場合においてＬ２ＳＷ１００１で故障が発生した場合、ホスト１０００及びＬ３ＳＷ−Ａ１００２がリンク異常を検出すると、それぞれ迂回経路に切り替えて通信が実行される。Ｌ２ＳＷ−Ａ１００１に障害が発生した場合の迂回経路は、ホスト１０００の通信部１０−２、Ｌ２ＳＷ−Ｂ１００３、Ｌ３ＳＷ−Ｂ１００４、Ｌ３ＳＷ−Ａ１００２を経由してＩＰ網１００５に到達する経路となる。
【００５５】
次に、図５を参照して、制御部１２について詳細に説明する。なお、図５は、図１若しくは図３の制御部１２の機能ブロック図の一例である。
【００５６】
制御部１２は、先行データ送信部１２０、監視データ送信部１２１、レジスタ１２２、第１のタイマカウンタ１２３、第２のタイマカウンタ１２４、実アドレス記憶部１２５、仮想アドレス記憶部１２６、リプライ検出部１２７及び復旧監視中フラグ格納部１２８を含む。
【００５７】
実アドレス記憶部１２５は、通信部１０を示す実アドレスを格納する。
【００５８】
仮想アドレス記憶部１２６は、通信部１０を示す仮想アドレスを格納する。
【００５９】
監視データ送信部１２１は、実アドレス記憶部１２５に格納されている実アドレスと、仮想アドレス記憶部１２６に格納されている仮想アドレスとを参照し、監視データ１１を生成する。監視データ送信部１２１は、生成した監視データ１１を伝送経路４００へ送信する。
【００６０】
第１のタイマカウンタ１２３は、監視データ送信周期をカウントするタイマである。例えば、第１のタイマカウンタ１２３には、監視データ送信周期に対応する値が初期値としてセットされており、１クロックサイクル毎に値をデクリメントする。第１のタイマカウンタ１２３は、セットされた値が“０”になった時点で、監視データ送信部１２１に対して監視データ１１を送信するように通知する。第１のタイマカウンタ１２３は、監視データ送信部１２１に通知後、０になった値を元の値に戻し、再びカウントを開始する。第１のタイマカウンタ１２３は、これらの動作を繰り返す。これにより、監視データ送信部１２１から一定の周期で監視データ１１が送信される。なお、第１のタイマカウンタ１２３による監視データ送信周期のカウント方式は、上記の方式に限定されるものではない。例えば、第１のタイマカウンタ１２３の初期値が“０”であり、１クロックサイクル毎に値をインクリメントする方式であってもよい。
【００６１】
先行データ送信部１２０は、スイッチ等の通信相手装置のＭＡＣアドレステーブルに仮想アドレスを学習させるための先行データ３０を送信する。監視データ１１の宛先には仮想アドレスが格納される。そのため、スイッチ等の通信相手装置は、ＭＡＣアドレステーブルに装置１の仮想アドレスが登録されていなければ、監視データ１１を装置１に送り返すことができない。よって、スイッチ等の通信相手装置に予め仮想アドレスが登録されていない場合には、通信相手装置に動的に仮想アドレスを学習させる必要がある。ＯＳＩ参照モデルのデータリンク層の仕様によれば、受信したフレームの送信元のアドレスが、当該フレームを受信したポートと対応付けてＭＡＣアドレステーブルに登録される。よって、装置１は、監視データ１１を送信する前に、通信相手装置に対して、送信元のアドレスに仮想アドレスを含むフレームを送信する必要がある。従って、装置１の先行データ送信部１２０は、送信元のアドレスとして仮想アドレスを含む先行データ３０を通信相手装置に対して送信する。
【００６２】
先行データ送信部１２０は、実アドレス記憶部１２５に格納されている実アドレスと、仮想アドレス記憶部１２６に格納されている仮想アドレスを参照し、先行データ３０を生成する。先行データ送信部１２０は、仮想アドレスを先行データ３０の送信元とし、実アドレスを先行データの宛先とする先行データ３０を生成し、伝送経路４００へ送信する。送信先のアドレスを実アドレスとしたのは、フラッディングを考慮したためである。フラッディングとは、宛先がブロードキャストアドレスであるフレームや、ＭＡＣアドレステーブルに存在しない宛先不明のアドレスを宛先とするフレームをスイッチ等の装置が受信した場合、当該フレームを受信したポート以外のすべてのポートに対して、当該フレームを転送する動作である。スイッチ等の装置が接続されるネットワークのトポロジにループが存在する場合、当該ネットワークにＳＴＰ（スパニングツリープロトコル）に対応可能なスイッチ等が存在しなければ、フラッディングされたフレームがネットワーク帯域の枯渇を誘引し、ネットワークダウンの原因となってしまう。先行データ３０を送信した際に、通信相手装置のＭＡＣアドレステーブルに装置１の制御部１２の実アドレスが登録されていない場合には、フラッディングが生じる。しかし、先行データ３０の送信後に、送信元を実アドレスとする監視データ１１若しくは通常の通信データが装置１から送信され、それらを受信した通信相手装置は、受信したフレームの送信元である制御部１２の実アドレスをＭＡＣアドレステーブルに登録する。よって、フラッディングにより通信経路をループしている先行データ３０は、いずれ装置１に返ってくる。従って、フラッディングによるネットワークダウンを回避できる。
【００６３】
先行データ送信部１２０は、先行データ３０を送信後、レジスタ１２２に先行データ３０を送信済みであることを示す情報を格納する。レジスタ１２２は、例えば、１ビットのフラグにより先行データ３０が送信済みか否かの情報を記憶する。
【００６４】
監視データ送信部１２１は、監視データ１１を送信する前にレジスタ１２２の内容を確認する。監視データ送信部１２１は、レジスタ１２２の内容が先行データ３０を送信済みであることを示している場合に、監視データ１１を伝送経路４００に対して送信する。
【００６５】
第２のタイマカウンタ１２４は、先行データ送信部１２０が先行データ３０を送信する周期（以下、先行データ送信周期と呼ぶ）をカウントするタイマである。第２のタイマカウンタ１２４は、ＭＡＣアドレステーブルのエージングに対応するためのものである。スイッチ等の通信相手装置が有するＭＡＣアドレステーブルに登録されているＭＡＣアドレスは、当該ＭＡＣアドレスに対する通信が一定時間なければテーブルから削除される仕様となっている場合がある。これがエージングである。ＭＡＣアドレステーブルのエントリが膨大になり、検索時間が不必要に延びることを回避するための機能である。仮に、先行データ送信部１２０が一度しか先行データ３０を送信しないとすると、通信相手装置のＭＡＣアドレステーブルのエージングにより、登録された制御部１２の仮想アドレスが削除されることが起こりえる。通信相手装置のＭＡＣアドレステーブルから通信部１０の仮想アドレスが削除されると、以降に受信した監視データ１１を装置１に対して送り返すことができないことが起こりえる。従って、先行データ送信部１２０は、登録された仮想アドレスがエージングされないように、先行データ３０を定期的に送信することが望ましい。つまり、第２のタイマカウンタ１２４は、エージングの周期より短い周期を先行データ送信周期として保持することが望ましい。第２のタイマカウンタ１２４は、先行データ送信周期をカウントし、先行データ送信部１２０に対し、先行データ３０を送信するタイミングを通知する。なお、第２のタイマカウンタ１２４が先行データ送信周期をカウントする方式は、第１のタイマカウンタ１２３と同様でよい。なお、障害等の何らかの原因により、先行データ送信部１２０が先行データ送信周期内に先行データ３０を送信できない場合、レジスタ１２２の内容が先行データ３０を未送信であることを示す内容に更新されることが好ましい。
【００６６】
リプライ検出部１２７は、監視データ１１が通信相手装置から返ってきたか否かを確認する。リプライ検出部１２７は、異常判断基準時間内に監視データ１１が返ってきたか否かによりリンク異常の有無を判断する。リプライ検出部１２７は、リンク異常を検出した場合、スイッチ機能部１３に対して通信を実行する経路を迂回経路に切り替えるように指示する。なお、装置１にスイッチ機能部１３が存在しない場合、リプライ検出部１２７は、この通知は行わない。リプライ検出部１２７は、リンク異常を検出した場合、ＯＳ、ミドルウェア、アプリケーション等に対してリンク異常を検出したことを通知する。
【００６７】
リプライ検出部１２７がリンク異常を検出した後、先行データ送信部１２０及び監視データ送信部１２１は、先行データ３０及び監視データ１１の送信を継続してもよい。この場合において、監視データ１１の返信が一定の回数（以下、リンク異常復旧基準と呼ぶ）確認された場合、リプライ検出部１２７は、リンク異常が復旧したと判断する。リンク異常復旧基準は、任意の数を設定することが可能である。リプライ制御部１２７は、リンク異常検出後も先行データ３０及び監視データ１１の送信を継続する場合、復旧監視中フラグ格納部１２８に格納されている復旧監視中フラグをＯＮにする。復旧監視中フラグ格納部１２８の復旧監視中フラグがＯＮの間、リプライ検出部１２７は、監視データ１１の返信確認を実施し、監視データ１１の返信回数がリンク異常復旧基準に到達したか否かを確認する。リプライ検出部１２７は、監視データ１１の返信がリンク異常復旧基準に到達した場合、スイッチ機能部１３に対して通信を実行する経路を、迂回経路からリンク異常検出前の経路に変更するように指示する。なお、装置１にスイッチ機能部１３が存在しない場合、リプライ検出部１２７は、この通知は行わない。リプライ検出部１２７は、監視データ１１の返信がリンク異常復旧基準に到達した場合、復旧監視中フラグ格納部１２８に格納されている復旧監視中フラグをＯＦＦにする。なお、復旧監視中フラグ格納部１２８に格納されている復旧監視中フラグの初期値は、ＯＦＦとなっている。
【００６８】
次に、図６及び図７を参照し、通信相手装置のＭＡＣアドレステーブルに仮想アドレスを登録させる動作について説明する。
【００６９】
図６の（ａ）は、本発明の装置１と通信相手装置であるスイッチ２が接続されており、スイッチ２のＭＡＣアドレステーブルには装置１の通信部１０の仮想アドレス及び物理アドレスが登録されていない状態を示す。スイッチ２の２番〜４番ポートには、他の通信相手装置と接続されており、それらの装置のＭＡＣアドレス（Ｘ，Ｙ，Ｚ）がＭＡＣアドレステーブルに登録されている。
【００７０】
この状態において、装置１の制御部１２から先行データ３０が送信される。この状態を、図６の（ｂ）に示す。先行データ３０の送信元アドレスには、通信部１０の仮想アドレス（Ａ）が格納されている。スイッチ２は、１番ポートからこの先行データ３０を受信する。スイッチ２のスイッチ機能部２１は、ＭＡＣアドレステーブルに、受信した先行データ３０の送信元アドレスの仮想アドレス（Ａ）と、先行データ３０を受信したポートの番号（１番）とが関連付けられた新たなエントリを作成する。
【００７１】
次に、装置１の制御部１２は、監視データ１１を送信する。図７の（ｃ）に、この状態を示す。監視データ１１の送信元アドレスには、通信部１０の実アドレス（Ｂ）が格納されている。スイッチ２は、１番ポートからこの監視データ１１を受信する。スイッチ２のスイッチ機能部２１は、ＭＡＣアドレステーブルに、受信した監視データ１１の送信元アドレスの実アドレス（Ｂ）と、監視データ１１を受信したポートの番号（１番）とが関連付けられた新たなエントリを作成する。
【００７２】
このようにして、スイッチ２のＭＡＣアドレステーブルに、装置１の通信部１０の実アドレスと仮想アドレスが登録される。
【００７３】
次に、図８のシーケンス図及び図９のフローチャートを参照し、装置１の動作を説明する。
【００７４】
まず、図８のシーケンス図を参照して説明する。
【００７５】
装置１のいずれかの通信部１０は、外部から送信されたフレームを受信する。受信されたフレームは、装置１のスイッチ機能部１３でフォワーディングされ、通信部１０−１からスイッチ２のポート２０へ送信される。スイッチ２のポート２０で受信されたフレームは、スイッチ機能部２１によりフォワーディングされ、スイッチ２の他のポートから他の通信機器へ送信される。
【００７６】
装置１の制御部１２−１は、監視データ１１を送信する。この監視データ１１を受信したスイッチ２のスイッチ機能部２１は、監視データ１１の宛先アドレスを確認する。監視データ１１の宛先アドレスには通信部１０−１の仮想アドレスが格納されているので、スイッチ機能部２１は、ポート２０から監視データ１１を装置１の制御部１２−１へ送り返す。
【００７７】
制御部１２−１は、監視データ１１が異常判断基準時間内に返ってきた場合には何もしない。制御部１２−１は、監視データ１１が異常判断基準時間内に返ってこなかった場合には、リンク異常が発生したと判断する。また、制御部１２−１は、スイッチ機能部１３に対して通信経路の切り替えを指示する。指示を受けたスイッチ機能部１３は、通信経路に切り替えを実行する。これにより、装置１が受信したフレームは、通信部１０−ｎから迂回経路５００を経由して、他の通信機器へ送信される。
【００７８】
一方、制御部１２−１は、リンク異常を検出後も監視データ１１をスイッチ２に対して送信し続け、スイッチ２の復旧監視を行う。制御部１２−１は、監視データ１１がスイッチ２から返ってきた回数がリンク異常復旧基準に達した場合、リンク異常が復旧したと判断する。リンク異常が復旧した場合、制御部１２−１は、スイッチ機能部１３に対して通信経路をリンク異常検出前の状態に戻すように指示する。指示を受けたスイッチ機能部１３は、通信経路をリンク異常検出前の状態に戻す。
【００７９】
次に、図９のフローチャートを参照して、装置１の動作を詳細に説明する。
【００８０】
制御部１２の監視データ送信部１２１は、レジスタ１２２の内容を確認する（Ｓ１）。
【００８１】
制御部１２の監視データ送信部１２１は、レジスタ１２２の内容が先行データ３０の未送信を示している場合、レジスタ１２２の内容が先行データ３０の送信済みを示す内容に更新されるまで待機する（Ｓ２でＮｏ）。監視データ送信部１２１は、一定の時間間隔でレジスタ１２２の内容を確認すればよい。この間に、先行データ送信部１２０は、先行データ３０を送信する。
【００８２】
制御部１２の監視データ送信部１２１は、レジスタ１２２の内容が先行データ３０の送信済みを示している場合（Ｓ２でＹｅｓ）、監視データ１１を送信する（Ｓ３）。
【００８３】
制御部１２のリプライ検出部１２７は、復旧監視中フラグ格納部１２８の内容を確認する（Ｓ４）。
【００８４】
復旧監視中フラグ格納部１２８に格納されている復旧監視中フラグがＯＦＦである場合（Ｓ４でＮｏ）、制御部１２のリプライ検出部１２７は、異常判断基準時間内に監視データ１１が返ってきたか否かを監視する（Ｓ５）。リプライ検出部１２７は、異常判断基準時間内に監視データ１１が返ってきた場合、リンクは正常であると判断する（Ｓ５でＹｅｓ）。リプライ検出部１２７は、異常判断基準時間内に監視データ１１が返ってこない場合、リンク異常と判断する（Ｓ５でＮｏ）。装置１にスイッチ機能部１３が備わっている場合、リプライ検出部１２７はスイッチ機能部１３に対して通信経路を迂回経路に切り替えるように指示する（Ｓ７）。
【００８５】
監視データ送信部１２１は、第１のタイマカウンタ１２３から監視データ送信周期となった旨の通知を受けた場合（Ｓ６でＹｅｓ）、監視データ１１を送信する。監視データ送信部１２１は、第１のタイマカウンタ１２３から通知が来ない間（Ｓ６でＮｏ）、当該通知を受けるまで待機する。
【００８６】
復旧監視中フラグ格納部１２８に格納されている復旧監視中フラグがＯＮの場合（Ｓ４でＹｅｓ）、リプライ検出部１２７は、監視データ１１の返信回数が、リンク異常復旧基準に達したか否かを監視する（Ｓ８）。
【００８７】
監視データ１１の返信がリンク異常復旧基準に達した場合（Ｓ８でＹｅｓ）、リプライ検出部１２７は、スイッチ機能部１３に対して通信経路をリンク異常検出前の経路に戻すように指示する（Ｓ９）。なお、装置１にスイッチ機能部１３が備わっていない場合、リプライ検出部１２７は、この処理を実行しない。
【００８８】
監視データ１１の返信がリンク異常復旧基準に達した場合（Ｓ８でＹｅｓ）、リプライ検出部１２７は、復旧監視中フラグ格納部１２８に格納されている復旧監視中フラグをＯＦＦにする（Ｓ１０）。
【００８９】
制御部１２は、装置１の稼動中に上記の動作を繰り返す。
【実施例２】
【００９０】
次に、図１０を参照して、本発明の他の実施例を説明する。
【００９１】
本実施例における装置１の制御部１２は、任意のタイミングで監視データ１１を送信できることを特徴とする。
【００９２】
これにより、ネットワークシステムの増設やケーブルの敷設など、工事後の状態確認にも制御部１２の機能を応用できるという優れた効果を奏する。
【００９３】
図１０を参照すると、本実施例の装置１の制御部１２は、入出力装置１４からの入力を受付けるように構成されている。入出力装置１４は、例えば、キーボード等である。また、入出力装置１４は、コンソール等の表示装置も含む。制御部１２は、例えば、装置１のオペレーティングシステム１５を介して入出力装置１４からの入力を受付ける。制御部１２は、監視データ１１の送信を指示するコマンド（以下、監視データ送信コマンドと呼ぶ）を受付けるように構成されている。例えば、装置１のユーザは、入出力装置１４の一例であるキーボードにより監視データ送信コマンドを入力する。また、例えば、装置１のユーザは、入出力装置１４の一例であるボタンを押下することにより監視データ送信コマンドを入力する。入出力装置１４からオペレーティングシステム１５を介して監視データ送信コマンドが入力されると、制御部１２の監視データ送信部１２１は、監視データ１１を伝送経路４００に送信する。但し、監視データ送信コマンドが入力された時点で先行データ３０が送信されていない場合、制御部１２の監視データ送信部１２１は、先行データ３０が送信されるのを待ってから監視データ１１を送信する。
【００９４】
監視データ送信コマンドを受付けると、制御部１２のリプライ検出部１２７は、異常判断基準時間内に監視データ１１が返ってきたか否かを監視する。リプライ検出部１２７は、入出力装置１４に対して、監視の結果を表示する。制御部１２は、例えば、入出力装置１４の一例であるコンソールに対して、テキストにより監視の結果を表示する。また、制御部１２は、例えば、入出力装置１４の一例であるＬＥＤランプにより、監視の結果を表示する。この場合、例えば、リンク異常時にはＬＥＤランプの色が変化するようにすればよい。
【実施例３】
【００９５】
次に、図１１及び図１２を参照して、本発明の他の実施例を説明する。
【００９６】
本実施例の装置１は、１つの装置１に対して１つの制御部１２を備えることを特徴とする。
【００９７】
これにより、通信部１０毎に制御部１２を備える必要がないので、制御部１２に対応するハードウェア資源の設置領域を節約することができる。
【００９８】
図１１に示すように、本実施例の装置１における制御部１２は、各通信部１０−１〜１０−ｎのそれぞれの仮想アドレスを登録した仮想アドレステーブル１２９と、各通信部１０−１〜１０−ｎのそれぞれの実アドレスを登録した実アドレステーブル１３０を含む。
【００９９】
図１２に、本実施例における制御部１２の機能ブロック図の一例を示す。
【０１００】
仮想アドレステーブル１２９と実アドレステーブル１３０は、先行データ送信部１２０、監視データ送信部１２１及びリプライ検出部１２７のそれぞれに接続されている。その他の構成は、図５と同様であるので、省略する。
【０１０１】
先行データ送信部１２０は、先行データ３０を送信する通信部１０（１０−１〜１０−ｎのいずれかの通信部）に対応する仮想アドレスと実アドレスを、仮想アドレステーブル１２９と実アドレステーブル１３０から抽出する。先行データ送信部１２０は、抽出した仮想アドレスと実アドレスから先行データ３０を生成し、対応する通信部１０（１０−１〜１０−ｎのいずれか）を介して、伝送経路４００へ先行データ３０を送信する。
【０１０２】
第２のタイマカウンタ１２４は、通信部１０毎に、先行データ送信周期をカウントするように構成されている。つまり、第２のタイマカウンタ１２４は、通信部１０の数の分だけタイマカウンタを備える。第２のタイマカウンタ１２４は、それぞれの通信部１０の先行データ送信周期が同じタイミングとならないように設定されることが望ましい。第２のタイマカウンタ１２４は、それぞれの通信部１０に対応する先行データ送信周期がくる度に、先行データ送信部１２０へ通知する。先行データ送信部１２０は、当該通知を受けた場合、対応する通信部１０についての先行データ３０を生成し、対応する通信部１０（通信部１０−１〜１０−ｎのいずれか）を介して先行データ３０を送信する。
【０１０３】
レジスタ１２２は、通信部１０毎に、先行データ３０が送信されたか否かを示す情報を格納する。つまり、レジスタ１２２は、通信部１０の数の分だけエントリを有する。先行データ送信部１２０は、先行データ３０の送信対象となった通信部１０（１０−１〜１０−ｎのいずれかの通信部）に対応するエントリに、先行データ３０を送信済みであることを示す情報を格納する。
【０１０４】
監視データ送信部１２１は、監視データ１１を送信する通信部１０（１０−１〜１０−ｎのいずれかの通信部）に対応する仮想アドレスと実アドレスを、仮想アドレステーブル１２９と実アドレステーブル１３０から抽出する。監視データ送信部１２１は、抽出した仮想アドレスと実アドレスから監視データ１１を生成し、対応する通信部１０（１０−１〜１０−ｎのいずれか）を介して、伝送経路４００へ監視データ１１を送信する。
【０１０５】
監視データ送信部１２１は、監視データ１１の送信対象となる通信部１０（１０−１〜１０−ｎのいずれかの通信部）に対応するレジスタ１２２のエントリの内容を確認する。当該エントリの内容が先行データ３０を送信済みであることを示している場合、監視データ送信部１２１は、監視データ１１を送信する。
【０１０６】
第１のタイマカウンタ１２３は、通信部１０毎に、監視データ送信周期をカウントするように構成されている。つまり、第１のタイマカウンタ１２３は、通信部１０の数の分だけタイマカウンタを備える。第１のタイマカウンタ１２３は、それぞれの通信部１０の監視データ送信周期が同じタイミングとならないように設定されることが望ましい。第１のタイマカウンタ１２３は、それぞれの通信部１０に対応する監視データ送信周期がくる度に、監視データ送信部１２１へ通知する。監視データ送信部１２１は、当該通知を受けた場合、対応する通信部１０についての監視データ１１を生成し、対応する通信部１０（通信部１０−１〜１０−ｎのいずれか）を介して監視データ１１を送信する。
【０１０７】
リプライ検出部１２７は、返ってきた監視データ１１の宛先領域１１０に含まれる仮想アドレスと送信元領域１１１に含まれる実アドレスとを確認し、仮想アドレステーブル１２９と実アドレステーブル１３０とを参照し、いずれの通信部１０から送信された監視データ１１なのかを確認する。これにより、リプライ検出部１２７は、通信部１０毎にリンク異常を監視できる。なお、リプライ検出部１２７は、返ってきた監視データ１１に含まれる仮想アドレス若しくは実アドレスのいずれかのみを用いて、監視データ１１が送信された通信部１０の確認を実行してもよい。
【０１０８】
復旧監視中フラグ格納部１２８は、通信部１０毎に、リンク異常が検出され、リンクの復旧を監視中であることを示す復旧監視中フラグを有する。これにより、リプライ検出部１２７は、通信部１０毎の復旧監視が可能となる。
【実施例４】
【０１０９】
次に、図１３及び図１４を参照して、本発明の他の実施例を説明する。
【０１１０】
本実施例の装置１は、１つの装置１に対して１つの制御部１２を備え、当該制御部１２が各通信部１０に対応する仮想アドレスを記憶する仮想アドレステーブル１２９と、装置１自身に対応する実アドレスを格納する実アドレス記憶部１２５を含むことを特徴とする。
【０１１１】
これにより、通信部１０毎に実アドレスを記憶する必要がないので、実アドレスの記憶容量を節約することができる。
【０１１２】
図１３に示すように、本実施例の装置１における制御部１２は、各通信部１０−１〜１０−ｎのそれぞれの仮想アドレスを登録した仮想アドレステーブル１２９と、装置１自身に対応する実アドレスを格納する実アドレス記憶部１２５を含む。なお、本実施例における装置１は、例えばスイッチやルータ等のデータの転送を主たる機能とする機器であるものとする。スイッチやルータ等の装置は、ホストのＮＩＣ（ネットワークインターフェースカード）等のように自ら能動的にＭＡＣフレーム等のデータによる通信を実行する必要はない。よって、通信実行時に使用する実アドレスを通信部１０毎に有する必要がない。
【０１１３】
図１４に、本実施例における制御部１２の機能ブロック図の一例を示す。
【０１１４】
仮想アドレステーブル１２９は、先行データ送信部１２０、監視データ送信部１２１及びリプライ検出部１２７のそれぞれに接続されている。その他の構成は、図５と同様であるので、省略する。
【０１１５】
先行データ送信部１２０は、先行データ３０を送信する通信部１０（１０−１〜１０−ｎのいずれかの通信部）に対応する仮想アドレスを、仮想アドレステーブル１２９から抽出する。先行データ送信部１２０は、抽出した仮想アドレスと実アドレス記憶部１２５に格納された実アドレスから先行データ３０を生成し、対応する通信部１０（１０−１〜１０−ｎのいずれか）を介して、伝送経路４００へ先行データ３０を送信する。
【０１１６】
第２のタイマカウンタ１２４は、通信部１０毎に、先行データ送信周期をカウントするように構成されている。つまり、第２のタイマカウンタ１２４は、通信部１０の数の分だけタイマカウンタを備える。第２のタイマカウンタ１２４は、それぞれの通信部１０の先行データ送信周期が同じタイミングとならないように設定されることが望ましい。第２のタイマカウンタ１２４は、それぞれの通信部１０に対応する先行データ送信周期がくる度に、先行データ送信部１２０へ通知する。先行データ送信部１２０は、当該通知を受けた場合、対応する通信部１０についての先行データ３０を生成し、対応する通信部１０（通信部１０−１〜１０−ｎのいずれか）を介して先行データ３０を送信する。
【０１１７】
レジスタ１２２は、通信部１０毎に、先行データ３０が送信されたか否かを示す情報を格納する。つまり、レジスタ１２２は、通信部１０の数の分だけエントリを有する。先行データ送信部１２０は、先行データ３０の送信対象となった通信部１０（１０−１〜１０−ｎのいずれかの通信部）に対応するエントリに、先行データ３０を送信済みであることを示す情報を格納する。
【０１１８】
監視データ送信部１２１は、監視データ１１を送信する通信部１０（１０−１〜１０−ｎのいずれかの通信部）に対応する仮想アドレスを、仮想アドレステーブル１２９から抽出する。監視データ送信部１２１は、抽出した仮想アドレスと実アドレス記憶部１２５に格納された実アドレスから監視データ１１を生成し、対応する通信部１０（１０−１〜１０−ｎのいずれか）を介して、伝送経路４００へ監視データ１１を送信する。
【０１１９】
監視データ送信部１２１は、監視データ１１の送信対象となる通信部１０（１０−１〜１０−ｎのいずれかの通信部）に対応するレジスタ１２２のエントリの内容を確認する。当該エントリの内容が先行データ３０を送信済みであることを示している場合、監視データ送信部１２１は、監視データ１１を送信する。
【０１２０】
第１のタイマカウンタ１２３は、通信部１０毎に、監視データ送信周期をカウントするように構成されている。つまり、第１のタイマカウンタ１２３は、通信部１０の数の分だけタイマカウンタを備える。第１のタイマカウンタ１２３は、それぞれの通信部１０の監視データ送信周期が同じタイミングとならないように設定されることが望ましい。第１のタイマカウンタ１２３は、それぞれの通信部１０に対応する監視データ送信周期がくる度に、監視データ送信部１２１へ通知する。監視データ送信部１２１は、当該通知を受けた場合、対応する通信部１０についての監視データ１１を生成し、対応する通信部１０（通信部１０−１〜１０−ｎのいずれか）を介して監視データ１１を送信する。
【０１２１】
リプライ検出部１２７は、返ってきた監視データ１１の宛先領域１１０に含まれる仮想アドレスを確認し、仮想アドレステーブル１２９を参照し、いずれの通信部１０から送信された監視データ１１なのかを確認する。これにより、リプライ検出部１２７は、通信部１０毎にリンク異常を監視できる。
【０１２２】
復旧監視中フラグ格納部１２８は、通信部１０毎に、リンク異常が検出され、リンクの復旧を監視中であることを示す復旧監視中フラグを有する。これにより、リプライ検出部１２７は、通信部１０毎の復旧監視が可能となる。
【実施例５】
【０１２３】
次に、図１５を参照して、本発明の他の実施例を説明する。
【０１２４】
本実施例においては、通信ポートモジュールやＮＩＣ（ネットワークインターフェースカード）のような通信インターフェースに制御部１２が備えられていることを特徴とする。
【０１２５】
これにより、上述した実施例の装置１自体を増設しなくとも、通信ポートモジュールやＮＩＣ等の通信インターフェース単位で増設をすれば、本発明により実現される機能を享受できるという効果を奏する。
【０１２６】
装置６００は、サーバ、ホスト、スイッチ、ルータ等の、通信を実行する装置である。
【０１２７】
装置６００は、通信ポートモジュール６０１（６０１−１〜６０１−ｎのいずれかの通信ポートモジュール６０１）を挿入するためにスロット１００−１〜１００−ｎを備える。通信ポートモジュール６０１は、スイッチやルータのポート増設用の通信インタフェースモジュール等である。また、通信ポートモジュール６０１は、サーバやホストのＮＩＣ等である。なお、通信ポートモジュール６０１はこれらに限定されるものではなく、通信を実行する装置に増設可能な通信インターフェースであればよい。
【０１２８】
各通信ポートモジュール６０１は、それぞれ制御部１２を備えている。
【実施例６】
【０１２９】
次に、本発明の他の実施例について、図１６、図１７を参照して説明する。
【０１３０】
本実施例において、装置１は、図１６に示すように、監視データ１１の宛先領域１１０に実アドレスを格納し、送信元領域１１１にダミーアドレスを格納することを特徴とする。
【０１３１】
ここで、ダミーアドレスとは、例えばＭＡＣアドレスであり、実アドレスとは異なるアドレスである。但し、ダミーアドレスは、通信部１０とネットワークを介して接続する通信相手装置が有するアドレスと異なる絶対的なアドレスであればよく、装置１の通信部１０を示すアドレスとして用いられる必要はない。この点が、他の実施例において用いる仮想アドレスと異なっている。
【０１３２】
例えばＯＳＩ参照モデルのデータリンク層の仕様で定められているＭＡＣフレームの送信元のアドレスフィールドには、他に同一のものが存在しない絶対的なＭＡＣアドレス（物理アドレス）を格納する必要がある。よって、本実施例におけるダミーアドレスも、装置１の他の全ての通信相手装置が有するアドレスと異なる絶対的なアドレスであることが必要となる。なお、実アドレスは、装置１が通信相手装置と通信を行う際に、装置１の通信部１０を示すアドレス（物理アドレス）として使用されるが、ダミーアドレスは、監視データ１１にのみ使用され、その他の際には使用されないアドレスである。
【０１３３】
本実施例の監視データ１１の宛先領域１１０には、装置１の通信部１０と１対１に対応する実アドレス（物理アドレス）が格納されている。よって、他の実施例と同様に、本実施例における監視データ１１は、装置１から送信されて、再び装置１に返ってくる。また、本実施例の監視データ１１の送信元領域１１１に格納されるダミーアドレスは、実アドレスと異なるものなので、監視データ１１が通信相手装置上で破棄されることもない。
【０１３４】
図１７を参照し、本実施例における制御部１２について説明する。
【０１３５】
本実施例の制御部１２は、ダミーアドレス記憶部１３１を含む。その他の要素は、他の実施例において説明したものと同様である。
【０１３６】
ダミーアドレス記憶部１３１は、ダミーアドレスを格納する。
【０１３７】
監視データ送信部１２１は、実アドレス記憶部１２５に格納された実アドレスと、ダミーアドレス記憶部１３１に格納されたダミーアドレスから監視データ１１を生成する。監視データ送信部１２１は、宛先領域１１０に実アドレスを格納し、送信元領域１１１にダミーアドレスを格納して監視データ１１を生成する。
【０１３８】
なお、本実施例の制御部１２は、先行データ送信部１２０、レジスタ１２２及び第２のタイマカウンタを含まなくても良い。装置１は、例えば通常のＭＡＣフレームにより通信相手装置と通信を実行する場合、実アドレスを送信元のアドレスとして通信を行う。よって、通信相手装置は、ＭＡＣアドレステーブルに装置１の実アドレスを学習する。本実施例の監視データ１１は、宛先領域１１０に実アドレスを格納している。通信相手装置のＭＡＣアドレステーブルには装置１の実アドレスが学習されているので、装置１から送信された監視データ１１は、通信相手装置上でフォワーディングされて送信元の装置１に返ってくる。
【０１３９】
以上、本発明についていくつかの実施例を参照して説明したが、本発明はこれらの実施例に限定されるものではない。
【図面の簡単な説明】
【０１４０】
【図１】本発明の実施例１を説明するためのブロック図である。
【図２】本発明の実施例１における監視データの構成を説明するための図である。
【図３】本発明の実施例１を説明するためのブロック図である。
【図４】本発明の実施例１を説明するための図である。
【図５】本発明の実施例１を説明するためのブロック図である。
【図６】本発明の実施例１を説明するための図である。
【図７】本発明の実施例１を説明するための図である。
【図８】本発明の実施例１を説明するためのシーケンス図である。
【図９】本発明の実施例１を説明するためのフローチャートである。
【図１０】本発明の実施例２を説明するためのブロック図である。
【図１１】本発明の実施例３を説明するためのブロック図である。
【図１２】本発明の実施例３を説明するためのブロック図である。
【図１３】本発明の実施例４を説明するためのブロック図である。
【図１４】本発明の実施例４を説明するためのブロック図である。
【図１５】本発明の実施例５を説明するためのブロック図である。
【図１６】本発明の実施例６を説明するためのブロック図である。
【図１７】本発明の実施例６を説明するためのブロック図である。
【図１８】関連技術を説明するための図である。
【図１９】関連技術を説明するための図である。
【符号の説明】
【０１４１】
１  装置
２  スイッチ
２０  ポート
２１  スイッチ機能部
１０  通信部
１１  監視データ
１１０  宛先領域
１１１  送信元領域
１１２  付加データ領域
１２  制御部
１２０  先行データ送信部
１２１  監視データ送信部
１２２  レジスタ
１２３  第１のタイマカウンタ
１２４  第２のタイマカウンタ
１２５  実アドレス記憶部
１２６  仮想アドレス記憶部
１２７  リプライ検出部
１２８  復旧監視中フラグ格納部
１２９  仮想アドレステーブル
１３０  実アドレステーブル
１３１  ダミーアドレス記憶部
１３  スイッチ機能部
１４  入出力装置
１５  オペレーティングシステム
３０  先行データ
３００  宛先領域
３０１  送信元領域
３０２  付加データ領域
４００  伝送経路
５００  迂回経路
【図１】
2009010668.tif 000003
【図２】
2009010668.tif 000004
【図３】
2009010668.tif 000005
【図４】
2009010668.tif 000006
【図５】
2009010668.tif 000007
【図６】
2009010668.tif 000008
【図７】
2009010668.tif 000009
【図８】
2009010668.tif 000010
【図９】
2009010668.tif 000011
【図１０】
2009010668.tif 000012
【図１１】
2009010668.tif 000013
【図１２】
2009010668.tif 000014
【図１３】
2009010668.tif 000015
【図１４】
2009010668.tif 000016
【図１５】
2009010668.tif 000017
【図１６】
2009010668.tif 000018
【図１７】
2009010668.tif 000019
【図１８】
2009010668.tif 000020
【図１９】
2009010668.tif 000021