(57)【要約】【課題】通信経路での障害の誤検出を防ぐ。【解決手段】通信装置は、記憶部、送信部、判定部を備える。記憶部は、監視フレームを示す識別子である第１の識別子と監視フレームを示す識別子であり第１の識別子とは異なる第２の識別子を記憶する。送信部は、第１の識別子を含む第１の監視フレームを送信し、第１の監視フレームを送信してから所定期間中に第１の監視フレームに対する応答を受信していない場合、第２の識別子を含む第２の監視フレームを送信する。判定部は、第２の監視フレームを送信してから所定期間中に第２の監視フレームに対する応答を受信すると障害がないと判定する。【選択図】図２
2018093351.tif 000002
【特許請求の範囲】
【請求項１】
監視フレームを示す識別子である第１の識別子と監視フレームを示す識別子であり前記第１の識別子とは異なる第２の識別子を記憶する記憶部と、
前記第１の識別子を含む第１の監視フレームを送信し、前記第１の監視フレームを送信してから所定期間中に前記第１の監視フレームに対する応答を受信していない場合、前記第２の識別子を含む第２の監視フレームを送信する送信部と、
前記第２の監視フレームを送信してから所定期間中に前記第２の監視フレームに対する応答を受信すると障害がないと判定する判定部と、
を有することを特徴とする通信装置。
【請求項２】
前記通信装置を制御する制御装置から、前記第１の識別子と前記第２の識別子を取得するとともに、前記第１の識別子を前記通信装置が送信する監視フレームに優先的に付加することを要求する情報を受信する受信部を備え、
前記送信部は、前記第１の監視フレームに対する応答を前記第１の監視フレームの送信から前記所定期間中に受信しない場合、前記第１の識別子の代わりに前記第２の識別子を用いた前記第２の監視フレームを送信する
ことを特徴とする請求項１に記載の通信装置。
【請求項３】
前記第１の監視フレームに対する応答を前記第１の監視フレームの送信から前記所定期間中に受信せず、かつ、前記第２の監視フレームに対する応答を前記第２の監視フレームの送信から前記所定期間中に受信すると、前記第２の監視フレームの送信先に送信する監視フレームに使用する識別子を、前記第１の識別子から前記第２の識別子に変更することを決定する決定部
ことを特徴とする請求項２に記載の通信装置。
【請求項４】
前記受信部は、前記制御装置から前記送信先宛ての制御情報を含む第１の制御フレームを受信し、
前記送信部は、前記送信先に送信する監視フレームに使用する識別子を前記第２の識別子に変更している場合、前記第１の制御フレーム中のデータと前記第２の識別子を含む第２の制御フレームを前記送信先に送信する
ことを特徴とする請求項３に記載の通信装置。
【請求項５】
監視フレームを示す識別子である第１の識別子と監視フレームを示す識別子であり前記第１の識別子とは異なる第２の識別子を記憶する記憶部を備える通信装置が、
前記第１の識別子を含む第１の監視フレームを送信し、
前記第１の監視フレームを送信してから所定期間中に前記第１の監視フレームに対する応答を受信していない場合、前記第２の識別子を含む第２の監視フレームを送信し、
前記第２の監視フレームを送信してから所定期間中に前記第２の監視フレームに対する応答を受信すると障害がないと判定する
ことを特徴とする通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置と通信方法に関する。
【背景技術】
【０００２】
近年、インターネットやモバイルネットワークの普及により、ネットワークトラフィックが急速に増大している。送受信されるデータ量が増大してきていることから、ひとたび障害が発生すると、障害の影響も大きくなるおそれがある。そこで、障害発生時には障害の影響を最小限に留めるために、障害箇所を迅速に特定するとともに、迅速に復旧することが求められる。このため、ネットワークに含まれる装置の状態をリアルタイムに監視し、適宜、制御するための監視制御システムが用いられる。
【０００３】
図１は、監視制御システムの例を説明する図である。図１のケースＣ１とケースＣ２のいずれも、制御システム２が監視制御網４を介して、装置Ａ〜装置Ｄの通信をリアルタイムに監視し、適宜、装置Ａ〜装置Ｄへの制御を行う場合の監視制御システムの例を示している。なお、制御システム２には、１つ以上の制御装置が含まれている。ケースＣ１とＣ２のいずれでも、制御システム２は、装置Ａおよび装置Ｄとの間では、監視制御網４中の回線を介して、直接、フレームを送受信する。装置Ａ〜装置Ｄは、自装置以外の装置宛のフレームを受信すると、受信したフレームを宛先に向けて転送する。従って、死活監視フレームやその他の制御情報を含む制御フレームは、白抜きの太い矢印で表わす経路で送受信される。一方、ユーザデータ等の主信号を含むフレームは、黒い矢印で示すように、監視対象の装置を介して送受信される。ここで、装置Ａ〜装置Ｄの間では、ユーザデータを含むフレームと制御情報を含むフレームの両方が送受信される。このため、装置Ａ〜装置Ｄの間の通信では、フレームの転送元の装置は、フレームがユーザデータと制御情報のいずれを含むかを示す識別子を付した上で転送処理を行う。
【０００４】
例えば、制御システム２が装置Ｂ宛に制御フレームを送信する場合の転送経路として、矢印Ａ１に示すように、制御システム２から装置Ａを経て装置Ｂに至る経路が得られているとする。装置Ａと装置Ｂの通信に障害が発生していない場合、装置Ａは、受信した制御フレームに、制御フレームであることを示す識別子を付した上で、装置Ｂに転送する。しかし、ケースＣ１では、装置Ａが装置Ｂとの間で死活監視を行ったときに、装置Ｂは装置Ａから送信された死活監視フレームの受信に失敗したとする。すると、装置Ａは装置Ｂから死活監視フレームに対する応答フレームを受信しないため、装置Ｂに至る経路で障害が発生したと判定し、制御システム２に障害の発生を通知する。
【０００５】
制御システム２中の装置は、装置Ａからの通知を受信すると、装置Ｂとの間での矢印Ａ１に示す経路に障害が発生していると判定する。そこで、装置Ｂと通信するための矢印Ａ１以外の経路を検索する。制御システム２は、経路検索によって得られた経路を確立すると共に、経路の切り替え処理を行う。
【０００６】
ケースＣ２の矢印Ａ２は、検索によって得られた経路の例である。矢印Ａ２に示す経路が得られると、制御システム２は、装置Ｂとの通信経路を、矢印Ａ１に示す経路から矢印Ａ２に示す経路に切り替える。このため、経路の切り替え後では、制御システム２は、装置Ｄと装置Ｃを介して、装置Ｂにフレームを送信することができる。
【０００７】
関連する技術として、端末装置と監視センターとの間に通信に先立って設定した論理チャネルが維持されているかを判定することで、通信回線が正常であるかを連続的に監視するシステムが提案されている（例えば、特許文献１など）。監視パケットと監視パケットの応答を転送するスイッチが、転送した監視パケットに対する応答パケットを所定期間内に受信しない場合に、障害の発生を通知する方法も提案されている（例えば、特許文献２など）。上位局監視装置と端末監視装置が、それぞれの被監視機器に対して送信した応答要求パケットに対する応答の有無を監視するシステムも提案されている（例えば、特許文献３など）。監視対象のモジュールから親モジュールとヘルスチェックを送信する送信権所有モジュールを選択するシステムも提案されている。このシステムでは、送信権所有モジュールは、ヘルスチェックを親モジュールに送信して応答をチェックすると、他のモジュールにヘルスチェックの送信権を移動する。一方、親モジュールは、ヘルスチェックを設定時間内に受信しない場合、ヘルスチェック送信権を有するモジュールを変更する（例えば、特許文献４など）。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００３−４６５０４号公報
【特許文献２】特開２０１２−２２７６３６号公報
【特許文献３】特開２００８−２１９３５９号公報
【特許文献４】特開平１０−１６４０６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、上記の障害監視では障害を誤検出してしまう場合がある。例えば、監視フレームの識別子を記憶しているメモリ中のビット故障が発生してしまったり、ソフトエラーの発生によって、識別子の情報が、制御装置から通知された値とは異なる値として格納されてしまったりしている場合、監視フレームを受信しても、監視フレームとは認識せず、応答フレームを返送しない。応答フレームを受信しなかった通信装置では障害が発生していると誤検出をしてしまうことになる。
【００１０】
本発明は、１つの側面として、通信経路での障害の誤検出を防ぐことを目的とする。
【課題を解決するための手段】
【００１１】
ある１つの態様にかかる通信装置は、記憶部、送信部、判定部を備える。記憶部は、監視フレームを示す識別子である第１の識別子と監視フレームを示す識別子であり前記第１の識別子とは異なる第２の識別子を記憶する。送信部は、前記第１の識別子を含む第１の監視フレームを送信し、前記第１の監視フレームを送信してから所定期間中に前記第１の監視フレームに対する応答を受信していない場合、前記第２の識別子を含む第２の監視フレームを送信する。判定部は、前記第２の監視フレームを送信してから所定期間中に前記第２の監視フレームに対する応答を受信すると障害がないと判定する。
【発明の効果】
【００１２】
通信経路での障害の誤検出を防ぐことができる。
【図面の簡単な説明】
【００１３】
【図１】監視制御システムの例を説明する図である。
【図２】実施形態にかかる監視制御方法の例を説明する図である。
【図３】通信装置の構成の例を説明する図である。
【図４】通信装置のハードウェア構成の例を説明する図である。
【図５】フレームのフォーマットの例を説明する図である。
【図６】通信装置が保持する情報の例を説明する図である。
【図７】死活監視方法の例を説明する図である。
【図８】死活監視方法の例を説明する図である。
【図９】死活監視方法の例を説明するフローチャートである。
【図１０】制御情報を含むフレームの転送処理の例を説明する図である。
【図１１】通信装置がフレームを受信したときに行う処理の例を説明するフローチャートである。
【図１２】実施形態にかかる監視制御方法と他の監視制御方法の比較例を説明する図である。
【発明を実施するための形態】
【００１４】
図２は、実施形態にかかる監視制御方法の例を説明する図である。図２に示すシステムでは、制御装置１０が監視制御網５を介して、通信装置２０ａ〜２０ｄの通信をリアルタイムに監視し、適宜、通信装置２０ａ〜２０ｄへの制御を行うものとする。制御装置１０は、通信装置２０ａおよび通信装置２０ｄとの間では、監視制御網５中の回線を介して、直接、フレームを送受信する。通信装置２０ａ〜２０ｄは、自装置以外の装置宛のフレームを受信すると、受信したフレームを宛先に向けて転送する。従って、図２の例でも、死活監視フレームなどの制御情報を含む制御フレームは、白抜きの太い矢印で表わす経路で送受信され、ユーザデータ等の主信号を含むフレームは、黒い矢印で示すように、端末装置２０ａ〜２０ｄを介して送受信される。ここで、通信装置２０ａ〜２０ｄの間では、ユーザデータを含むフレームと制御情報を含むフレームの両方が送受信されるので、フレームの転送元の通信装置２０は、フレームがユーザデータと制御情報のいずれを含むかを示す識別子を付した上で転送処理を行う。
【００１５】
制御装置１０は、各通信装置２０に対して、通信装置２０間での制御フレームの送受信を行うときに使用可能な複数の識別子を通知する。このとき、制御装置１０は、制御フレームの送受信の際に優先的に使用する識別子も合わせて通信装置２０に通知しても良い。図２の例では、制御装置１０は、通信装置２０ａ〜２０ｄの各々に対して、制御フレームの送受信に使用可能な識別子としてＩＤ１〜ＩＤ４を通知し、さらに、ＩＤ１を優先的に使用する識別子に指定したとする。
【００１６】
ここで、制御装置１０は、通信装置２０ｂ宛の制御フレームの送信経路として、矢印Ａ１０に示す経路を設定しているとする。一方、通信装置２０ａは、制御フレームであることを示す識別子として優先的に使用するＩＤ１を付した死活監視フレームを、通信装置２０ｂに送信したとする（矢印Ａ１１）。通信装置２０ａは、ＩＤ１を含む死活監視フレームの送信後、ＩＤ１を含む死活監視フレームに対する応答フレームを待ち合わせる。
【００１７】
図２の例では、通信装置２０ａはＩＤ１を含む死活監視フレームを送信してから所定期間内に応答フレームを受信しなかったとする。ここで、通信装置２０ａが死活監視フレームに対する応答を所定期間中に受信しない場合には、通信装置２０ａと通信装置２０ｂの間の経路に障害が発生している場合の他に、通信装置２０ｂがＩＤ１を含むフレームの処理に失敗している場合などがあり得る。例えば、通信装置２０ｂが制御装置１０から通知された情報を保持するメモリにビット故障が含まれている場合、ビット故障が発生している領域に記録された情報は、正しい値として記録されない場合がある。このような場合、例えば、通信装置２０ｂが保持している情報では、制御フレームの識別子はＩＤ２〜ＩＤ４となる可能性もある。
【００１８】
そこで、通信装置２０ａはＩＤ１を含む死活監視フレームを送信してから所定期間内に応答フレームを受信しない場合、制御フレームの識別に使用する識別子を変更して死活監視フレームを再度送信する。矢印Ａ１２では、通信装置２０ａは、制御フレームの識別に使用する識別子をＩＤ２に変更して、死活監視フレームを通信装置２０ｂに送信する。
【００１９】
通信装置２０ｂでは、ＩＤ２を含むフレームを制御フレームとして処理するので、死活監視フレームに対する応答を通信装置２０ａに送信する。
【００２０】
通信装置２０ａは、ＩＤ２を含む死活監視フレームを送信してから所定期間内に応答フレームを受信すると、通信装置２０ａと通信装置２０ｂの間の通信経路に障害は無いと判定する。さらに、通信装置２０ａは、以後に通信装置２０ｂに制御フレームを送信するには、識別子としてＩＤ２を使用するように設定を更新する。
【００２１】
このように、実施形態にかかる通信方法によると、通信装置２０は、１つの識別子を含む死活監視フレームで応答が得られなくても、他の識別子を用いた死活監視フレームを送信する。このため、メモリ中のビット故障などに起因して、通信経路に障害が無いにも関わらず障害が発生していると誤検出することを防止できる。
【００２２】
なお、ソフトエラーの発生によって、通信装置２０が制御装置１０から通知された識別子の情報が、制御装置１０から通知された値とは異なる値として格納されてしまっている場合についても、同様に、障害の誤検出を防止できる。
【００２３】
このように、実施形態にかかる方法は、障害の誤検出を防止できることから、誤検出された障害に起因して無駄な経路切り替えが行われることも防ぐことができる。従って、無駄な経路切り替えに起因して、制御装置１０の監視が行われなくなる期間の発生も防止されるので、通信システムの信頼性も向上する。
【００２４】
＜装置構成＞
図３は、通信装置２０の構成の例を説明する図である。通信装置２０は、通信部２１、制御部３０、記憶部５０を備える。通信部２１は、送信部２２と受信部２３を有する。制御部３０は、入力フレーム処理部３１、出力フレーム処理部３２、データ処理部３４、制御フレーム処理部４０を有する。制御フレーム処理部４０は、転送判定部４１、識別子決定部４２、制御実行部４３を有する。記憶部５０は、振り分けテーブル５１、ルーティングテーブル５３、設定情報５４、設定更新テーブル５５を格納し、オプションとして、状態データ５２も格納する。
【００２５】
振り分けテーブル５１は、通信装置２０が他の通信装置２０との間で送受信するフレームに使用される識別子とフレームの種類を対応付ける情報であり、フレームの振り分け処理に使用される。状態データ５２は、通信装置２０の通信状態などの情報であり、制御装置１０からの要求に応じて送信される情報である。ルーティングテーブル５３は、通信装置２０からのフレームの転送先を決定する際に使用される。設定情報５４は、制御装置１０から設定された情報であり、例えば、識別子とフレームの種類の対応関係などが含まれる。設定更新テーブル５５は、制御フレーム処理部４０の処理により、特定の通信装置２０への転送処理に使用される識別子が設定情報５４の設定以外の値に決定された場合に、得られた値をその値を適用する通信装置２０のアドレス等に対応付けて記録する。振り分けテーブル５１、設定情報５４、設定更新テーブル５５の例は後述する。
【００２６】
送信部２２は、他の通信装置２０や制御装置１０にフレームを送信する。受信部２３は、他の通信装置２０や制御装置１０からフレームを受信する。受信部２３は、受信したフレームを入力フレーム処理部３１に出力する。
【００２７】
入力フレーム処理部３１は、入力されたフレームのヘッダを処理する。さらに、入力フレーム処理部３１は、振り分けテーブル５１を参照しながら、フレームの識別子を用いて、受信したフレームがデータフレームと制御フレームのいずれであるかを判定する。入力フレーム処理部３１は、データフレーム中のＩＰ（Internet Protocol）パケットをデータ処理部３４に出力し、制御フレーム中のＩＰパケットを転送判定部４１に出力する。データ処理部３４は、入力されたデータを処理する。また、送信データを生成すると、データ処理部３４は、宛先を指定して出力フレーム処理部３２に出力する。出力フレーム処理部３２は、適宜、ルーティングテーブル５３を参照して、入力されたデータを含むフレームを生成する。なお、出力フレーム処理部３２は、識別子決定部４２や制御実行部４３から入力されたデータを含むフレームも生成する。
【００２８】
転送判定部４１は、入力された制御フレーム中のパケットが自装置宛てのパケットであるかを判定する。入力されたパケットが他の通信装置２０に転送する制御パケットである場合、識別子決定部４２は、転送するパケットを含む制御フレームに設定する識別子を、適宜、設定情報５４や設定更新テーブル５５を用いて決定する。識別子決定部４２の処理の詳細については後述する。入力されたパケットが自装置宛ての制御パケットである場合、制御実行部４３は、制御パケットを用いて制御処理を実行する。なお、制御処理により、他の通信装置２０に送信するデータが発生した場合、制御実行部４３は、データ処理部３４と同様に、出力フレーム処理部３２にデータを出力する。
【００２９】
図４は、通信装置２０のハードウェア構成の例を説明する図である。図４の例では、通信装置２０は、インタフェース１００ａ〜１００ｄ、スイッチ１１０、制御回路１２０を有する。インタフェース１００には、物理ポート１０１、ＰＨＹ/ＭＡＣ（Physical Layer / Media Access Control Layer）１０２、プロセッサ１０３、メモリ１０４、ＳＷインタフェース１０５が含まれる。スイッチ１１０はスイッチ回路１１１を含み、制御回路１２０は物理ポート１２１とプロセッサ１２２を有する。
【００３０】
物理ポート１０１（１０１ａ、１０１ｃ）や物理ポート１２１は、フレームの送受信を行う。ＰＨＹ／ＭＡＣ１０２（１０２ａ、１０２ｃ）は、物理層の処理とＭＡＣレイヤでの処理を行う。プロセッサ１０３（１０３ａ、１０３ｃ）やプロセッサ１２２は、任意の処理回路であり、例えば、ＣＰＵ（Central Processing Unit）、ＮＰＵ（Network Processor Unit）、ＦＰＧＡ（field-programmable gate array）などとすることができる。プロセッサ１０３は、プログラムを実行することにより、様々な処理を実行する。メモリ１０４（１０４ａ、１０４ｂ）には、ＲＡＭ（Random Access Memory）が含まれ、さらに、ＲＯＭ（Read Only Memory）等の不揮発性のメモリも含まれる。メモリ１０４は、プログラムやプロセッサ１０３などでの処理に使用されるデータの格納に使用される。ＳＷインタフェース１０５（１０５ａ、１０５ｃ）は、データフレームの転送処理のためにフレームをスイッチ回路１１１に入出力する。
【００３１】
物理ポート１０１とＰＨＹ／ＭＡＣ１０２は通信部２１を実現する。プロセッサ１０３とプロセッサ１２２は制御部３０として動作する。メモリ１０４は記憶部５０として動作する。
【００３２】
なお、図４はハードウェア構成の一例であって、実装に応じて変更され得る。例えば、通信装置２０に含まれるプロセッサの数は任意である。また、プロセッサ１０３とプロセッサ１２２の代わりに、１つのプロセッサが通信装置２０に搭載されていても良い。また、物理ポート１０１、１２１やＰＨＹ／ＭＡＣ１０２の数も、実装に応じて任意に変更され得る。
【００３３】
＜実施形態＞
以下、図２に示すシステムで行われる通信を例として説明する。
【００３４】
図５は、フレームのフォーマットの例を説明する図である。図５では、分かりやすくするために、フレームに含まれる情報要素のうちの一部を図示しているが、フレーム中には、適宜、図示されていない情報要素も含まれ得る。
【００３５】
フレームＦ０は、制御装置１０と通信装置２０（２０ａ、２０ｄ）の間で送受信されるフレームのフォーマットの例である。フレームＦ０は、宛先ＭＡＣアドレス（ＤＡ）、送信元ＭＡＣアドレス（ＳＡ）、タイプ情報、ＩＰヘッダ、データ、ＦＣＳ（Frame Check Sequence）を含む。
【００３６】
フレームＦ１は、通信装置２０間での通信の際に、ＭＰＬＳ（Multi-Protocol Label Switching）を用いてデータフレームと制御フレームが識別されるシステムで送受信されるフレームのフォーマットの例である。フレームＦ１は、宛先ＭＡＣアドレス、送信元ＭＡＣアドレス、タイプ情報、ＭＰＬＳラベル、ＩＰヘッダ、データ、ＦＣＳを含む。データフレームと制御フレームを識別する際に使用される識別子は、データフレームと制御フレームのいずれに対しても複数設定されており、識別子の設定は、予め、制御装置１０が保持している。制御装置１０がテーブルＴ１に示す設定を保持している場合、ＭＰＬＳラベル＝１６〜２４が制御フレームの識別子として使用される。一方、ＭＰＬＳラベル＝２５〜１０４８５７５がデータフレームの識別子として使用される。
【００３７】
フレームＦ２は、通信装置２０間での通信の際に、ＶＬＡＮ  ＩＤ（Virtual Local Area Network Identifier）を用いてデータフレームと制御フレームが識別されるシステムで送受信されるフレームのフォーマットの例である。フレームＦ２は、宛先ＭＡＣアドレス、送信元ＭＡＣアドレス、タイプ情報、ＶＬＡＮ  ＩＤ、ＩＰヘッダ、データ、ＦＣＳを含む。ＶＬＡＮ  ＩＤを用いて制御フレームとデータフレームを識別する場合でも、データフレームと制御フレームのいずれに対しても複数の識別子が設定されている。制御装置１０がテーブルＴ２に示す設定を保持している場合、ＶＬＡＮ  ＩＤ＝４０９１〜４０９４が制御フレームの識別子として使用される。一方、ＶＬＡＮ  ＩＤ＝０〜４０９０がデータフレームの識別子として使用される。
【００３８】
以下、実施形態を、制御装置１０から通信装置２０への設定、死活監視、死活監視で得られた結果を用いた制御フレームの転送処理に分けて説明する。以下の説明では、ＶＬＡＮ  ＩＤを用いてフレームの種類が識別される場合を例として説明する。なお、以下の説明では、動作を行っている通信装置２０を明確にするために、符号の最後に動作を行っている通信装置２０に割り当てられているアルファベットを記載することがある。例えば、転送判定部４１ａは、通信装置２０ａの転送判定部４１である。
【００３９】
（１）制御装置１０から通信装置２０への設定
以下の説明では、入力フレーム処理部３１は、制御装置１０から受信したフレームと、振り分けテーブル５１の設定前に受信したフレームは制御フレームとして扱うものとする。
【００４０】
まず、制御装置１０とシステム中の通信装置２０により、通信経路の検索が行われる。通信経路の設定には任意の既知のプロトコルが使用され得る。例えば、制御装置１０や通信装置２０は、ＯＳＰＦｖ２（Open Shortest Path First Version 2）などを用いて経路を計算することができる。経路計算が終わると、制御装置１０は、システム中でフレームの種類に使用される識別子などの設定情報を、通信装置２０に通知する。
【００４１】
例えば、制御装置１０は、図５のテーブルＴ２に示すデータを保持しているとする。制御装置１０は、通信装置２０ａに、通信装置２０ａが制御フレームの送受信に使用する識別子のデフォルト値と、制御フレームの識別に使用可能な識別子などの情報を通知する。このとき、制御装置１０は、図５のＦ０に示すフォーマットのフレームを、通信装置２０ａ宛てに送信する。例えば、制御装置１０は、以下の情報を含むフレームを通信装置２０ａに送信したとする。
ＤＡ  ：通信装置２０ａのＭＡＣアドレス
ＳＡ  ：制御装置１０のＭＡＣアドレス
ＩＰヘッダ中の宛先アドレス  ：通信装置２０ａのＩＰアドレス
ＩＰヘッダ中の送信元アドレス：制御装置１０のＩＰアドレス
データ：データフレームの識別子  ＶＬＡＮ  ＩＤ＝０〜４０９０
制御フレームの識別子    ＶＬＡＮ  ＩＤ＝４０９１〜４０９４
【００４２】
通信装置２０ａの受信部２３ａは、制御装置１０からのフレームを受信すると、フレームを入力フレーム処理部３１ａに出力する。入力フレーム処理部３１ａは、フレームを処理する。入力フレーム処理部３１ａは、制御装置１０から受信したフレームを制御フレームと判定し、制御フレーム中に含まれているＩＰパケットを転送判定部４１ａに出力する。転送判定部４１ａは、ＩＰパケット中の宛先ＩＰアドレスが通信装置２０ａに割り当てられたＩＰアドレスであることから制御パケットを転送しないことを決定する。制御実行部４３ａは、制御パケットを処理することにより、制御装置１０から通知された情報を記憶部５０に記録する。
【００４３】
図６は、通信装置２０が保持する情報の例を説明する図である。図６中の振り分けテーブル５１ａは、図５のテーブルＴ２の情報を含むフレームを通信装置２０ａが制御装置１０から受信したときに得られるテーブルの例である。振り分けテーブル５１ａには、データフレームの識別に使用されるＶＬＡＮ  ＩＤが０〜４０９０であることが記録されている。さらに、ＶＬＡＮ  ＩＤ＝４０９１、４０９２、４０９３、４０９４が制御フレームの識別に使用されることも、振り分けテーブル５１ａに記録されている。
【００４４】
次に、制御装置１０が制御フレームの識別子として使用するデフォルト値としてＶＬＡＮ  ＩＤ＝４０９１を指定した場合について説明する。例えば、制御装置１０は、以下の情報を含むフレームを通信装置２０ａに送信したとする。
ＤＡ  ：通信装置２０ａのＭＡＣアドレス
ＳＡ  ：制御装置１０のＭＡＣアドレス
ＩＰヘッダ中の宛先アドレス  ：通信装置２０ａのＩＰアドレス
ＩＰヘッダ中の送信元アドレス：制御装置１０のＩＰアドレス
データ：制御フレームの識別子のデフォルト値    ＶＬＡＮ  ＩＤ＝４０９１
制御フレームの識別子    ＶＬＡＮ  ＩＤ＝４０９１〜４０９４
【００４５】
通信装置２０ａの入力フレーム処理部３１ａは、受信部２３ａを介して、制御装置１０から送信されたフレームを取得する。入力フレーム処理部３１ａは、フレームの送信元が制御装置１０であるので制御フレームを受信したと判定し、制御フレーム中に含まれているＩＰパケットを転送判定部４１ａに出力する。その後、ＩＰパケット中の宛先ＩＰアドレスを用いて通信装置２０ａ宛のパケットであると判定されると、制御実行部４３ａは、制御パケットで通知されたデフォルト値の情報を設定情報５４ａとして記録する。このため、図６の設定情報５４ａに示すテーブルが得られる。
【００４６】
なお、以上の説明では、設定情報５４ａに制御フレームのデフォルト値と、制御フレームとして使用可能な識別子の範囲が制御装置１０から通知される場合を例としたが、制御フレームのデフォルト値だけが通信装置２０ａに通知されても良い。この場合、制御実行部４３ａは、適宜、振り分けテーブル５１ａを参照することにより、制御フレームとして使用可能な識別子を特定できる。
【００４７】
通信装置２０ａや通信装置２０ｄ等のように制御装置１０と直接通信する通信装置２０は、自装置以外の通信装置２０に宛てたパケットを含むフレームを受信すると、図５に示すフォーマットのフレームを用いて転送処理を行う。例えば、制御装置１０から通信装置２０ｂに識別子の設定処理が行われるとする。この場合、制御装置１０は、次のような情報を含むフレームを通信装置２０ａに送信する。
ＤＡ  ：通信装置２０ａのＭＡＣアドレス
ＳＡ  ：制御装置１０のＭＡＣアドレス
ＩＰヘッダ中の宛先アドレス  ：通信装置２０ｂのＩＰアドレス
ＩＰヘッダ中の送信元アドレス：制御装置１０のＩＰアドレス
データ：データフレームの識別子  ＶＬＡＮ  ＩＤ＝０〜４０９０
制御フレームの識別子    ＶＬＡＮ  ＩＤ＝４０９１〜４０９４
【００４８】
通信装置２０ａの入力フレーム処理部３１ａは、受信部２３ａを介して、制御装置１０から送信されたフレームを取得する。入力フレーム処理部３１ａは、フレームの送信元が制御装置１０であるので、制御フレームと判定し、制御フレーム中のＩＰパケットを転送判定部４１ａに出力する。転送判定部４１ａは、ＩＰパケット中の宛先ＩＰアドレスが端末装置２０ｂのアドレスであることから、自装置宛のパケットではないと判定する。識別子決定部４２ａは、設定情報５４ａを用いて制御フレームの識別に使用されるＶＬＡＮ  ＩＤから、フレームの転送に使用するＶＬＡＮ  ＩＤを決定する。識別子決定部４２ａは、転送対象のパケットと、転送対象のパケットの送信に使用するＶＬＡＮ  ＩＤを出力フレーム処理部３２ａに出力する。出力フレーム処理部３２ａは、識別子決定部４２ａから入力された情報を用いて、以下の情報を含むフレームを生成する。
ＤＡ  ：通信装置２０ｂのＭＡＣアドレス
ＳＡ  ：通信装置２０ａのＭＡＣアドレス
ＶＬＡＮ  ＩＤ              ：４０９１
ＩＰヘッダ中の宛先アドレス  ：通信装置２０ｂのＩＰアドレス
ＩＰヘッダ中の送信元アドレス：制御装置１０のＩＰアドレス
データ：データフレームの識別子  ＶＬＡＮ  ＩＤ＝０〜４０９０
制御フレームの識別子    ＶＬＡＮ  ＩＤ＝４０９１〜４０９４
【００４９】
出力フレーム処理部３２ａは、得られたフレームを、送信部２２ａを介して通信装置２０ｂに送信する。
【００５０】
通信装置２０ｂの入力フレーム処理部３１ｂは、受信部２３ｂを介して、通信装置２０ａから送信されたフレームを取得する。入力フレーム処理部３１ｂは、振り分けテーブル５１ｂの設定前であるので、受信フレームが制御フレームであると判定し、制御フレーム中に含まれているＩＰパケットを転送判定部４１ｂに出力する。転送判定部４１ｂは、ＩＰパケット中の宛先ＩＰアドレスを用いて通信装置２０ｂ宛のパケットであると判定する。すると、制御実行部４３ｂは、制御パケットで通知された識別子の情報を記憶部５０ｂに記録する。
【００５１】
ここで、通信装置２０ｂの記憶部５０ｂとして使用されているメモリのうち、振り分けテーブル５１ｂの記録に使用される領域中にビット故障が発生しているとする。すると、ビット故障の発生しているビットでは、記録しようとする情報が正しく記録されないことになる。
【００５２】
例えば、制御フレームの識別に使用するＶＬＡＮ  ＩＤが記録される領域にビット故障が発生しているとする。例えば、制御フレームの識別に使用するＶＬＡＮ  ＩＤの最小値を記録する領域の最下位の２ビットがビット故障によって常に１０を示す状態になっているとする。この状態で、制御実行部４３ｂは、制御フレームの識別に用いるＶＬＡＮ  ＩＤを、４０９１、４０９２、４０９３、４０９４と記録しようとしたとする。しかし、ビット故障の影響により、振り分けテーブル５１ｂには、制御フレームの識別に用いるＶＬＡＮ  ＩＤは、４０９２、４０９２、４０９３、４０９４と記録されてしまう。
【００５３】
一方、通信装置２０ｂのメモリ中でデータフレームの識別に用いるＶＬＡＮ  ＩＤを記録する領域にはビット故障がないとする。すると、制御実行部４３ｂは、データフレームの識別に用いるＶＬＡＮ  ＩＤを、０〜４０９０と振り分けテーブル５１ｂに記録することができる。このときに得られた振り分けテーブル５１ｂを図６に示す。
【００５４】
以上の説明では、通信装置２０ａと通信装置２０ｂでの設定の例を説明したが、通信装置２０ｄは通信装置２０ａと同様の処理により、制御装置１０から受信した制御情報を用いて、振り分けテーブル５１ｄや設定情報５４ｄを設定する。また、通信装置２０ｃには、制御装置１０から通信装置２０ｄ経由で制御情報を含むフレームが送信されたとする。なお、通信装置２０ｄと通信装置２０ｃのいずれでも、メモリ中のビット故障が発生していないとする。このため、通信装置２０ｄと通信装置２０ｃは、いずれも、図６に示す振り分けテーブル５１ａと同様の振り分けテーブル５１を保持する。さらに、通信装置２０ｄと通信装置２０ｃのいずれも、図６に示す設定情報５４ａと同様の設定情報５４を保持するものとする。
【００５５】
（２）死活監視
以下、通信装置２０ａと通信装置２０ｂが、それぞれ、図６に示す情報を保持しており、通信装置２０ｃと通信装置２０ｄが通信装置２０ａと同様の振り分けテーブル５１と設定情報５４を保持している場合を例として、死活監視の例を説明する。
【００５６】
図７は、通信装置２０ｃと通信装置２０ｄの間で行われる死活監視の例を説明する図である。通信装置２０ｃ中の制御実行部４３ｃは、死活監視を行う周期になると、死活監視用のフレームに使用するデータを生成する。識別子決定部４２ｃは、死活監視フレームに使用するＶＬＡＮ  ＩＤを決定するために、設定更新テーブル５５ｃを参照する。このとき、設定更新テーブル５５ｃには、通信装置２０ｄ宛てのフレームに使用するＶＬＡＮ  ＩＤの設定が含まれていない。そこで、識別子決定部４２ｃは、死活監視フレームに使用するＶＬＡＮ  ＩＤを、制御フレームの識別子のデフォルト値であるＶＬＡＮ  ＩＤ＝４０９１に決定する。識別子決定部４２ｃは、決定した識別子を出力フレーム処理部３２ｃに出力し、制御実行部４３ｃは死活監視フレーム中のデータを出力フレーム処理部３２ｃに出力する。出力フレーム処理部３２ｃは、入力された情報を用いて、以下の情報を含むＨｅｌｌｏ  Ｒｅｑｕｅｓｔフレームを生成する。
ＤＡ  ：通信装置２０ｄのＭＡＣアドレス
ＳＡ  ：通信装置２０ｃのＭＡＣアドレス
ＶＬＡＮ  ＩＤ              ：４０９１
ＩＰヘッダ中の宛先アドレス  ：通信装置２０ｄのＩＰアドレス
ＩＰヘッダ中の送信元アドレス：通信装置２０ｃのＩＰアドレス
送信部２２ｃは、出力フレーム処理部３２ｃで生成されたＨｅｌｌｏ  Ｒｅｑｕｅｓｔフレームを通信装置２０ｄに送信する（ステップＳ１）。
【００５７】
通信装置２０ｄの入力フレーム処理部３１ｄは、受信部２３ｄを介して、通信装置２０ｃから送信されたフレームを取得する。入力フレーム処理部３１ｄは、フレーム中のＶＬＡＮ  ＩＤをキーとして振り分けテーブル５１ｄを参照する。ここで、振り分けテーブル５１ｄには、制御フレームの識別に使用されるＶＬＡＮ  ＩＤが４０９１〜４０９４であることが記録されている。このため、入力フレーム処理部３１ｄは、受信フレームを制御フレームと判定し、制御フレーム中のＩＰパケットを転送判定部４１ｄに出力する。転送判定部４１ｄは、ＩＰパケット中の宛先ＩＰアドレスが端末装置２０ｄのアドレスであることから、自装置宛のパケットであると判定する。
【００５８】
一方、制御実行部４３ｄは、Ｈｅｌｌｏ  Ｒｅｑｕｅｓｔフレームに応答するフレームに含めるデータを生成し、通信装置２０ｃ宛てのフレームに含めるデータとして出力フレーム処理部３２ｄに出力する。また、識別子決定部４２ｄは、制御実行部４３ｄが生成したデータがＨｅｌｌｏ  Ｒｅｑｕｅｓｔフレームに対する応答であることから、通信装置２０ｃ宛てのフレームに、制御フレームを識別するＶＬＡＮ  ＩＤを含めることを決定する。このとき、設定更新テーブル５５ｄには、通信装置２０ｃ宛てのフレームに使用するＶＬＡＮ  ＩＤの設定が含まれていない。そこで、識別子決定部４２ｄは、通信装置２０ｃ宛ての制御フレームに使用するＶＬＡＮ  ＩＤとして、制御フレームの識別子のデフォルト値であるＶＬＡＮ  ＩＤ＝４０９１を選択したとする。このため、出力フレーム処理部３２ｄでは以下の情報を含むＨｅｌｌｏ  Ｒｅｐｌｙフレームが生成される。
ＤＡ  ：通信装置２０ｃのＭＡＣアドレス
ＳＡ  ：通信装置２０ｄのＭＡＣアドレス
ＶＬＡＮ  ＩＤ              ：４０９１
ＩＰヘッダ中の宛先アドレス  ：通信装置２０ｃのＩＰアドレス
ＩＰヘッダ中の送信元アドレス：通信装置２０ｄのＩＰアドレス
送信部２２ｄは、出力フレーム処理部３２ｄで生成されたＨｅｌｌｏ  Ｒｅｐｌｙフレームを通信装置２０ｃに送信する（ステップＳ２）。
【００５９】
通信装置２０ｃの入力フレーム処理部３１ｃは、受信部２３ｃを介して、Ｈｅｌｌｏ  Ｒｅｐｌｙフレームを取得する。入力フレーム処理部３１ｃは、受信したフレーム中のＶＬＡＮ  ＩＤ＝４０９１と、振り分けテーブル５１ｃを用いて、受信フレームは制御フレームであると判定し、受信フレーム中のＩＰパケットを転送判定部４１ｃに出力する。転送判定部４１ｃは、ＩＰパケット中の宛先ＩＰアドレスが端末装置２０ｃのアドレスであるので、入力されたパケットを制御実行部４３ｃに出力する。制御実行部４３ｃは、入力されたパケットがＨｅｌｌｏ  Ｒｅｑｕｅｓｔフレームへの応答であるので、通信装置２０ｃと通信装置２０ｄの間の通信に成功したと判定する。
【００６０】
ステップＳ１でのＨｅｌｌｏ  Ｒｅｑｕｅｓｔフレームの送信後、死活監視の周期になると、通信装置２０ｃは通信装置２０ｄにＨｅｌｌｏ  Ｒｅｑｕｅｓｔフレームを送信する（ステップＳ３）。ステップＳ３での通信装置２０ｃの処理は、ステップＳ１と同様である。Ｈｅｌｌｏ  Ｒｅｑｕｅｓｔフレームを受信すると、通信装置２０ｄは、通信装置２０ｃにＨｅｌｌｏ  Ｒｅｐｌｙフレームを送信する（ステップＳ４）。このときの通信装置２０ｄの処理は、ステップＳ２と同様である。ステップＳ３、Ｓ４の処理の後も、通信装置２０ｃと通信装置２０ｄの間では周期的に死活監視が行われる（ステップＳ５、Ｓ６）。
【００６１】
図８は、一方の通信装置２０において、ビット故障が発生している場合に行われる死活監視方法の例を説明する図である。以下、図８を参照しながら、通信装置２０ａと通信装置２０ｂの間で行われる死活監視の例を説明する。
【００６２】
通信装置２０ａ中の制御実行部４３ａは、通信装置２０ｂとの間の死活監視用のフレームに含めるデータを生成する。通信装置２０ｂとの間の死活監視のために送信するフレームは制御フレームであることから、識別子決定部４２ａは、制御フレームを識別する識別子から、死活監視用フレームに含める識別子を決定する。このとき、識別子決定部４２ａは、設定更新テーブル５５ａを参照する。この時点では、設定更新テーブル５５ａには、通信装置２０ｄ宛てのフレームに使用するＶＬＡＮ  ＩＤの設定が含まれていないものとする。そこで、識別子決定部４２ａは、設定情報５４ａを用いて、死活監視フレームに使用するＶＬＡＮ  ＩＤを、制御フレームの識別子のデフォルト値であるＶＬＡＮ  ＩＤ＝４０９１に決定する（ステップＳ１１）。
【００６３】
出力フレーム処理部３２ａは、制御実行部４３ａと識別子決定部４２ａから得られた情報を用いて、以下の情報を含むＨｅｌｌｏ  Ｒｅｑｕｅｓｔフレームを生成する。
ＤＡ  ：通信装置２０ｂのＭＡＣアドレス
ＳＡ  ：通信装置２０ａのＭＡＣアドレス
ＶＬＡＮ  ＩＤ              ：４０９１
ＩＰヘッダ中の宛先アドレス  ：通信装置２０ｂのＩＰアドレス
ＩＰヘッダ中の送信元アドレス：通信装置２０ａのＩＰアドレス
送信部２２ａは、生成されたＨｅｌｌｏ  Ｒｅｑｕｅｓｔフレームを通信装置２０ｂに送信する（ステップＳ１２）。
【００６４】
通信装置２０ｂの入力フレーム処理部３１ｂは、受信部２３ｂ経由で、通信装置２０ａから送信されたフレームを取得する。入力フレーム処理部３１ｂは、フレーム中のＶＬＡＮ  ＩＤをキーとして振り分けテーブル５１ｂ（図６）を参照する。ここで、振り分けテーブル５１ｂには、制御フレームの識別に使用されるＶＬＡＮ  ＩＤが４０９２〜４０９４であることが記録されている。このため、入力フレーム処理部３１ｄは、受信フレームが制御フレームではないと判定する。一方、データフレームの識別に使用されるＶＬＡＮ  ＩＤは、０〜４０９０である。そこで、入力フレーム処理部３１ｂは、受信したフレームはデータフレームでもないと判定し、廃棄する。このため、図８に示すように、通信装置２０ｂから通信装置２０ａにはＨｅｌｌｏ  Ｒｅｐｌｙフレームは到達しない（ステップＳ１３）。
【００６５】
通信装置２０ａ中の制御実行部４３ａは、Ｈｅｌｌｏ  Ｒｅｑｕｅｓｔフレームの送信から所定期間が経過しても通信装置２０ｂから応答が得られていない場合、通信装置２０ｂでビット故障が発生している可能性があると判定する。そこで、制御実行部４３ａは、識別子決定部４２ａに対して通信装置２０ｂ宛ての制御フレームの送信に使用するＶＬＡＮ  ＩＤの変更を要求する。制御実行部４３ａは、識別子決定部４２ａが新たに決定したＶＬＡＮ  ＩＤを用いて再度、Ｈｅｌｌｏ  Ｒｅｑｕｅｓｔフレームを送信することを決定する。
【００６６】
識別子決定部４２ａは、設定情報５４ａで制御フレームの識別子として記録されているＶＬＡＮ  ＩＤから、これまで通信装置２０ｂへの送信に使用していないＶＬＡＮ  ＩＤを制御フレームの送信に用いる識別子として決定する。ここでは、識別子決定部４２ａは、ＶＬＡＮ  ＩＤ＝４０９２を通信装置２０ｂへの制御フレームの送信に使用する識別子に決定したとする（ステップＳ１４）。識別子決定部４２ａは、決定した識別子を、出力フレーム処理部３２ａと制御実行部４３ａに通知する。
【００６７】
出力フレーム処理部３２ａは、制御実行部４３ａと識別子決定部４２ａから得られた情報を用いて、以下の情報を含むＨｅｌｌｏ  Ｒｅｑｕｅｓｔフレームを生成する。
ＤＡ  ：通信装置２０ｂのＭＡＣアドレス
ＳＡ  ：通信装置２０ａのＭＡＣアドレス
ＶＬＡＮ  ＩＤ              ：４０９２
ＩＰヘッダ中の宛先アドレス  ：通信装置２０ｂのＩＰアドレス
ＩＰヘッダ中の送信元アドレス：通信装置２０ａのＩＰアドレス
送信部２２ａは、生成されたＨｅｌｌｏ  Ｒｅｑｕｅｓｔフレームを通信装置２０ｂに送信する（ステップＳ１５）。
【００６８】
通信装置２０ｂの入力フレーム処理部３１ｂは、受信部２３ｂ経由で、通信装置２０ａから送信されたフレームを取得する。入力フレーム処理部３１ｂは、フレーム中のＶＬＡＮ  ＩＤをキーとして振り分けテーブル５１ｂ（図６）を参照する。ステップＳ１５で受信したフレームには、ＶＬＡＮ  ＩＤ＝４０９２が含まれているので、入力フレーム処理部３１ｂは、受信フレームを制御フレームであると判定する。
【００６９】
制御実行部４３ｂは、Ｈｅｌｌｏ  Ｒｅｑｕｅｓｔフレームに応答するフレームに含めるデータを生成し、通信装置２０ａ宛てのフレームに含めるデータとして出力フレーム処理部３２ｂに出力する。識別子決定部４２ｂは、制御実行部４３ｂが生成したデータがＨｅｌｌｏ  Ｒｅｑｕｅｓｔフレームに対する応答であることから、通信装置２０ａ宛てのフレームに、制御フレームを識別するＶＬＡＮ  ＩＤを含めることを決定する。識別子決定部４２ｂは、通信装置２０ａ宛ての制御フレームに使用するＶＬＡＮ  ＩＤとしてＶＬＡＮ  ＩＤ＝４０９２を選択したとする。このため、出力フレーム処理部３２ｂでは以下の情報を含むＨｅｌｌｏ  Ｒｅｐｌｙフレームが生成される。
ＤＡ  ：通信装置２０ａのＭＡＣアドレス
ＳＡ  ：通信装置２０ｂのＭＡＣアドレス
ＶＬＡＮ  ＩＤ              ：４０９２
ＩＰヘッダ中の宛先アドレス  ：通信装置２０ａのＩＰアドレス
ＩＰヘッダ中の送信元アドレス：通信装置２０ｂのＩＰアドレス
送信部２２ｂは、出力フレーム処理部３２ｂで生成されたＨｅｌｌｏ  Ｒｅｐｌｙフレームを通信装置２０ａに送信する（ステップＳ１６）。
【００７０】
通信装置２０ａの入力フレーム処理部３１ａは、受信部２３ａを介して、Ｈｅｌｌｏ  Ｒｅｐｌｙフレームを取得する。入力フレーム処理部３１ａは、受信したフレーム中のＶＬＡＮ  ＩＤ＝４０９２と、振り分けテーブル５１ａを用いて、受信フレームが制御フレームであると判定し、受信フレーム中のＩＰパケットを転送判定部４１ａに出力する。転送判定部４１ａは、ＩＰパケット中の宛先ＩＰアドレスが端末装置２０ａのアドレスであるので、入力されたパケットを制御実行部４３ａに出力する。制御実行部４３ａは、入力されたパケットがＨｅｌｌｏ  Ｒｅｑｕｅｓｔフレームへの応答であるので、通信装置２０ａと通信装置２０ｂの間の通信に成功したと判定する。このため、制御実行部４３ａは、応答が得られたＨｅｌｌｏ  Ｒｅｑｕｅｓｔフレームの送信の際に使用したＶＬＡＮ  ＩＤ＝４０９２を、通信装置２０ｂへの制御フレームの送信に使用可能であると認識する。そこで、制御実行部４３ａは、通信装置２０ｂのＩＰアドレスに対応付けて、ＶＬＡＮ  ＩＤ＝４０９２を、設定更新テーブル５５ａに記録する（ステップＳ１７）。
【００７１】
図８には、設定更新テーブル５５ａの例も示している。図８の例では、通信装置２０ｂのＩＰアドレスはＩＰｂである。通信装置２０ｂのＩＰアドレスに対応付けてＶＬＡＮ  ＩＤ＝４０９２が設定更新テーブル５５ａに記録されると、以後の処理では、通信装置２０ａは、通信装置２０ｂへの制御フレームの送信にＶＬＡＮ  ＩＤ＝４０９２を使用する。
【００７２】
その後、Ｈｅｌｌｏ  Ｒｅｑｕｅｓｔフレームの送信周期になると、制御実行部４３ａは、通信装置２０ｂ宛てのＨｅｌｌｏ  Ｒｅｑｕｅｓｔフレームに含めるデータを生成する。識別子決定部４２ａは、設定更新テーブル５５ａを用いて、通信装置２０ｂ宛てのＨｅｌｌｏ  Ｒｅｑｕｅｓｔフレームに含めるＶＬＡＮ  ＩＤを４０９２に決定する。すると、出力フレーム処理部３２ａは、ステップＳ１５と同様に、ＶＬＡＮ  ＩＤ＝４０９２を含むＨｅｌｌｏ  Ｒｅｑｕｅｓｔフレームを生成する。このため、ＶＬＡＮ  ＩＤ＝４０９２を含むＨｅｌｌｏ  Ｒｅｑｕｅｓｔフレームが通信装置２０ｂに送信される（ステップＳ１８）。
【００７３】
ＶＬＡＮ  ＩＤ＝４０９２を含むＨｅｌｌｏ  Ｒｅｑｕｅｓｔフレームを受信した通信装置２０ｂは、ステップＳ１６を参照しながら説明した処理と同様の処理を行う。このため、通信装置２０ａに対して、Ｈｅｌｌｏ  Ｒｅｐｌｙフレームが送信される（ステップＳ１９）。このため、ステップＳ１９でのＨｅｌｌｏ  Ｒｅｐｌｙフレームの受信によっても、通信装置２０ａは、通信装置２０ｂとの間の通信に成功したと判定する。
【００７４】
図９は、死活監視方法の例を説明するフローチャートである。出力フレーム処理部３２は、識別子Ａを含むＨｅｌｌｏフレーム（Ｈｅｌｌｏ  Ｒｅｑｕｅｓｔ）を生成したとする。送信部２２は、識別子Ａを含むＨｅｌｌｏフレームを送信する（ステップＳ３１）。その後、制御実行部４３は、所定期間中にＨｅｌｌｏフレームの応答を受信したかを判定する（ステップＳ３２）。所定期間中にＨｅｌｌｏフレームの応答を受信している場合、制御実行部４３は、Ｈｅｌｌｏフレームの送信先との間の通信経路に障害は発生していないと判定して処理を終了する（ステップＳ３２でＹｅｓ、ステップＳ３９）。
【００７５】
所定期間中にＨｅｌｌｏフレームの応答を受信しない場合、Ｈｅｌｌｏフレームの送信先でのビット故障のために制御フレームが認識されていない可能性がある（ステップＳ３２でＮｏ）。そこで、識別子決定部４２は、識別子Ａを１つインクリメントして得られる値Ａ＋１を新たなＨｅｌｌｏ  Ｒｅｑｕｅｓｔに使用することを決定する。送信部２２は、識別子Ａ＋１を含むＨｅｌｌｏフレームを送信する（ステップＳ３３）。その後、制御実行部４３は、所定期間中にＨｅｌｌｏフレームの応答を受信したかを判定する（ステップＳ３４）。所定期間中にＨｅｌｌｏフレームの応答を受信した場合、制御実行部４３は、Ｈｅｌｌｏフレームの宛先に対応付けて、識別子Ａ＋１を設定更新テーブル５５に記録する（ステップＳ３４でＹｅｓ、ステップＳ３５）。所定期間中にＨｅｌｌｏフレームの応答を受信している場合、制御実行部４３は、Ｈｅｌｌｏフレームの送信先との間の通信経路に障害は発生していないと判定して処理を終了する（ステップＳ３９）。
【００７６】
所定期間中にＨｅｌｌｏフレームの応答を受信しない場合、Ｈｅｌｌｏフレームの送信先でのビット故障のために制御フレームが認識されていない可能性がある（ステップＳ３４でＮｏ）。そこで、識別子決定部４２は、識別子Ａ＋１を１つインクリメントして得られる値Ａ＋２を新たなＨｅｌｌｏ  Ｒｅｑｕｅｓｔに使用することを決定する。送信部２２は、識別子Ａ＋２を含むＨｅｌｌｏフレームを送信する（ステップＳ３６）。その後、制御実行部４３は、所定期間中にＨｅｌｌｏフレームの応答を受信したかを判定する（ステップＳ３７）。所定期間中にＨｅｌｌｏフレームの応答を受信した場合、制御実行部４３は、Ｈｅｌｌｏフレームの宛先に対応付けて、識別子Ａ＋２を設定更新テーブル５５に記録する（ステップＳ３７でＹｅｓ、ステップＳ３８）。所定期間中にＨｅｌｌｏフレームの応答を受信している場合、制御実行部４３は、Ｈｅｌｌｏフレームの送信先との間の通信に障害は発生していないと判定して処理を終了する（ステップＳ３９）。
【００７７】
所定期間中にＨｅｌｌｏフレームの応答を受信しない場合、制御実行部４３は、Ｈｅｌｌｏフレームの送信先との間の通信に障害が発生していると判定する（ステップＳ３７でＮｏ）。そこで、制御実行部４３は、制御装置１０にＨｅｌｌｏフレームの送信先との間の通信に障害が発生していることを通知する警報を生成する。出力フレーム処理部３２は、制御実行部４３が生成した警報を含む制御フレームを生成し、制御装置１０に向けて送信する（ステップＳ４０）。すると、制御装置１０は、システム中の経路の再検索のための処理を行う。
【００７８】
なお、図９に示す処理は一例であり、実装に応じて処理は変更され得る。例えば、異なる識別子を用いてＨｅｌｌｏフレームを送信する回数の上限は２回に限られず、実装に応じて変更され得る。さらに、識別子決定部４２での識別子の決定処理の際に、使用済みの識別子を１つインクリメントする処理は一例にすぎない。識別子決定部４２は、制御フレームに使用可能な識別子のうちで未使用の識別子を任意の処理基準で選択することができる。
【００７９】
このように、実施形態にかかる方法では、死活監視に失敗しても、ビット故障等により、死活監視用のフレームが正しく処理されていない可能性があることから、通信装置２０は、複数の識別子を用いて、死活監視を試みる。このため、通信装置２０間での通信経路自体には障害が発生しておらず、ビット故障などによりフレームの処理が正しく行われていない場合に、通信経路に障害が発生していると誤検出することを防止できる。このため、実施形態にかかる方法は、誤検出による経路の再検索が行われることを防ぐことができる。換言すると、実施形態にかかる方法では、通信経路での障害の誤検出に基づいた経路の再検索に起因して監視が行われない期間が発生することも防止することができる。
【００８０】
（３）転送処理
死活監視によって、通信装置２０は、Ｈｅｌｌｏフレームの送信先で制御フレームとして認識されるＶＬＡＮ  ＩＤを特定すると、以後の制御フレームの送信を、特定したＶＬＡＮ  ＩＤを用いて行う。
【００８１】
図１０は、制御情報を含むフレームの転送処理の例を説明する図である。図１０を参照しながら、通信装置２０ａが通信装置２０ｂに制御フレームを送信するときに行う処理の例を説明する。なお、図１０の処理が行われるケースでも、通信装置２０ａと通信装置２０ｂが保持する振り分けテーブル５１は図６に示すとおりであるとする。さらに、通信装置２０ａは、死活監視処理により図８に示す設定更新テーブル５５ａを生成しているものとする。
【００８２】
矢印Ａ２１において、制御装置１０は、通信装置２０ｂ宛ての制御信号を含むフレームＦ１１を通信装置２０ａに送信したとする。Ｆ１１では、Ｅｔｈｅｎｅｔヘッダ中の宛先ＭＡＣアドレスは通信装置２０ａに設定されているが、ＩＰヘッダ中の宛先ＩＰアドレスは通信装置２０ｂのＩＰアドレス（ＩＰｂ）に設定されている。
【００８３】
通信装置２０ａの入力フレーム処理部３１ａは、受信部２３ａを介して、制御装置１０から送信されたフレームを取得する。入力フレーム処理部３１ａは、フレームの送信元が制御装置１０であるので、制御フレームと判定し、制御フレーム中のＩＰパケットを転送判定部４１ａに出力する。転送判定部４１ａは、ＩＰパケット中の宛先ＩＰアドレスが端末装置２０ｂのアドレスであることから、自装置宛のパケットではないと判定する。
【００８４】
識別子決定部４２ａは、転送対象のパケットの送信に使用するＶＬＡＮ  ＩＤを決定するために、宛先ＩＰアドレスをキーとして設定更新テーブル５５ａ（図８）を検索する。設定更新テーブル５５ａには、通信装置２０ｂのＩＰアドレス（ＩＰｂ）に対応付けて、ＶＬＡＮ  ＩＤ＝４０９２が記録されている。そこで、識別子決定部４２ａは、転送対象のパケットの送信に使用するＶＬＡＮ  ＩＤを４０９２に決定する。識別子決定部４２ａは、転送対象のパケットを、ＶＬＡＮ  ＩＤ＝４０９２に対応付けて、出力フレーム処理部３２ａに出力する。出力フレーム処理部３２ａは、識別子決定部４２ａから入力された情報を用いて、Ｆ１２に示すフレームを生成する。送信部２２ａは、フレームＦ１２を通信装置２０ｂに向けて送信する。
【００８５】
通信装置２０ｂの入力フレーム処理部３１ｂは、受信部２３ｂ経由で、通信装置２０ａから送信されたフレームを取得する。入力フレーム処理部３１ｂは、フレーム中のＶＬＡＮ  ＩＤをキーとして振り分けテーブル５１ｂ（図６）を参照する。フレームＦ１２には、ＶＬＡＮ  ＩＤ＝４０９２が含まれているので、入力フレーム処理部３１ｂは、受信フレームを制御フレームであると判定する。その後、Ｆ１２に含まれているＩＰパケットが制御実行部４３ｂで処理される。
【００８６】
このように、実施形態にかかる方法では、死活監視処理で得られた設定更新テーブル５５を用いて、制御フレームを識別するＶＬＡＮ  ＩＤを決定することによって、ビット故障が発生している通信装置２０ｂに対しても、制御フレームを転送することができる。
【００８７】
図１１は、通信装置２０がフレームを受信したときに行う処理の例を説明するフローチャートである。図１１は、死活監視と制御フレームの転送処理を含む処理全体の例を説明している。
【００８８】
受信部２３は、フレームを受信する（ステップＳ５１）。入力フレーム処理部３１は、振り分けテーブル５１を用いて、受信したフレームがデータフレームであるかを判定する（ステップＳ５２）。受信したフレームがデータフレームである場合、データ処理部３４は、データフレームを処理する（ステップＳ５２でＹｅｓ、ステップＳ５３）。
【００８９】
一方、受信したフレームがデータフレームではない場合、転送判定部４１は、フレーム中のパケットに含まれている宛先ＩＰアドレスが自ノードのアドレスであるかを判定する（ステップＳ５２でＮｏ、ステップＳ５４）。フレーム中のパケットに含まれている宛先ＩＰアドレスが自ノードのアドレスである場合、制御実行部４３は、ＩＰパケット中のデータを処理する（ステップＳ５４でＹｅｓ、ステップＳ５５）。
【００９０】
フレーム中のパケットに含まれている宛先ＩＰアドレスが自ノードのアドレスではない場合、識別子決定部４２は、宛先ＩＰアドレスが設定更新テーブル５５に含まれているかを判定する（ステップＳ５４でＮｏ、ステップＳ５６）。ここで、宛先ＩＰアドレスが設定更新テーブル５５に含まれている場合、フレームの転送先では、ビット故障などの要因により、特定のＶＬＡＮ  ＩＤを付したフレームが制御フレームとして処理されない状態である可能性がある（ステップＳ５６でＹｅｓ）。また、宛先ＩＰアドレスが設定更新テーブル５５に含まれている場合、設定更新テーブル５５には、フレームの転送先の通信装置２０が制御フレームとして認識可能なＶＬＡＮ  ＩＤが記録されている。そこで、識別子決定部４２は、設定更新テーブル５５において、転送対象のパケットの宛先ＩＰアドレスに対応付けられたＶＬＡＮ  ＩＤを、使用するＶＬＡＮ  ＩＤに決定する（ステップＳ５８）。その後、出力フレーム処理部３２は、転送フレームを生成し、送信部２２を介してフレームを転送する（ステップＳ５９、Ｓ６０）。
【００９１】
一方、宛先ＩＰアドレスが設定更新テーブル５５に含まれていない場合、識別子決定部４２は、設定情報５４を参照して、フレームの転送に使用するＶＬＡＮ  ＩＤを決定する（ステップＳ５６でＮｏ、ステップＳ５７）。ステップＳ５７では、識別子決定部４２は、設定情報５４において、制御フレームに使用するデフォルトの識別子として登録されているＶＬＡＮ  ＩＤを、転送処理に使用するＶＬＡＮ  ＩＤに決定する。その後、出力フレーム処理部３２は、転送フレームを生成し、送信部２２を介してフレームを転送する（ステップＳ５９、Ｓ６０）。
【００９２】
図１２は、実施形態にかかる監視制御方法と他の監視制御方法の比較例を説明する図である。ケースＣ２１は、他の監視制御方法が用いられた場合の処理の例と監視が中断される期間の例を示している。ケースＣ２２は、実施形態にかかる監視制御方法が行われた場合の処理の例を示している。
【００９３】
ケースＣ２１において、死活監視フレームを送信した通信装置は、制御システムから指定されたＶＬＡＮ  ＩＤを用いた死活監視フレームに対する応答の受信タイムアウトが発生したと判定したとする（ステップＳ７１）。すると、死活監視フレームを送信した通信装置は、通信障害の発生を制御装置１０に通知する。その結果、通信経路の再検索が開始される。図１２では、ＯＳＰＦｖ２を用いて経路の検索が行われる場合を例として示している。経路の再検索の開始に伴い、制御装置１０によるシステム中の通信装置の状態の監視は中断される。
【００９４】
通信経路の再検索では、システム中の通信装置が互いにＨｅｌｌｏフレームを送受信することにより、個々の通信装置の隣接装置を認識する（ステップＳ７２）。その後、隣接する通信装置間でデータベースの要約情報を送受信することにより、互いのトポロジ情報を整合させる処理（Ｄａｔａｂａｓｅ  Ｄｅｓｃｒｉｐｔｉｏｎ）を行う（ステップＳ７３）。ここで、データベースにはルーティング情報が含まれている。その後、Ｌｉｎｋｓｔａｔｅ  Ｕｐｄａｔｅにより、通信装置間でのデータベースの更新処理を行い、隣接関係を確立する（ステップＳ７４、Ｓ７５）。これらの処理が終わると、新たな経路が確立するので、新経路での死活監視が開始される（ステップＳ７６）。従って、ステップＳ７６以降では、制御装置１０によるシステム中の通信装置の状態の監視が再開する。その後、通信装置間で、適宜、死活監視フレームの送受信と、応答フレームの送受信が行われる（ステップＳ７７、Ｓ７８）。
【００９５】
このように、ケースＣ２１のシステムでは、ステップＳ７１からステップＳ７６までのＸで示す期間中は、制御装置１０によるシステムの監視制御が行われないことになる。ステップＳ７１からステップＳ７６までのＸで示す期間は、システムによって異なるが、４０秒程度にも及ぶことがある。また、経路の再検索中は通信が途絶えるおそれがある上、システムの監視が行われない期間が増えるので、システムの信頼性が高いとは言えない。さらに、ケースＣ２１のシステムでは、経路の再検索は、通信障害が誤検出された場合、誤検出に起因して行われてしまう。
【００９６】
次に、実施形態にかかるシステムでの処理を、ケースＣ２２に示す。ケースＣ２２でも、通信装置２０ａは通信装置２０ｂとの間の死活監視を行っている。通信装置２０ａにおいて、制御装置１０から優先することが通知された識別子ＩＤαを用いたときの死活監視で、受信タイムアウトが発生したとする（ステップＳ９１）。すると、通信装置２０ａは、タイムアウトが発生した識別子とは異なる識別子（ＩＤβ）を用いて、Ｈｅｌｌｏ  Ｒｅｑｕｅｓｔフレームを通信装置２０ｂに送信する（ステップＳ９２）。通信装置２０ｂにおいて、ＩＤβが制御フレームを識別する識別子として認識されている場合、通信装置２０ｂは、Ｈｅｌｌｏ  Ｒｅｑｕｅｓｔフレームに応答して、Ｈｅｌｌｏ  Ｒｅｐｌｙフレームを通信装置２０ａに送信する（ステップＳ９３）。この結果、通信装置２０ａは、通信装置２０ｂとの間の通信が可能であると認識できる。さらに、通信装置２０ａは、以後の処理では、通信装置２０ｂ宛ての制御フレームに付す識別子をＩＤαからＩＤβに変更する（ステップＳ９４）。
【００９７】
このように、実施形態にかかるシステムでは、死活監視において受信タイムアウトが発生しても、制御フレームの識別子を変更して再度、死活監視を行う。このため、死活監視フレームの送信先が、１回目に送信した死活監視フレームの処理や受信に失敗したが、通信経路自体には障害が発生していない場合には、経路の再検索を回避することができる。このため、通信の中断やシステムの監視の中断が発生する期間を減らすことができる。
【００９８】
＜その他＞
なお、実施形態は上記に限られるものではなく、様々に変形可能である。以下にその例をいくつか述べる。
【００９９】
以上の説明では、通信装置２０が制御装置１０から受信した制御パケットを用いて振り分けテーブル５１を設定する場合を例として説明したが、図２に示すシステム中に通信装置２０の初期設定を行う初期設定装置が含まれていても良い。システム中に初期設定装置が含まれる場合、各通信装置２０は、初期設定装置から振り分けテーブル５１や設定情報５４の設定を取得する。この場合、入力フレーム処理部３１は、初期設定装置から受信したパケットを制御パケットとして扱うので、制御実行部４３は、振り分けテーブル５１や設定情報５４の設定を行うことができる。また、初期設定装置を含むシステムの場合、個々の通信装置２０が初期設定装置から振り分けテーブル５１などの情報を取得するので、通信装置２０は、振り分けテーブル５１に設定する情報を含むフレームの転送処理を行わなくても良い。このため、各通信装置２０の処理負荷が軽くなるという利点がある。
【０１００】
以上の説明では、具体例として、制御フレームとデータフレームを区別する際に使用する識別子としてＶＬＡＮ  ＩＤが用いられる場合を例として説明したが、識別子はＶＬＡＮ  ＩＤに限られない。例えば、ＭＰＬＳラベルなどが識別子として用いられる場合にも同様に処理が行われる。
【０１０１】
以上の説明で示したフレームやテーブルの例は一例であり、フレームやテーブルに含まれる情報要素は実装に応じて任意に変更され得る。例えば、振り分けテーブル５１の内容と設定情報５４の内容は同じフレームで送信されても良い。
【０１０２】
以上の説明では、制御装置１０から通信装置２０に制御フレームが送信される場合について説明したが、通信装置２０に送信される制御フレームは、制御装置１０への応答を要求する制御フレームであってもよい。例えば、制御装置１０が通信装置２０に対して、その通信装置２０で得られた状態データ５２を制御装置１０に報告することを要求するフレームが以上の説明で述べた手順で転送されてもよい。状態データ５２を制御装置１０に報告することを要求するフレームを受信した通信装置２０は、適宜、状態データ５２を含むフレームを生成して、制御装置１０に向けて送信する。
【０１０３】
以上の説明では、特定の通信装置２０においてビット故障が発生した場合を例として説明したが、これは一例に過ぎない。例えば、通信装置２０での偶発的なデバイスの故障の発生や、ソフトエラーにより振り分けテーブル５１の値が制御装置１０から通知された値とずれた場合なども、ビット故障の発生時と同様の処理により、障害の誤検知を防ぐことができる。このため、これらのケースでも、無駄な通信経路の再検索や、無駄な通信経路の再建策による監視の中断を防止できる。
【０１０４】
上述の実施形態に関し、さらに以下の付記を開示する。
（付記１）
監視フレームを示す識別子である第１の識別子と監視フレームを示す識別子であり前記第１の識別子とは異なる第２の識別子を記憶する記憶部と、
前記第１の識別子を含む第１の監視フレームを送信し、前記第１の監視フレームを送信してから所定期間中に前記第１の監視フレームに対する応答を受信していない場合、前記第２の識別子を含む第２の監視フレームを送信する送信部と、
前記第２の監視フレームを送信してから所定期間中に前記第２の監視フレームに対する応答を受信すると障害がないと判定する判定部と、
を有することを特徴とする通信装置。
（付記２）
前記通信装置を制御する制御装置から、前記第１の識別子と前記第２の識別子を取得するとともに、前記第１の識別子を前記通信装置が送信する監視フレームに優先的に付加することを要求する情報を受信する受信部を備え、
前記送信部は、前記第１の監視フレームに対する応答を前記第１の監視フレームの送信から前記所定期間中に受信しない場合、前記第１の識別子の代わりに前記第２の識別子を用いた前記第２の監視フレームを送信する
ことを特徴とする付記１に記載の通信装置。
（付記３）
前記第１の監視フレームに対する応答を前記第１の監視フレームの送信から前記所定期間中に受信せず、かつ、前記第２の監視フレームに対する応答を前記第２の監視フレームの送信から前記所定期間中に受信すると、前記第２の監視フレームの送信先に送信する監視フレームに使用する識別子を、前記第１の識別子から前記第２の識別子に変更することを決定する決定部
を有することを特徴とする付記２に記載の通信装置。
（付記４）
前記受信部は、前記制御装置から前記送信先宛ての制御情報を含む第１の制御フレームを受信し、
前記送信部は、前記送信先に送信する監視フレームに使用する識別子を前記第２の識別子に変更している場合、前記第１の制御フレーム中のデータと前記第２の識別子を含む第２の制御フレームを前記送信先に送信する
ことを特徴とする付記３に記載の通信装置。
（付記５）
監視フレームを示す識別子である第１の識別子と監視フレームを示す識別子であり前記第１の識別子とは異なる第２の識別子を記憶する記憶部を備える通信装置が、
前記第１の識別子を含む第１の監視フレームを送信し、
前記第１の監視フレームを送信してから所定期間中に前記第１の監視フレームに対する応答を受信していない場合、前記第２の識別子を含む第２の監視フレームを送信し、
前記第２の監視フレームを送信してから所定期間中に前記第２の監視フレームに対する応答を受信すると障害がないと判定する
ことを特徴とする通信方法。
（付記６）
前記通信装置は、
前記通信装置を制御する制御装置から、前記第１の識別子と前記第２の識別子を取得するとともに、前記第１の識別子を前記通信装置が送信する監視フレームに優先的に付加することを要求する情報を受信し、
前記第１の監視フレームに対する応答を前記第１の監視フレームの送信から前記所定期間中に受信しない場合、前記第１の識別子の代わりに前記第２の識別子を用いて前記第２の監視フレームを送信する
ことを特徴とする付記５に記載の通信方法。
（付記７）
前記通信装置は、前記第１の監視フレームに対する応答を前記第１の監視フレームの送信から前記所定期間中に受信せず、かつ、前記第２の監視フレームに対する応答を前記第２の監視フレームの送信から前記所定期間中に受信すると、前記第２の監視フレームの送信先に送信する監視フレームに使用する識別子を、前記第１の識別子から前記第２の識別子に変更する
ことを特徴とする付記６に記載の通信方法。
（付記８）
前記通信装置は、
前記制御装置から前記送信先宛ての制御情報を含む第１の制御フレームを受信し、
前記送信先に送信する監視フレームに使用する識別子を前記第２の識別子に変更している場合、前記第１の制御フレーム中のデータと前記第２の識別子を含む第２の制御フレームを前記送信先に送信する
ことを特徴とする付記７に記載の通信方法。
【符号の説明】
【０１０５】
２  制御システム
４、５  監視制御網
１０  制御装置
２０  通信装置
２１  通信部
２２  送信部
２３  受信部
３０  制御部
３１  入力フレーム処理部
３２  出力フレーム処理部
３４  データ処理部
４０  制御フレーム処理部
４１  転送判定部
４２  識別子決定部
４３  制御実行部
５０  記憶部
５１  振り分けテーブル
５２  状態データ
５３  ルーティングテーブル
５４  設定情報
５５  設定更新テーブル
１００  インタフェース
１０１、１２１  物理ポート
１０２  ＰＨＹ/ＭＡＣ
１０３、１２２  プロセッサ
１０４  メモリ
１０５  ＳＷインタフェース
１１０  スイッチ
１１１  スイッチ回路
１２０  制御回路
【図１】
2018093351.tif 000003
【図２】
2018093351.tif 000004
【図３】
2018093351.tif 000005
【図４】
2018093351.tif 000006
【図５】
2018093351.tif 000007
【図６】
2018093351.tif 000008
【図７】
2018093351.tif 000009
【図８】
2018093351.tif 000010
【図９】
2018093351.tif 000011
【図１０】
2018093351.tif 000012
【図１１】
2018093351.tif 000013
【図１２】
2018093351.tif 000014