(57)【特許請求の範囲】
【請求項１】
状態照会メッセージを相手ノードに送信し、また相手ノードから状態照会メッセージを受信したときに状態応答メッセージを返送することにより相手ノードとの間の通信状態の正常確認を行う通信システムにおけるループ状態検出装置において、
第１のノードに設けられ、状態照会メッセージを伝送する信号の所定位置に第１の識別符号を搭載して第２のノードに送信する状態照会メッセージ送信手段と、
第２のノードに設けられ、前記状態照会メッセージを受信したときに、当該受信した状態照会メッセージを基にして状態応答メッセージを作成すると共に、前記第１の識別符号が搭載されていた前記所定位置に、前記第１の識別符号に代わって第２の識別符号を搭載し、当該状態応答メッセージを前記第１のノードに返送する状態応答メッセージ返送手段と、
前記第１のノードに設けられ、状態照会メッセージを受信したときに、当該受信した状態照会メッセージを伝送してきた信号の前記所定位置に搭載されている符号を調べ、前記第１の識別符号が搭載されていれば、前記第２のノードと自ノードとの間にループ状態が生じていると判断する判断手段と、
前記第１のノードに設けられ、前記第１のノードと前記第２のノードとを接続する回線を通じて、フレームの送受信処理を行うフレーム処理部と、
前記第１のノードに設けられ、回線毎に前記ループ状態が生じたか否かのループ状態検出状況を管理するループ状態管理テーブルと、
前記第１のノードに設けられ、回線毎に前記ループ状態の許容有無の情報を管理するループ状態許容有無情報管理テーブルと、
を有し、
前記フレーム処理部は、前記ループ状態管理テーブルの前記ループ状態検出状況にもとづき、該当回線に前記ループ状態が生じていることを認識すると、前記ループ状態有無情報管理テーブルを参照して、前記該当回線に生じている前記ループ状態の許容有無を判断し、前記ループ状態が許容されている場合には、前記該当回線を通じて前記フレームの送受信を行い、前記ループ状態が許容されていない場合には、前記該当回線上でのフレーム送受信を停止する、
ことを特徴とするループ状態検出装置。
【請求項２】
前記通信システムは、フレームリレー通信方式を採用すると共に、双方向のＰＶＣ状態確認手順を採用しており、
前記所定位置は、ＰＶＣ状態確認手順用メッセージを伝送するフレームのヘッダ部に設けられたコマンドレスポンス表示ビット位置であることを特徴とする請求項１記載のループ状態検出装置。
【請求項３】
前記判断手段は、前記ループ状態を複数回検出し、当該検出が所定条件を満たしたときに、前記ループ状態が生じていると最終的に判断し、また、前記検出が前記所定条件を満たさなかったときには、前記ループ状態が生じていないと最終的に判断すると共に、改めて初めから検出し直すことを特徴とする請求項１記載のループ状態検出装置。
【請求項４】
前記第１のノードに設けられ、前記判断手段による最終判断を記憶する記憶手段と、
前記第１のノードに設けられ、前記判断手段によって前記ループ状態が生じていないと最終的に判断されたときに、前記記憶手段に、前記判断手段による前回の最終的な判断が前記ループ状態が生じていると記憶されている場合には、前記第１のノードと前記第２のノードとの間の通信状態が前記ループ状態から正常通信状態へ遷移した旨のメッセージを運用者に通知する通知手段と、
を更に有することを特徴とする請求項１記載のループ状態検出装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ループ状態検出装置に関し、特に、状態照会メッセージを相手ノードに送信し、また相手ノードから状態照会メッセージを受信したときに状態応答メッセージを返送することにより相手ノードとの間の通信状態の正常確認を行う通信システムにおけるループ状態検出装置に関する。
【０００２】
特に本発明は、フレームリレー方式の通信システムに適用され、ＩＴＵ−Ｔ(International Telecommunication Union-Telecommunication Sector)勧告Ｘ．７６に示されたＰＶＣ（Permanent Virtual Circuit)状態確認手順を利用してノード間のループ状態を検出しようとするものである。
【０００３】
【従来の技術】
従来、フレームリレーは、ＬＡＮ間通信に求められる高速及び低遅延の通信を実現する通信方式として知られ、現在では既に多数の公衆フレームリレー網ならびに私設フレームリレー網が存在する。なお、これらのフレームリレー網で使用されるプロトコル（ＮＮＩ; Network-Network Interface ）としては、ＩＴＵ−Ｔ勧告Ｘ．７６が標準化されている。
【０００４】
ＩＴＵ−Ｔ勧告Ｘ．７６では、ＰＶＣ状態確認手順として双方向手順（１つのノードが状態照会及び状態応答の両方を行う方式）が定義されており、フレームリレー網において中継回線に障害（送信線のみ故障、あるいは受信線のみ故障を含む）が発生した場合は、リンク完全性確認によってエラーが検出されるようになっている。
【０００５】
以下に、ＩＴＵ−Ｔ勧告Ｘ．７６で規定されるＰＶＣ状態確認手順のリンク完全性確認の概要を説明する。
ＰＶＣ状態確認手順では、リンク完全性の確認及びＰＶＣ状態の通知のために、周期ポーリングを使用する。双方向のＰＶＣ状態確認手順では、以下に示すポーリング開始手順とポーリング応答手順とが、各ノードで実行される。
【０００６】
図１５は、ポーリング開始手順とポーリング応答手順とを示す図である。図１５では、ノードとしてＳＴＥ(Signalling Terminal Equipment) を想定し、ＳＴＥａとＳＴＥｂとの間で、状態照会のためのＳＥ(Status Enquiry)メッセージ及び当該メッセージに対する状態応答であるＳＴ(Status)メッセージが伝送される。
【０００７】
ポーリング開始手順では、周期的にＳＥメッセージを生成し、相手ＳＴＥに送信し、また、相手ＳＴＥから、ＳＥメッセージに対する応答として受信したＳＴメッセージを受信して受信処理を行う。なお、ＳＥメッセージは、例えば１０秒ごとに生成されるが、そのうちで６回に１回は、レポート種別がフルステータスのＳＥ−Ｆメッセージが生成される。
【０００８】
ポーリング応答手順では、ＳＥメッセージを受信したときに、それに対する応答としてＳＴメッセージを生成して、ＳＥメッセージを送信してきたＳＴＥに対して送信する。ＳＥ−Ｆメッセージに対しては、レポート種別がフルステータスのＳＴ−Ｆメッセージを送信する。ＳＴＥに状態変化があったときには、ＳＥメッセージに対してもＳＴ−Ｆメッセージを送信してもよい。
【０００９】
なお以下の説明では、基本的にＳＥメッセージ及びＳＴメッセージを用いて説明を行い、ＳＥ−Ｆメッセージ及びＳＴ−Ｆメッセージに特有の動作がある場合だけ別に説明を行うようにする。
【００１０】
こうしたメッセージを使用してリンク完全性確認を行うが、そのために、先ず、各ＳＴＥに２つの格納部ＰＩ，ＰＲをそれぞれ設ける。格納部ＰＩ，ＰＲの各々にはシーケンス番号Ｖ（Ｓ）及びシーケンス番号Ｖ（Ｒ）を格納するように構成する。また、ＳＥメッセージ及びＳＴメッセージにも、各々２つのシーケンス番号Ｎ（Ｓ）及びシーケンス番号Ｎ（Ｒ）を搭載する部分を設けるように構成する。
【００１１】
格納部ＰＩのシーケンス番号Ｖ（Ｓ）は、自ＳＴＥがＳＥメッセージを送信したときに、ＳＥメッセージに搭載されていたシーケンス番号Ｎ（Ｓ）がコピーされる。同様に、格納部ＰＲのシーケンス番号Ｖ（Ｓ）も、自ＳＴＥがＳＴメッセージを送信したときに、ＳＴメッセージに搭載されていたシーケンス番号Ｎ（Ｓ）がコピーされる。
【００１２】
格納部ＰＩのシーケンス番号Ｖ（Ｒ）は、自ＳＴＥがＳＴメッセージを受信したときに、ＳＴメッセージに搭載されていたシーケンス番号Ｎ（Ｓ）がコピーされる。更に、格納部ＰＩのシーケンス番号Ｖ（Ｒ）は、自ＳＴＥがＳＥメッセージを次に送信するときに、ＳＥメッセージに搭載されるシーケンス番号Ｎ（Ｒ）として使用される。同様に、格納部ＰＲのシーケンス番号Ｖ（Ｒ）は、自ＳＴＥがＳＥメッセージを受信したときに、ＳＥメッセージに搭載されていたシーケンス番号Ｎ（Ｓ）がコピーされる。更に、格納部ＰＲのシーケンス番号Ｖ（Ｒ）は、自ＳＴＥがＳＴメッセージを次に送信するときに、ＳＴメッセージに搭載されるシーケンス番号Ｎ（Ｒ）として使用される。
【００１３】
次に、図１５に示す具体的な例に沿って説明する。
先ず、ＳＴＥｂの格納部ＰＩのシーケンス番号Ｖ（Ｓ），Ｖ（Ｒ）が数値ａ，ｂにそれぞれ設定され、ＳＴＥｂの格納部ＰＲのシーケンス番号Ｖ（Ｓ），Ｖ（Ｒ）が数値ｘ，ｙにそれぞれ設定されているとする。これに伴い、ＳＴＥａの格納部ＰＩのシーケンス番号Ｖ（Ｓ），Ｖ（Ｒ）が数値ｙ，ｘにそれぞれ設定され、ＳＴＥａの格納部ＰＲのシーケンス番号Ｖ（Ｓ），Ｖ（Ｒ）が数値ｂ，ａにそれぞれ設定される。
【００１４】
ここで、ＳＴＥｂにポーリングのタイミングが到来して、ＳＥメッセージをＳＴＥａへ送信する場合、ＳＴＥｂの格納部ＰＩのシーケンス番号Ｖ（Ｓ）＝ａを読み出して、それに値１を加算した値（ａ＋１）を、ＳＥメッセージのシーケンス番号Ｎ（Ｓ）として設定する。また、ＳＥメッセージのシーケンス番号Ｎ（Ｒ）として、格納部ＰＩのシーケンス番号Ｖ（Ｒ）＝ｂを読み出して設定する。こうしてシーケンス番号Ｎ（Ｓ），Ｎ（Ｒ）が設定されたＳＥメッセージが、ＳＴＥａへ送信されると共に、ＳＴＥｂの格納部ＰＩのシーケンス番号Ｖ（Ｓ）には、ＳＥメッセージに設定されたシーケンス番号Ｎ（Ｓ）＝（ａ＋１）がコピーされる。
【００１５】
ＳＥメッセージを受信したＳＴＥａは、ＳＥメッセージに搭載されているシーケンス番号Ｎ（Ｒ）の値と、格納部ＰＲのシーケンス番号Ｖ（Ｓ）の値とを比較する。この場合、両方とも値ｂであるが、こうした同一の場合、ＳＴＥａは、ＳＴＥａとＳＴＥｂとの間の回線に異常がないと判断する。異常がない場合、ＳＥメッセージに搭載されているシーケンス番号Ｎ（Ｓ）の値（ａ＋１）を、格納部ＰＲのシーケンス番号Ｖ（Ｒ）として設定する。そして、ＳＴＥａの格納部ＰＲのシーケンス番号Ｖ（Ｓ）＝ｂを読み出して、それに値１を加算した値（ｂ＋１）を、ＳＴメッセージのシーケンス番号Ｎ（Ｓ）として設定する。また、ＳＴメッセージのシーケンス番号Ｎ（Ｒ）として、格納部ＰＲのシーケンス番号Ｖ（Ｒ）＝ａ＋１を読み出して設定する。こうしてシーケンス番号Ｎ（Ｓ），Ｎ（Ｒ）が設定されたＳＴメッセージが、ＳＴＥｂへ送信されると共に、ＳＴＥａの格納部ＰＲのシーケンス番号Ｖ（Ｓ）には、ＳＴメッセージに設定されたシーケンス番号Ｎ（Ｓ）がコピーされる。
【００１６】
なお、ＳＴＥａにおいて、受信したＳＥメッセージに搭載されているシーケンス番号Ｎ（Ｒ）の値と、格納部ＰＲのシーケンス番号Ｖ（Ｓ）の値とが異なる場合、ＳＴＥａとＳＴＥｂとの間の回線に異常があると判断する。この場合、格納部ＰＲのシーケンス番号Ｖ（Ｓ）の値は前の値を保持し、格納部ＰＲのシーケンス番号Ｖ（Ｒ）には、ＳＥメッセージに搭載されているシーケンス番号Ｎ（Ｓ）の値を設定する。更に、ＳＴＥａの格納部ＰＲのシーケンス番号Ｖ（Ｓ）を読み出して、それに値１を加算した値を、ＳＴメッセージのシーケンス番号Ｎ（Ｓ）として設定する。また、ＳＴメッセージのシーケンス番号Ｎ（Ｒ）として、格納部ＰＲのシーケンス番号Ｖ（Ｒ）を読み出して設定する。こうしてシーケンス番号Ｎ（Ｓ），Ｎ（Ｒ）が設定されたＳＴメッセージが、ＳＴＥｂへ送信されると共に、ＳＴＥａの格納部ＰＲのシーケンス番号Ｖ（Ｓ）には、ＳＴメッセージに設定されたシーケンス番号Ｎ（Ｓ）がコピーされる。
【００１７】
ＳＴメッセージを受信したＳＴＥｂは、ＳＴメッセージに搭載されているシーケンス番号Ｎ（Ｒ）の値と、格納部ＰＩのシーケンス番号Ｖ（Ｓ）の値とを比較する。この場合、両方とも値（ａ＋１）であるが、こうした同一の場合、ＳＴＥｂは、ＳＴＥａとＳＴＥｂとの間の回線に異常がないと判断する。異常がない場合、ＳＴメッセージに搭載されているシーケンス番号Ｎ（Ｓ）の値（ｂ＋１）を、格納部ＰＩのシーケンス番号Ｖ（Ｒ）として設定する。
【００１８】
なお、ＳＴＥｂにおいて、受信したＳＴメッセージに搭載されているシーケンス番号Ｎ（Ｒ）の値と、格納部ＰＩのシーケンス番号Ｖ（Ｓ）の値とが異なる場合、ＳＴＥａとＳＴＥｂとの間の回線に異常があると判断する。この場合、ＳＴメッセージを廃棄し、格納部ＰＩのシーケンス番号Ｖ（Ｓ），Ｖ（Ｒ）の各値は廃棄したＳＴメッセージの前の値を保持し、次のＳＥメッセージの送信のためのＳＴＥｂに対するポーリングタイミングの到来を待つ。
【００１９】
ここで、今度はＳＴＥａにポーリングのタイミングが到来して、ＳＥメッセージをＳＴＥｂへ送信する場合、ＳＴＥａの格納部ＰＩのシーケンス番号Ｖ（Ｓ）＝ｙを読み出して、それに値１を加算した値（ｙ＋１）を、ＳＥメッセージのシーケンス番号Ｎ（Ｓ）として設定する。また、ＳＥメッセージのシーケンス番号Ｎ（Ｒ）として、格納部ＰＩのシーケンス番号Ｖ（Ｒ）＝ｘを読み出して設定する。こうしてシーケンス番号Ｎ（Ｓ），Ｎ（Ｒ）が設定されたＳＥメッセージが、ＳＴＥｂへ送信されると共に、ＳＴＥａの格納部ＰＩのシーケンス番号Ｖ（Ｓ）には、ＳＥメッセージに設定されたシーケンス番号Ｎ（Ｓ）＝（ｙ＋１）がコピーされる。
【００２０】
ＳＥメッセージを受信したＳＴＥｂは、ＳＥメッセージに搭載されているシーケンス番号Ｎ（Ｒ）の値と、格納部ＰＲのシーケンス番号Ｖ（Ｓ）の値とを比較する。この場合、両方とも値ｘであるが、こうした同一の場合、ＳＴＥｂは、ＳＴＥａとＳＴＥｂとの間の回線に異常がないと判断する。異常がない場合、ＳＥメッセージに搭載されているシーケンス番号Ｎ（Ｓ）の値（ｙ＋１）を、格納部ＰＲのシーケンス番号Ｖ（Ｒ）として設定する。そして、ＳＴＥｂの格納部ＰＲのシーケンス番号Ｖ（Ｓ）＝ｘを読み出して、それに値１を加算した値（ｘ＋１）を、ＳＴメッセージのシーケンス番号Ｎ（Ｓ）として設定する。また、ＳＴメッセージのシーケンス番号Ｎ（Ｒ）として、格納部ＰＲのシーケンス番号Ｖ（Ｒ）＝ｙ＋１を読み出して設定する。こうしてシーケンス番号Ｎ（Ｓ），Ｎ（Ｒ）が設定されたＳＴメッセージが、ＳＴＥａへ送信されると共に、ＳＴＥｂの格納部ＰＲのシーケンス番号Ｖ（Ｓ）には、ＳＴメッセージに設定されたシーケンス番号Ｎ（Ｓ）がコピーされる。
【００２１】
ＳＴメッセージを受信したＳＴＥａは、ＳＴメッセージに搭載されているシーケンス番号Ｎ（Ｒ）の値と、格納部ＰＩのシーケンス番号Ｖ（Ｓ）の値とを比較する。この場合、両方とも値（ｙ＋１）であるが、こうした同一の場合、ＳＴＥａは、ＳＴＥａとＳＴＥｂとの間の回線に異常がないと判断する。異常がない場合、ＳＴメッセージに搭載されているシーケンス番号Ｎ（Ｓ）の値（ｘ＋１）を、格納部ＰＩのシーケンス番号Ｖ（Ｒ）として設定する。
【００２２】
ところで、ＳＴＥａとＳＴＥｂとの間の回線に異常があると判断された場合でも、例えば、連続４回のリンク完全性の確認において、そうした異常判断が３回あったときに初めて異常と最終的に判定するようにして、誤判断を回避するようにしている。
【００２３】
【発明が解決しようとする課題】
しかし、ＳＴＥａとＳＴＥｂとの間の回線に作業ミス等によりループが構成された場合に、異常と判定されねばならないにも拘わらず、異常と最終的に判定されないという問題がある。これを、図１６を参照して説明する。
【００２４】
図１６は、ＳＴＥａとＳＴＥｂとの間の回線にループが構成された場合のリンク完全性の確認のシーケンスを示す図である。図１６において、ＳＴＥａとＳＴＥｂとは、ＩＴＵ−Ｔ勧告Ｘ．７６に従ってＮＮＩによって接続されており、ＳＴＥｂとＤＴＥ(Data Terminal Equipment) ｂとは、ＩＴＵ−Ｔ勧告Ｘ．３６に従ってＵＮＩ(User Network Interface)により接続されているものとする。
【００２５】
ＳＴＥａとＳＴＥｂとの間の回線において、ループが形成されると、例えばＳＴＥｂがＳＴＥａに向けて送信したＳＥメッセージ［Ｎ（Ｓ）＝ａ＋２，Ｎ（Ｒ）＝ｂ＋１］がそのまま折りかえって（図１６のＲ１）、ＳＴＥｂは、ＳＴＥａから送信されたＳＥメッセージとして受信することになる。ＳＴＥｂでは、ＳＥメッセージの受信時に、ポーリング応答手順が起動されるが、ＳＥメッセージに搭載されているシーケンス番号Ｎ（Ｒ）の値（ｂ＋１）と、格納部ＰＲのシーケンス番号Ｖ（Ｓ）の値（ｘ＋１）とが異なるので、ポーリング応答手順における異常の第１回目の検出としてカウントする。この場合、ＳＥメッセージのシーケンス番号Ｎ（Ｓ）＝ａ＋２を、ＳＴＥｂの格納部ＰＲのシーケンス番号Ｖ（Ｒ）として設定する。また、格納部ＰＲのシーケンス番号Ｖ（Ｓ）＝ｘ＋１に数値１を加算して得た値（ｘ＋２）を、ＳＴメッセージのシーケンス番号Ｎ（Ｓ）に設定し、格納部ＰＲのシーケンス番号Ｖ（Ｒ）＝ａ＋２を、ＳＴメッセージのシーケンス番号Ｎ（Ｒ）に設定して、このＳＴメッセージをＳＴＥａに向けて送信する（図１６のＲ２）。
【００２６】
しかし、このＳＴメッセージも、ループによってそのまま折りかえってＳＴＥｂに届き（図１６のＲ３）、ＳＴＥｂは、ＳＴＥａから送信されたＳＴメッセージとして受信することになり、ポーリング開始手順が起動される。ＳＴＥｂは、ＳＴメッセージに搭載されているシーケンス番号Ｎ（Ｒ）の値と、格納部ＰＩのシーケンス番号Ｖ（Ｓ）の値とを比較する。この場合、両方とも値（ａ＋２）となってしまい、本来ならばポーリング開始手順における第１回目の異常検出となるべきにも拘わらず、ＳＴＥｂは、ＳＴＥａとＳＴＥｂとの間の回線に異常がないと判断する。図１６中の白丸は、異常がないと判断した場合を示し、黒丸は、異常があると判断した場合を示す。
【００２７】
この後ＳＴＥｂにおいて、ＳＥメッセージの次の送信契機になると、ポーリング開始手順において、ＳＥメッセージ［Ｎ（Ｓ）＝ａ＋３，Ｎ（Ｒ）＝ｘ＋２］がＳＴＥａに向けて送信される。ループが形成されていれば、このＳＥメッセージはそのまま折り返され（図１６のＲ４）、ＳＴＥｂは、ＳＴＥａから送られたＳＥメッセージとして受信する。
【００２８】
ＳＴＥｂでは、ＳＥメッセージの受信時、ポーリング応答手順が起動され、ＳＥメッセージに搭載されているシーケンス番号Ｎ（Ｒ）の値と、格納部ＰＲのシーケンス番号Ｖ（Ｓ）の値とを比較する。この場合、両方とも値（ｘ＋２）となってしまい、本来ならばポーリング応答手順における第２回目の異常検出となるべきにも拘わらず、ＳＴＥｂは、ＳＴＥａとＳＴＥｂとの間の回線に異常がないと判断する。
【００２９】
その後ＳＴＥｂは、ＳＥメッセージのシーケンス番号Ｎ（Ｓ）＝ａ＋３を、ＳＴＥｂの格納部ＰＲのシーケンス番号Ｖ（Ｒ）として設定する。また、格納部ＰＲのシーケンス番号Ｖ（Ｓ）＝ｘ＋２に数値１を加算して得た値（ｘ＋３）を、ＳＴメッセージのシーケンス番号Ｎ（Ｓ）に設定し、格納部ＰＲのシーケンス番号Ｖ（Ｒ）＝ａ＋３を、ＳＴメッセージのシーケンス番号Ｎ（Ｒ）に設定して、このＳＴメッセージをＳＴＥａに向けて送信する（図１６のＲ５）。
【００３０】
このＳＴメッセージも、ループによってそのまま折りかえってＳＴＥｂに届き（図１６のＲ６）、ＳＴＥｂは、ＳＴＥａから送信されたＳＴメッセージとして受信することになり、ポーリング開始手順が起動される。ＳＴＥｂは、ＳＴメッセージに搭載されているシーケンス番号Ｎ（Ｒ）の値と、格納部ＰＩのシーケンス番号Ｖ（Ｓ）の値とを比較する。この場合、両方とも値（ａ＋３）となってしまい、本来ならばポーリング開始手順における第２回目の異常検出となるべきにも拘わらず、ＳＴＥｂは、ＳＴＥａとＳＴＥｂとの間の回線に異常がないと判断する。
【００３１】
以降同様にポーリング応答手順、ポーリング開始手順において、回線異常は検出できない。
すなわち、回線にループが発生した直後にＳＴＥｂから送信されたＳＥメッセージに基づき、ＳＴＥｂが、ポーリング応答手順において回線異常を検出するが、それ以降は、回線にループが発生していても、回線に異常がないと判断されてしまう。従って、ポーリング開始手順またはポーリング応答手順のいずれかにおいて連続４回のリンク完全性の確認において、異常検出が３回あったときに初めて異常と最終的に判定する方法では、回線ループの発生を検出することができない。
【００３２】
このように、ＳＴＥａとＳＴＥｂとの間にループ発生があっても検出がされないため、ユーザフレームがＤＴＥｂからＳＴＥｂに送られてくることを阻止することができず、通信障害が発生してしまう（図１６のＲ７）。
【００３３】
上記の問題は、フレームリレーＮＮＩだけでなく、フレームリレーＵＮＩでＰＶＣ状態確認手順として双方向手順を用いている場合も同様である。
本発明はこのような点に鑑みてなされたものであり、双方向のＰＶＣ状態確認手順におけるリンク完全性確認において、ループ状態を確実に検出できるようにしたループ状態検出装置を提供することを目的とする。
【００３４】
【課題を解決するための手段】
本発明では上記目的を達成するために、図１に示すように、第１のノード１に設けられ、状態照会メッセージを伝送する信号の所定位置に第１の識別符号を搭載して第２のノード２に送信する状態照会メッセージ送信手段１ａと、第２のノード２に設けられ、状態照会メッセージを受信したときに、この受信した状態照会メッセージを基にして状態応答メッセージを作成すると共に、第１の識別符号が搭載されていた所定位置に、第１の識別符号に代わって第２の識別符号を搭載し、この状態応答メッセージを第１のノード１に返送する状態応答メッセージ返送手段２ａと、第１のノード１に設けられ、状態照会メッセージを受信したときに、この受信した状態照会メッセージを伝送してきた信号の所定位置に搭載されている符号を調べ、第１の識別符号が搭載されていれば、第２のノード２と自ノード１との間の通信状態に異常が発生していると判断する判断手段１ｂとを有することを特徴とするループ状態検出装置が提供される。
【００３５】
以上のような構成において、ループが発生していない正常な状態では、第１のノード１に設けられた状態照会メッセージ送信手段１ａが、状態照会メッセージを伝送する信号の所定位置に第１の識別符号を搭載して第２のノード２に送信する。そして、この状態照会メッセージを受信した第２のノード２の状態応答メッセージ返送手段２ａが、この受信した状態照会メッセージを基にして状態応答メッセージを作成すると共に、第１の識別符号が搭載されていた所定位置に、第１の識別符号に代わって第２の識別符号を搭載し、この状態応答メッセージを第１のノード１に返送する。
【００３６】
なお、双方向のＰＶＣ状態確認手順であるため、第１のノード１と第２のノード２とは同一の構成を持つ。即ち、第２のノード２にも、第１のノードの状態照会メッセージ送信手段１ａに相当する手段があり、これを、図１では第２ノード側状態照会メッセージ送信手段２ｂとする。第２ノード側状態照会メッセージ送信手段２ｂからも、第１のノードの状態照会メッセージ送信手段１ａとは独立したポーリングタイミングにより状態照会メッセージが第１のノード１へ送信される。
【００３７】
次に、第１のノード１と第２のノード２との間の回線にループが発生したとする。この場合、第１のノード１の状態照会メッセージ送信手段１ａから第２のノード２に向けて送信された状態照会メッセージは、そのまま第１のノード１へ戻ってしまう。こうしたループによって戻ってきた状態照会メッセージを、第２ノード側状態照会メッセージ送信手段２ｂから送信された状態照会メッセージと区別するために、第１のノード１に設けられた判断手段１ｂが、状態照会メッセージを受信したときに、この受信した状態照会メッセージを伝送してきた信号の所定位置に搭載されている符号を調べる。所定位置に第１の識別符号が搭載されていれば、受信した状態照会メッセージが、自ノード１から送信され、ループによって戻ってきた状態照会メッセージであることが分かり、従って、第２のノード２と自ノード１との間の通信状態に異常が発生していると判断できる。一方、所定位置に第２の識別符号が搭載されていれば、受信した状態照会メッセージが、第２のノード２から送信された状態照会メッセージであることが分かり、従って、第２のノード２と自ノード１との間の通信状態は正常であると判断できる。
【００３８】
かくして、双方向のＰＶＣ状態確認手順におけるリンク完全性確認において、ループ状態を確実に検出できることになる。
【００３９】
【発明の実施の形態】
以下、本発明の実施の形態を、図面を参照して説明する。
まず、第１の実施の形態の原理構成を、図１を参照して説明する。第１の実施の形態は、第１のノード１に設けられ、状態照会メッセージを伝送する信号の所定位置に第１の識別符号を搭載して第２のノード２に送信する状態照会メッセージ送信手段１ａと、第２のノード２に設けられ、状態照会メッセージを受信したときに、この受信した状態照会メッセージを基にして状態応答メッセージを作成すると共に、第１の識別符号が搭載されていた所定位置に、第１の識別符号に代わって第２の識別符号を搭載し、この状態応答メッセージを第１のノード１に返送する状態応答メッセージ返送手段２ａと、第１のノード１に設けられ、状態照会メッセージを受信したときに、この受信した状態照会メッセージを伝送してきた信号の所定位置に搭載されている符号を調べ、第１の識別符号が搭載されていれば、第２のノード２と自ノード１との間の通信状態に異常が発生していると判断する判断手段１ｂとから構成される。
【００４０】
以上のような構成において、ループが発生していない正常な状態では、第１のノード１に設けられた状態照会メッセージ送信手段１ａが、状態照会メッセージを伝送する信号の所定位置に第１の識別符号を搭載して第２のノード２に送信する。そして、この状態照会メッセージを受信した第２のノード２の状態応答メッセージ返送手段２ａが、この受信した状態照会メッセージを基にして状態応答メッセージを作成すると共に、第１の識別符号が搭載されていた所定位置に、第１の識別符号に代わって第２の識別符号を搭載し、この状態応答メッセージを第１のノード１に返送する。
【００４１】
なお、双方向のＰＶＣ状態確認手順であるため、第１のノード１と第２のノード２とは同一の構成を持つ。即ち、第２のノード２にも、第１のノードの状態照会メッセージ送信手段１ａに相当する手段があり、これを、図１では第２ノード側状態照会メッセージ送信手段２ｂとする。第２ノード側状態照会メッセージ送信手段２ｂからも、第１のノードの状態照会メッセージ送信手段１ａとは独立したポーリングタイミングにより状態照会メッセージが第１のノード１へ送信される。
【００４２】
次に、第１のノード１と第２のノード２との間の回線にループが発生したとする。この場合、第１のノード１の状態照会メッセージ送信手段１ａから第２のノード２に向けて送信された状態照会メッセージは、そのまま第１のノード１へ戻ってしまう。こうしたループによって戻ってきた状態照会メッセージを、第２ノード側状態照会メッセージ送信手段２ｂから送信された状態照会メッセージと区別するために、第１のノード１に設けられた判断手段１ｂが、状態照会メッセージを受信したときに、この受信した状態照会メッセージを伝送してきた信号の所定位置に搭載されている符号を調べる。所定位置に第１の識別符号が搭載されていれば、受信した状態照会メッセージが、自ノード１から送信され、ループによって戻ってきた状態照会メッセージであることが分かり、従って、第２のノード２と自ノード１との間の通信状態に異常が発生していると判断できる。一方、所定位置に第２の識別符号が搭載されていれば、受信した状態照会メッセージが、第２のノード２から送信された状態照会メッセージであることが分かり、従って、第２のノード２と自ノード１との間の通信状態は正常であると判断できる。
【００４３】
かくして、双方向のＰＶＣ状態確認手順におけるリンク完全性確認において、ループ状態を確実に検出できることになる。
次に、第１の実施の形態を詳しく説明する。
【００４４】
図２は、ループ状態検出装置が含まれるフレームリレー交換機の構成を示すブロック図である。このフレームリレー交換機では、フレームリレーＵＮＩ／ＮＮＩで双方向のＰＶＣ状態確認手順を採用しているものとする。図２では、フレームリレー交換機の中で、本発明に関連する部分だけを図示する。
【００４５】
即ち、フレームリレー交換処理部１０が、ＣＰＵ (Central Processing Unit)，ＲＯＭ (Read Only Memory) ，ＲＡＭ (Random Access Memory) ，入出力装置等からなるデータ処理装置で構成され、このデータ処理装置が実現する機能として、フレーム受信処理部１１、フレーム送信処理部１２、ポーリング応答手順処理部１３、フォーマットチェック処理部１４、ループ状態チェック処理部１５、警報メッセージ出力処理部１６がある。また、このデータ処理装置内に、ＰＶＣ状態確認手順管理テーブル１７、ループ状態管理テーブル１８、ループ状態許容有無情報管理テーブル１９が設けられる。
【００４６】
各処理部についての説明の前に、フレームリレー交換処理部１０が送受信するフレームのフォーマット及び各テーブルについて説明する。
図３は、フレームリレー交換処理部１０が送受信するフレームのフォーマットを示す図である。このフレームフォーマットは、ＩＴＵ−Ｔ勧告Ｑ．９２２によって規定されており、図３ではそのヘッダ部であるＤＬコアだけを図示している。
【００４７】
このフレームがＰＶＣ状態確認手順用メッセージの伝送用に使用されるときには、ＤＬＣＩ，ＦＥＣＮ，ＢＥＣＮ，ＤＥの各フィールドには値０がそれぞれ設定される。ＰＶＣ状態確認手順用メッセージとしては、状態照会のためのＳＥ(Status Enquiry)メッセージと、当該メッセージに対する状態応答であるＳＴ(STatus)メッセージとがある。
【００４８】
また、Ｃ／Ｒ(Command/Response)フィールドは、ＰＶＣ状態確認手順用メッセージの伝送時には、ＰＶＣ状態確認手順用メッセージの送信元を明示するために使用される。即ち、ＰＶＣ状態確認手順用メッセージが２つのＳＴＥの間で送受信されるときに、それらのＳＴＥのうちの一方がＰＶＣ状態確認手順用メッセージを送信するときに、Ｃ／Ｒフィールドに値０を記載し、２つのＳＴＥのうちの他方がＰＶＣ状態確認手順用メッセージを送信するときに、Ｃ／Ｒフィールドに値１を記載するようにする。
【００４９】
なお、図３には示していないが、ＰＶＣ状態確認手順用メッセージを伝送するフレームの情報フィールドには、シーケンス番号Ｎ（Ｓ），Ｎ（Ｒ）が搭載される。
【００５０】
図４は、ＰＶＣ状態確認手順管理テーブル１７の構成を示す図である。このテーブルは、回線番号毎に動作モード欄とＣ／Ｒビット設定値欄とを持ち、動作モード欄には、対応する回線におけるＰＶＣ状態確認手順の動作モードが記載される。動作モードとしては、双方向モード、ＤＴＥモード、ＤＣＥモードの３つがある。双方向モードは、ポーリング開始手順及びポーリング応答手順の両方を実行するモードであり、ＤＴＥモードはポーリング開始手順だけを実行するモードであり、ＤＣＥモードはポーリング応答手順だけを実行するモードである。
【００５１】
Ｃ／Ｒビット設定値欄には、自ＳＴＥがＰＶＣ状態確認手順用メッセージを送信する際に、このメッセージを搭載するフレーム内のＣ／Ｒフィールドに設定される値が記載される。この欄は、動作モード欄に双方向モードが設定されている時にのみ有効となる。例えば後述の図１３のＳＴＥｂでは、ＳＴＥａに対応する回線におけるＰＶＣ状態確認手順の動作モードが双方向モードであり、Ｃ／Ｒビット設定値欄は１に設定されている。
【００５２】
図５は、ループ状態管理テーブル１８の構成を示す図である。このテーブルは、回線番号毎にループ状態検出状況欄を持ち、対応する回線においてループが検出されている状態か否かの記載が行われる。
【００５３】
図６は、ループ状態許容有無情報管理テーブル１９の構成を示す図である。このテーブルは、回線番号に加え、更にＤＬＣＩ(Data Link Connection Identifier) 番号毎にループ状態許容有無表示欄を持ち、対応する回線においてループ状態が検出されているときでも、対応のＤＬＣＩ番号のリンクにフレームを送信してよいか否かの記載が行われる。詳しくは後述するが、このテーブルは疎通試験において効果を発揮する。
【００５４】
次に、フレーム受信処理部１１、フレーム送信処理部１２、ポーリング応答手順処理部１３、フォーマットチェック処理部１４、ループ状態チェック処理部１５、警報メッセージ出力処理部１６の各処理内容を、図７〜図１２を参照して説明する。
【００５５】
図７は、フレーム受信処理部１１の処理手順を示すフローチャートである。以下、図７中のステップ番号（Ｓ）を適宜引用して説明する。
フレーム受信処理部１１は、回線からフレームを受信した際に、受信フレーム内のＤＬＣＩフィールドに記載されている番号を取り出し（Ｓ１）、当該番号が０であれば、受信フレームがＰＶＣ状態確認手順関連メッセージのフレームであると判断する（Ｓ２）。そしてフレーム受信処理部１１は、ＰＶＣ状態確認手順関連メッセージのフレームだけを、当該フレームが受信された回線の番号と共にフォーマットチェック処理部１４へ渡し、フォーマットチェック処理部１４を起動する（Ｓ３）。フォーマットチェック処理部１４によるその後の処理によって復帰情報がチェックＮＧと設定された場合は、フレーム受信処理部１１は受信フレームを廃棄し（Ｓ４，Ｓ５）、復帰情報がチェックＮＧと設定されなかった場合は、受信フレームに対してＰＶＣ状態確認の分析を行う（Ｓ４，Ｓ６）。
なおステップＳ２において、ＤＬＣＩ番号が０以外の数値であれば、受信フレームがユーザフレームと判断してユーザフレーム受信処理を行う（Ｓ７）。
【００５６】
図８は、フォーマットチェック処理部１４の処理手順を示すフローチャートである。以下、図８中のステップ番号（Ｓ）を適宜引用して説明する。
フォーマットチェック処理部１４は、フレーム受信処理部１１から回線番号と受信フレームとを受け取り、これらをループ状態チェック処理部１５へ送り、ループ状態チェック処理部１５を起動する（Ｓ１１）。ループ状態チェック処理部１５によるその後の処理により、復帰情報がチェックＮＧと判定された場合は、フォーマットチェック処理部１４は、フレーム受信処理部１１が受信したフレームに関して、復帰情報にチェックＮＧを設定する（Ｓ１２，Ｓ１３）。復帰情報がチェックＮＧと判定されなかった場合は、フォーマットチェック処理部１４は、受信フレームに対してフォーマット分析処理を行う（Ｓ１２，Ｓ１４）。
【００５７】
図９は、ループ状態チェック処理部１５の処理手順を示すフローチャートである。以下、図９中のステップ番号（Ｓ）を適宜引用して説明する。
ループ状態チェック処理部１５では、状態確認手順管理テーブル１７（図４）を参照して、フォーマットチェック処理部１４から送られた回線番号に対応して設定されている動作モードを調べる（Ｓ２１）。動作モードが双方向モードの場合、フォーマットチェック処理部１４から送られた受信フレームの中にあるＣ／Ｒフィールドに記載されている値を取り出す（Ｓ２２，Ｓ２３）。一方、状態確認手順管理テーブル１７（図４）を参照して、フォーマットチェック処理部１４から送られた回線番号に対応して設定されているＣ／Ｒ設定値を調べる（Ｓ２４）。ステップＳ２３で取り出したＣ／Ｒフィールド記載値が、ステップＳ２４で得たＣ／Ｒ設定値と異なる場合には回線に異常がないと判断し、等しい場合にはループ状態が発生していると判断する（Ｓ２５）。これを、図１３を参照して具体的に説明する。
【００５８】
図１３は、ＳＴＥａ、ＳＴＥｂ、及びＤＴＥｂの各ノード間においてポーリング開始手順及びポーリング応答手順が実行されたときの特にＳＴＥｂにおけるシーケンスを示す図である。
【００５９】
先ず、ＳＴＥｂの格納部ＰＩのシーケンス番号Ｖ（Ｓ），Ｖ（Ｒ）が数値ａ，ｂにそれぞれ設定され、ＳＴＥｂの格納部ＰＲのシーケンス番号Ｖ（Ｓ），Ｖ（Ｒ）が数値ｘ，ｙにそれぞれ設定されているとする。これに伴い、ＳＴＥａの格納部ＰＩのシーケンス番号Ｖ（Ｓ），Ｖ（Ｒ）が数値ｙ，ｘにそれぞれ設定され、ＳＴＥａの格納部ＰＲのシーケンス番号Ｖ（Ｓ），Ｖ（Ｒ）が数値ｂ，ａにそれぞれ設定される。
【００６０】
ここで、図１３にＲ１１で示すように、ＳＴＥｂにポーリングのタイミングが到来して、ＳＥメッセージをＳＴＥａへ送信する場合、ＳＴＥｂの格納部ＰＩのシーケンス番号Ｖ（Ｓ）＝ａを読み出して、それに値１を加算した値（ａ＋１）を、ＳＥメッセージのシーケンス番号Ｎ（Ｓ）として設定する。また、ＳＥメッセージのシーケンス番号Ｎ（Ｒ）として、格納部ＰＩのシーケンス番号Ｖ（Ｒ）＝ｂを読み出して設定する。更に、こうしてシーケンス番号Ｎ（Ｓ），Ｎ（Ｒ）が設定されたＳＥメッセージをフレームで伝送するに当たり、フレームのＣ／Ｒフィールドに設定すべき値を状態確認手順管理テーブルより求め（値１）、Ｃ／Ｒフィールドに値１を設定し、このフレームをＳＴＥａへ送信する。
【００６１】
なお、ＳＴＥｂの格納部ＰＩのシーケンス番号Ｖ（Ｓ）には、ＳＥメッセージに設定されたシーケンス番号Ｎ（Ｓ）＝（ａ＋１）がコピーされる。
ループが発生していなければ、ＳＥメッセージを受信したＳＴＥａがＳＴメッセージを作成してＳＴＥｂへ返送する。そのＳＴメッセージには、従来の方法によりシーケンス番号Ｎ（Ｓ）＝ｂ＋１、Ｎ（Ｒ）＝ａ＋１が設定されると共に、新たにＳＴメッセージを伝送するフレームのＣ／Ｒフィールドに値０が設定される。
【００６２】
ＳＴメッセージを受信したＳＴＥｂは、ＳＴメッセージに搭載されているシーケンス番号Ｎ（Ｒ）の値と、格納部ＰＩのシーケンス番号Ｖ（Ｓ）の値とを比較する。更に、受信したフレームのＣ／Ｒフィールドに搭載されている値と、自ＳＴＥｂの状態確認手順管理テーブル１７に格納されているＣ／Ｒ設定値とを比較する。前者のシーケンス番号の比較において同一であり、かつ、後者のＣ／Ｒ値の比較において異なっていれば、ＳＴＥａとＳＴＥｂとの間の回線に異常がないと判断する。それ以外の場合には、ＳＴＥａとＳＴＥｂとの間の回線に異常が発生していると判断する。この場合、シーケンス番号が両方とも値（ａ＋１）で同一であり、Ｃ／Ｒ値が互いに異なるので、ＳＴＥｂは、ＳＴＥａとＳＴＥｂとの間の回線に異常がないと判断する。異常がない場合、ＳＴメッセージに搭載されているシーケンス番号Ｎ（Ｓ）の値（ｂ＋１）を、格納部ＰＩのシーケンス番号Ｖ（Ｒ）として設定する（Ｒ１１）。
【００６３】
一方、図１３にＲ１２で示すように、シーケンス番号Ｎ（Ｓ）＝ｙ＋１、Ｎ（Ｒ）＝ｘを設定したＳＥメッセージが搭載されると共に、Ｃ／Ｒフィールドに値０が設定されたフレームがＳＴＥｂに送られると、ＳＴＥｂは、ＳＥメッセージに搭載されているシーケンス番号Ｎ（Ｒ）の値と、格納部ＰＲのシーケンス番号Ｖ（Ｓ）の値とを比較する。更に、受信したフレームのＣ／Ｒフィールドに搭載されている値と、自ＳＴＥｂの状態確認手順管理テーブル１７に格納されているＣ／Ｒ設定値とを比較する。この場合も、前者のシーケンス番号の比較において同一であり、かつ、後者のＣ／Ｒ値の比較において異なっていれば、ＳＴＥａとＳＴＥｂとの間の回線に異常がないと判断する。それ以外の場合には、ＳＴＥａとＳＴＥｂとの間の回線に異常が発生していると判断する。なお、従来は、前者のシーケンス番号の比較において異なっていた場合、回線異常発生と判断してもＳＴメッセージを作成して送信するようにしている。しかし、本発明では、前者のシーケンス番号の比較において異なっている場合に、後者のＣ／Ｒ値の比較において同一であった場合には、ＳＥメッセージを破棄し、ＳＴメッセージの作成及び送信を行わない。
【００６４】
この場合、シーケンス番号が両方とも値ｘで同一であり、Ｃ／Ｒ値が互いに異なるので、ＳＴＥｂは、ＳＴＥａとＳＴＥｂとの間の回線に異常がないと判断する。異常がない場合、ＳＴＥｂは、ＳＥメッセージに搭載されているシーケンス番号Ｎ（Ｓ）の値（ｙ＋１）を、格納部ＰＲのシーケンス番号Ｖ（Ｒ）として設定する。そして、ＳＴＥｂの格納部ＰＲのシーケンス番号Ｖ（Ｓ）＝ｘを読み出して、それに値１を加算した値（ｘ＋１）を、ＳＴメッセージのシーケンス番号Ｎ（Ｓ）として設定する。また、ＳＴメッセージのシーケンス番号Ｎ（Ｒ）として、格納部ＰＲのシーケンス番号Ｖ（Ｒ）＝ｙ＋１を読み出して設定する。更に、こうしてシーケンス番号Ｎ（Ｓ），Ｎ（Ｒ）が設定されたＳＴメッセージを伝送するフレームのＣ／Ｒフィールドに値１を設定し、このフレームをＳＴＥａへ送信する。なお、ＳＴＥｂの格納部ＰＲのシーケンス番号Ｖ（Ｓ）には、ＳＴメッセージに設定されたシーケンス番号Ｎ（Ｓ）＝ｘ＋１がコピーされる。
【００６５】
ここで、ＳＴＥａとＳＴＥｂとの間の回線にループが形成されたとする。この場合に、図１３のＲ１３で示すように、例えばＳＴＥｂがＳＴＥａに向けて送信した、ＳＥメッセージ［Ｎ（Ｓ）＝ａ＋２，Ｎ（Ｒ）＝ｂ＋１］、Ｃ／Ｒフィールド設定値＝１を搭載したフレームがそのまま折りかえって、ＳＴＥｂは、ＳＴＥａから送信されたＳＥメッセージとして受信することになる。ＳＴＥｂでは、ポーリング応答手順が起動され、Ｃ／Ｒ値が同一であるので、送られたＳＥメッセージを破棄し、ＳＴメッセージの作成や送信を行わない。
【００６６】
即ち、従来であれば、図１６のＲ２のようにＳＴメッセージをＳＴＥａに向けて送信するため、このＳＴメッセージが図１６のＲ３のようにそのまま戻って、ＳＴＥｂにおいて、回線は正常な状態であると誤判断されていたが、こうした誤判断がなくなることになる。なお、ここで言う回線の異常とは、回線のループ状態を指す。
【００６７】
図９に戻って、ループ状態チェック処理部１５は、ループ状態管理テーブル１８（図５）を参照して、回線番号に対応するループ状態検出状況を取り出す（Ｓ２６）。ループ状態検出状況が「ループ状態以外」の場合は、「ループ状態以外」から「ループ状態」への遷移と判断し、ループ状態管理テーブル１８のループ状態検出状況に「ループ状態」を設定し（Ｓ２７，Ｓ２８）、警報メッセージ出力処理部１６へ、出力種別＝ループ状態検出ならびに回線番号を送り、警報メッセージ出力処理部１６を起動する（Ｓ２９）。その後、復帰情報をチェックＮＧと判定してフォーマットチェック処理部１４に通知する（Ｓ３０）。
【００６８】
また、ステップＳ２５において、ステップＳ２３で取り出したＣ／Ｒフィールド記載値が、ステップＳ２４で得たＣ／Ｒ設定値と異なる場合には回線に異常がないと判断し、ループ状態チェック処理部１５は、ループ状態管理テーブル１８（図５）を参照して、回線番号に対応するループ状態検出状況を取り出す（Ｓ３１）。ループ状態検出状況が「ループ状態」の場合は、「ループ状態」から「ループ状態以外」への遷移と判断し、ループ状態管理テーブル１８のループ状態検出状況に「ループ状態以外」を設定し（Ｓ３２，Ｓ３３）、警報メッセージ出力処理部１６へ、出力種別＝ループ状態解除検出ならびに回線番号を送り、警報メッセージ出力処理部１６を起動する（Ｓ３４）。その後、復帰情報をチェックＯＫと判定してフォーマットチェック処理部１４に通知する（Ｓ３５）。
【００６９】
図１０は、警報メッセージ出力処理部１６の処理手順を示すフローチャートである。以下、図１０中のステップ番号（Ｓ）を適宜引用して説明する。
警報メッセージ出力処理部１６では、出力種別がループ状態検出の場合はループ状態発生通知メッセージを運用者に出力し（Ｓ４１，Ｓ４２）、出力種別がループ状態解除検出の場合は、ループ状態解除通知メッセージを運用者に出力する（Ｓ４１，Ｓ４３）。
【００７０】
図１１は、フレーム送信処理部１２の処理手順を示すフローチャートである。以下、図１１中のステップ番号（Ｓ）を適宜引用して説明する。
回線へフレームを送信する時、フレーム送信処理部１２では、送信するフレームのＤＬＣＩ番号を取り出す（Ｓ５１）。ＤＬＣＩ番号が０以外、すなわち、送信フレームがＰＶＣ状態確認手順関連メッセージ以外のユーザフレームである場合には、ループ状態管理テーブル１８（図５）を参照し、送信フレームが送信されるべき回線の番号に対応するループ状態検出状況を求める（Ｓ５２，Ｓ５３）。ループ状態検出状況が「ループ状態」の場合は、さらにループ状態許容有無情報管理テーブル１９（図６）を参照し、送信フレームが送信されるべき回線の番号、及び送信フレームのＤＬＣＩ番号に対応するループ状態許容有無表示を求める（Ｓ５４，Ｓ５５）。求めたループ状態許容有無表示が「ループ許容」の場合、該当回線に対してフレームを送信する（Ｓ５６，Ｓ５８）。求めたループ状態許容有無表示が「ループ許容しない」の場合は、送信するフレームを廃棄する（Ｓ５６，Ｓ５７）。なお、ステップＳ５２で、ＤＬＣＩ番号が０、すなわち、送信フレームがＰＶＣ状態確認手順関連メッセージのフレームである場合には、該当回線に対してフレームを送信する（Ｓ５８）。また、ステップＳ５４で、ループ状態検出状況が「ループ状態」でない場合は、送信されるべき回線の番号に対応する図４のＣ／Ｒビット設定値を求め、送信フレームのＣ／Ｒビットに、求めた値を設定し（Ｓ５４ａ）、該当回線に対してフレームを送信する（Ｓ５８）。
【００７１】
上記のステップＳ５６，Ｓ５７で示すように、ループ状態許容有無表示が「ループ許容」の場合には、ループ検出状態であっても、ユーザフレームを送信する。これは、疎通試験のために故意に回線をループ状態に設定した場合にはユーザフレームを通常通りに送信することに問題がないので、運用者がループ状態許容有無表示を「ループ許容」に設定しており、こうした場合には、ループ検出状態であっても運用者が指定したＤＬＣＩに対しては、ユーザフレームを送信するようにする。
【００７２】
図１２は、ポーリング応答手順処理部１３の処理手順を示すフローチャートであり、例えば図１３でＳＴＥｂがＤＴＥｂからＳＥまたはＳＥ−Ｆ受信時に起動される。以下、図１２中のステップ番号（Ｓ）を適宜引用して説明する。
【００７３】
ポーリング応答手順処理部１３では、ＳＴメッセージの送信であるか、ＳＴ−Ｆメッセージの送信であるかを判別し（Ｓ６１）、ＳＴ−Ｆメッセージの送信時には、回線に登録されている全ＰＶＣに対してステップＳ６３以下の処理が終了しているか否かを判別する（Ｓ６２）。ステップＳ６３以下の処理が終了していないＰＶＣが存在すれば、従来処理によりＡビットの値を求める（Ｓ６３）。Ａビットとは、ＵＮＩにおいてＰＶＣのＤＬＣＩリンク毎に設定されるリンクについてのアクティブ状態を表すビット値であり、０が非アクティブ、１がアクティブを表す。Ａビットが０の場合、相手ＰＶＣの回線番号及び相手ＤＬＣＩ番号を求め（Ｓ６４，Ｓ６５）、ループ状態管理テーブル１８を参照して、相手回線番号に対応するループ状態検出状況を求める（Ｓ６６）。ループ状態検出状況が「ループ状態」の場合に、さらに、ループ状態許容有無情報管理テーブル１９を参照して、相手回線番号、相手ＤＬＣＩ番号に対応するループ状態許容有無表示を求める（Ｓ６７，Ｓ６８）。求めたループ状態許容有無表示が「ループ許容」の場合、当該ＰＶＣに関してＡビット＝１に設定する（Ｓ６９，Ｓ７０）。その後、ＰＶＣ状態情報要素の他の編集処理を実行する（Ｓ７１）。
【００７４】
上記ステップＳ６９，Ｓ７０に示すように、ループ状態許容有無表示が「ループ許容」の場合には、ループ検出状態であっても、Ａビット＝１に設定する。これは、疎通試験のために故意に回線をループ状態に設定した場合には、Ａビット＝０に設定することは問題があるので、運用者がループ状態許容有無表示を「ループ許容」に設定して、こうした場合には、ループ検出状態であっても運用者が指定したＤＬＣＩに対しては、Ａビット＝１に設定するようにする。
【００７５】
なお、ステップＳ６４においてＡビットが１である場合、ステップＳ６７においてループ状態検出状況が「ループ状態」ではない場合、または、ステップＳ６９においてループ状態許容有無表示が「ループ許容」ではない場合にも、ＰＶＣ状態情報要素の他の編集処理を実行する（Ｓ７１）。ステップＳ６１においてＳＴメッセージと判別された場合、またはステップＳ６２において、全ＰＶＣに対してステップＳ６３以降の処理が完了していれば、その他の従来処理を実行してＳＴメッセージまたはＳＴ−Ｆメッセージを回線に送信する（Ｓ７２）。
【００７６】
ところで、フォーマットチェック処理部１４において復帰情報がチェックＮＧに設定された場合（図８のステップＳ１３）、フレーム受信処理部１１が受信フレームを破棄する（図７のステップＳ５）が、その後、図１３に示すように、ＳＴＥｂにおいて、ＳＥメッセージ送信後、所定時間Ｔ３９１（例えば１０秒）の経過の間に、ＳＴメッセージを受信していないものと見なし、ポーリング開始手順において異常の第１回目の検出としてカウントする。そして、所定時間Ｔ３９１の経過後、次のポーリングタイミングとなる。
【００７７】
この場合も、図１３に示すように、ＳＴＥｂがＳＴＥａに向けて、ＳＥメッセージ［Ｎ（Ｓ）＝ａ＋３，Ｎ（Ｒ）＝ｂ＋１］、Ｃ／Ｒフィールド設定値＝１を搭載したフレームを送信すると、ループが解消していなければ、図１３のＲ１４で示すように、このフレームがそのまま折りかえって戻り、ＳＴＥｂは、ＳＴＥａから送信されたＳＥメッセージとして受信することになる。Ｒ１３の場合と同様に、ＳＴＥｂでは、Ｃ／Ｒ値が同一であるので、送られたＳＥメッセージを破棄し、ＳＴメッセージの作成や送信が行われない。
【００７８】
なお、ＳＥメッセージを受信することによってＳＴメッセージを発生したＳＴＥは、所定時間Ｔ３９２（例えば１５秒）の間、次のＳＥメッセージの受信を待ち、次のＳＥメッセージが受信されないときには回線にエラーが発生しているという検出方法が、ＩＴＵ−Ｔ勧告Ｘ．７６に規定される。なおまた、ＳＥメッセージ送信後、所定時間Ｔ３９１の間に、ＳＴメッセージが受信されないときにも回線にエラーが発生しているという検出方法が、ＩＴＵ−Ｔ勧告Ｘ．７６に規定される。本発明では、回線のループ状態発生時に、折り返ったＳＥを破棄し、受信しなかったものと見なすため、ポーリング開始手順並びにポーリング応答手順において当該エラーを検出するようにする（図１３の■部分）。
【００７９】
上記のカウントされた異常の検出回数に基づき、最終的な異常が判定される。即ち、ＩＴＵ−Ｔ勧告Ｘ．７６によれば、ポーリング開始手順またはポーリング応答手順において４回の連続したリンク完全性確認において、３回の異常検出があれば、異常と最終的に判定される。こうした場合、図１３に示すように、ＤＴＥｂからのＳＥ−Ｆメッセージの送信に対して、ＳＴＥｂは、該当するＤＬＣＩ番号（ＤＬＣＩｐ）を指定し、Ａビットに０（非アクティブ）を指定してＤＴＥｂへ通知する。これを受けたＤＴＥｂは、ＤＬＣＩｐへのフレームの送信を停止する。
【００８０】
なおまた、ＩＴＵ−Ｔ勧告Ｘ．７６によれば、ＰＶＣ状態確認手順用メッセージを伝送するフレームにおけるＣ／Ｒフィールドには、送信時に値０を設定し、受信時にはＣ／Ｒフィールドの値を無視するように規定されている。よって、現状のＩＴＵ−Ｔ勧告Ｘ．７６に従っているＳＴＥ／ＤＴＥと、本発明が適用されているＳＴＥ／ＤＴＥとが双方向のＰＶＣ状態確認手順に従って接続されている場合は、本発明が適用されているＳＴＥ／ＤＴＥが生成するＰＶＣ状態確認手順関連メッセージのＣ／Ｒフィールドに、送信時に値１を設定するようにすれば、本発明が適用されているＳＴＥ／ＤＴＥ側で、回線のループ状態が検出可能である。つまり、ネットワークの全てのＳＴＥ／ＤＴＥを、本発明が適用されているＳＴＥ／ＤＴＥに変える必要はなく、現状のＩＴＵ−Ｔ勧告Ｘ．７６に従っているＳＴＥ／ＤＴＥと、本発明が適用されているＳＴＥ／ＤＴＥとを混在させても、双方向のＰＶＣ状態確認手順に従ったリンク完全性の確認を行うことが可能となる。
【００８１】
更にまた、ＰＶＣ状態確認手順においてＳＴＥの一方がＰＶＣ状態確認手順メッセージを送信するときに、Ｃ／Ｒフィールドに値１を設定し、他方が送信するときには値０をＣ／Ｒフィールドに設定するようにしているが、これらの値の設定位置は、Ｃ／Ｒフィールドに限定されるものではなく、他のフィールドであってもよい。ただし、Ｃ／Ｒフィールドはユーザ・ユーザ間通信では有意なものであるが、ＰＶＣ状態確認手順では意味のないものであるので、特にこの点に着目して本実施の形態ではＣ／Ｒフィールドを利用している。
【００８２】
また更に、図１３に示す実施の形態では、ＳＴＥｂが、ループ発生後にＳＥメッセージを送信する場合を示しているが、ループ発生後にＳＴメッセージを送信する場合もあり得る。その場合には、ＳＴメッセージを受信したときに、この受信したＳＴメッセージを伝送してきたフレームのＣ／Ｒフィードに搭載されている値を調べ、値１が搭載されていれば、ＳＴＥｂとＳＴＥａとの間の回線に異常が発生していると判断するようにする。
【００８３】
次に、第２の実施の形態を説明する。
第２の実施の形態の構成は、基本的に第１の実施の形態の構成と同じである。そのため、第２の実施の形態の説明では、第１の実施の形態の構成を流用し、第１の実施の形態と異なる処理動作だけを説明するようにする。
【００８４】
図１４は、第２の実施の形態に関しての、ＳＴＥａ、ＳＴＥｂ、及びＤＴＥｂの各ノード間においてポーリング開始手順及びポーリング応答手順が実行されたときの特にＳＴＥｂにおけるシーケンスを示す図である。
【００８５】
第２の実施の形態では、第１の実施の形態のようなＣ／Ｒフィールドの利用は行わない。図１４において、ループが発生していないときの処理は、図１３に示す第１の実施の形態における処理と、Ｃ／Ｒフィールドへの値の設定を除いては同じである。
【００８６】
ここで、ＳＴＥａとＳＴＥｂとの間の回線にループが形成されたとする。この場合に、図１４のＲ２１で示すように、例えばＳＴＥｂがＳＴＥａに向けて送信したＳＥメッセージ［Ｎ（Ｓ）＝ａ＋２，Ｎ（Ｒ）＝ｂ＋１］がそのまま折りかえって、ＳＴＥｂは、ＳＴＥａから送信されたＳＥメッセージとして受信することになる。ＳＴＥｂでは、ポーリング応答手順が起動され、ＳＴＥｂは、ＳＥメッセージに搭載されているシーケンス番号Ｎ（Ｒ）の値（ｂ＋１）と、格納部ＰＲのシーケンス番号Ｖ（Ｓ）の値（ｘ＋１）とを比較する。更に、受信したＳＥメッセージのシーケンス番号Ｎ（Ｓ），Ｎ（Ｒ）の各値と、自ＳＴＥｂの格納部ＰＩのシーケンス番号Ｖ（Ｓ），Ｖ（Ｒ）の各値とをそれぞれ比較する。前者のシーケンス番号の比較において同一であり、かつ、後者のシーケンス番号の比較において異なっていれば、ＳＴＥａとＳＴＥｂとの間の回線に異常がないと判断する。それ以外の場合には、ＳＴＥａとＳＴＥｂとの間の回線に異常が発生していると判断する。
【００８７】
図１４のＲ２１に示すケースでは、前者のシーケンス番号の比較において同一ではなく、また、後者のシーケンス番号の比較においても異なっていないので、ＳＴＥａとＳＴＥｂとの間の回線に異常が発生していると判断し、ポーリング応答手順において第１回目の異常検出としてカウントする。
【００８８】
この後、図１４にＲ２２で示すように、ＳＴＥｂは、ＳＥメッセージに搭載されているシーケンス番号Ｎ（Ｓ）の値（ａ＋２）を、格納部ＰＲのシーケンス番号Ｖ（Ｒ）として設定する。そして、ＳＴＥｂの格納部ＰＲのシーケンス番号Ｖ（Ｓ）＝ｘ＋１を読み出して、それに値１を加算した値（ｘ＋２）を、ＳＴメッセージのシーケンス番号Ｎ（Ｓ）として設定する。また、ＳＴメッセージのシーケンス番号Ｎ（Ｒ）として、格納部ＰＲのシーケンス番号Ｖ（Ｒ）＝ａ＋２を読み出して設定し、このＳＴメッセージをＳＴＥａへ送信する。なお、ＳＴＥｂの格納部ＰＲのシーケンス番号Ｖ（Ｓ）には、ＳＴメッセージに設定されたシーケンス番号Ｎ（Ｓ）＝ｘ＋２がコピーされる。更になお、格納部ＰＩのシーケンス番号Ｖ（Ｓ）の値（ａ＋２）には、乱数ｍ1 （≠０）が加算される。ここで、値ｍ1 が所定の固定値ではなく、乱数であることにより、相手ＤＴＥ／ＳＴＥが同じ論理で動作した場合において、相手ＤＴＥ／ＳＴＥで誤処理が発生することを防止できる。
【００８９】
この後、ＳＴＥａとＳＴＥｂとの間の回線ループが解消されなければ、図１４のＲ２３で示すように、ＳＴＥｂがＳＴＥａに向けて送信したＳＴメッセージ［Ｎ（Ｓ）＝ｘ＋２，Ｎ（Ｒ）＝ａ＋２］がそのまま折りかえって、ＳＴＥｂは、ＳＴＥａから送信されたＳＴメッセージとしてこれを受信することになる。ＳＴＥｂでは、ポーリング開始手順が起動され、ＳＴＥｂは、従来と同じように、ＳＴメッセージに搭載されているシーケンス番号Ｎ（Ｒ）の値（ａ＋２）と、格納部ＰＩのシーケンス番号Ｖ（Ｓ）の値（ａ＋２＋ｍ1 ）とを比較する。この比較において、従来であれば、図１６に示すように同一値（Ｒ３のａ＋２）となってしまい、異常なしと判定されるところであるが、本発明では異なっているので、ＳＴＥｂは、ＳＴＥａとＳＴＥｂとの間の回線に異常があるとポーリング開始手順において第１回目の判断を行う。
【００９０】
この後、ＳＴＥａとＳＴＥｂとの間の回線ループが解消されなければ、図１４のＲ２１〜Ｒ２３と同じ手順が繰り返される。
そして、第１の実施の形態と同じように、ＩＴＵ−Ｔ勧告Ｘ．７６に従い、例えばポーリング開始手順またはポーリング応答手順において連続４回のリンク完全性の確認において、異常検出が３回あったときに初めて最終的な異常、即ち回線ループの発生と判定する。
【００９１】
なお、こうした最終判定方法ではなく、連続してａ回異常検出したときに最終的な異常、つまり回線ループの発生と判定するようにしてもよい。即ち、ＩＴＵ−Ｔ勧告Ｘ．７６のデフォルト値（所定値Ｔ３９１＝１０秒、所定値Ｔ３９２＝１５秒、連続４回中で異常検出３回）に従えば、ポーリング開始手順で最終異常検出までに約４０秒（＝１０秒×４回）、ポーリング応答手順で最終異常検出までに約６０秒（＝１５秒×４回）が必要であるが、この最終判定方法においてａ＝２とすれば、約半分の時間でループ状態が検出可能となる。この最終判定方法は第１の実施の形態に適用することもできる。
【００９２】
この最終判定方法では、最終的な異常が判定された後、連続してｂ回正常と判断されたときには、回線がループ状態から解除されたと判断する。
以上説明したように本発明では、２つのノード間で双方向のＰＶＣ状態確認手順に基づく状態照会メッセージ及び状態応答メッセージを送受信する際に、そうしたメッセージを伝送するフレームの所定位置に、メッセージの送信元を識別できる信号を搭載するようにする。これにより、回線ループ状態が発生しているときに、従来では、２回目以降の検出で回線ループ状態が検出できなかったのに対し、常時確実に回線ループ状態を検出することができるようになった。
また、２つのノード間で双方向のＰＶＣ状態確認手順に基づく状態照会メッセージ及び状態応答メッセージを送受信するノードにおいて、送信した状態照会メッセージと同一内容のメッセージが到着したときに異常を検出すると共に、格納部ＰＩのシーケンス番号Ｖ（Ｓ）の値に乱数を加算しておく。これにより、回線ループ状態が発生しているときに、従来では、２回目以降の検出で回線ループ状態が検出できなかったのに対し、常時確実に回線ループ状態を検出することができるようになった。
また、ループ状態許容有無情報管理テーブルを設け、疎通試験に伴うループ設定状態については、異常検出の対象としないようにした。これにより、疎通試験に伴うループ設定状態にあっても、ユーザフレームの送信に悪影響を与えることがない。
【００９３】
【発明の効果】
以上説明したように本発明では、回線のループ状態を検出したときに、該当回線にループ状態が許容されている場合には、フレームの送受信を可能とし、該当回線にループ状態が許容されていない場合には、フレーム送受信を停止する構成とした。このように、回線のループ状態の検出処理およびループ状態の許容有無設定を有しているので、ループ状態が生じた際の異常検出処理だけでなく、疎通試験に伴うループ設定状態においても柔軟に対応することができ、通信品質を向上させ、保守面での操作も容易に行うことが可能になる。
【図面の簡単な説明】
【図１】  原理説明図である。
【図２】  ループ状態検出装置が含まれるフレームリレー交換機の構成を示すブロック図である。
【図３】フレームリレー交換処理部が送受信するフレームのフォーマットを示す図である。
【図４】ＰＶＣ状態確認手順管理テーブルの構成を示す図である。
【図５】ループ状態管理テーブルの構成を示す図である。
【図６】ループ状態許容有無情報管理テーブルの構成を示す図である。
【図７】フレーム受信処理部の処理手順を示すフローチャートである。
【図８】フォーマットチェック処理部の処理手順を示すフローチャートである。
【図９】ループ状態チェック処理部の処理手順を示すフローチャートである。
【図１０】警報メッセージ出力処理部の処理手順を示すフローチャートである。
【図１１】フレーム送信処理部の処理手順を示すフローチャートである。
【図１２】ポーリング応答手順処理部の処理手順を示すフローチャートである。
【図１３】第１の実施の形態に関しての、ＳＴＥａ、ＳＴＥｂ、及びＤＴＥｂの各ノード間においてポーリング開始手順及びポーリング応答手順が実行されたときの特にＳＴＥｂにおけるシーケンスを示す図である。
【図１４】第２の実施の形態に関しての、ＳＴＥａ、ＳＴＥｂ、及びＤＴＥｂの各ノード間においてポーリング開始手順及びポーリング応答手順が実行されたときの特にＳＴＥｂにおけるシーケンスを示す図である。
【図１５】従来のポーリング開始手順及びポーリング応答手順を示す図である。
【図１６】ＳＴＥａとＳＴＥｂとの間の回線にループが構成された場合の従来のリンク完全性の確認のシーケンスを示す図である。
【符号の説明】
１  第１のノード
１ａ  状態照会メッセージ送信手段
１ｂ  判断手段
２  第２のノード
２ａ  状態応答メッセージ返送手段
２ｂ  第２ノード側状態照会メッセージ送信手段
【図１】
0003905626.tif 000002
【図２】
0003905626.tif 000003
【図３】
0003905626.tif 000004
【図４】
0003905626.tif 000005
【図５】
0003905626.tif 000006
【図６】
0003905626.tif 000007
【図７】
0003905626.tif 000008
【図８】
0003905626.tif 000009
【図９】
0003905626.tif 000010
【図１０】
0003905626.tif 000011
【図１１】
0003905626.tif 000012
【図１２】
0003905626.tif 000013
【図１３】
0003905626.tif 000014
【図１４】
0003905626.tif 000015
【図１５】
0003905626.tif 000016
【図１６】
0003905626.tif 000017