本発明は、通信経路を冗長化し、故障状況に応じて通信回線の切り替えを行う回線制御技術に関わり、特に、リング型冗長通信路によって冗長化を実現する網に好適なリング型冗長通信路制御方法に関するものである。
現在、通信事業者が提供するWAN(Wide Area Network)サービスでは、ユーザの通信の信頼性を向上させるため、通信事業者網内の経路を冗長化し、故障が発生した場合に回線を切り替えてユーザによる通信を保護する1+N型や1:N型の冗長構成が広く採用されている。しかし、これらの方式で冗長経路を構成するためには、リンク本数の増加による網コストの増大が問題となる。そこで、少ないリンク本数で冗長化が可能となるリング型冗長通信路の採用が進んでいる。
しかし、リング型冗長通信路では、広域イーサネット(登録商標)のようなマルチポイントトゥマルチポイントの通信路を提供する場合、論理的にループを解除し、故障時には経路切替を行うリング制御が必要となる。
そこで、非特許文献1に記載のSTP(Spanning Tree Protocol)や、非特許文献2に記載のRSTP(Rapid Spanning Tree Protocol)等のスパニングツリー系制御方法では、リング型冗長通信路上の単一のポートをブロッキング状態にすることにより、論理的にループ構成を解除している。
しかし、スパニングツリー系制御方法では、網構成を決定する経路計算のために、多種のパラメータを扱う必要がある。このため、故障時の経路切替のための経路再計算コストが大きくなり、経路切替に時間がかかるという問題がある。
そこで、非特許文献3,4に記載のリング制御方式によるEAPS(Ethernet(登録商標) Automatic Protection Switch)や、非特許文献5に記載のスイッチングノード制御方法では、リング型冗長通信路の主転送装置において、片方の制御ポートを閉塞して論理的にループを解除し、リング型冗長通信路を巡回する検査フレームを送信し、該検査フレームを受信しなくなった場合に故障を検出し、閉塞していた制御ポートを開放して経路切替を行うことにより、迅速な経路切替を実現している。
IEEE 802.1D-1998 Edition MAC bridges(8章)
IEEE 802.1D-2004 Edition MAC bridges(17章)
RFC3619 Extreme Networks’ Ethernet(登録商標) Automatic Protection Switching(EAPS) Version1
安藤雅人,"LAN Switch技術〜冗長化手法と最新技術〜",pp.7-pp.9,Internet week 2003,[平成19年3月16日検索],インターネット<https://www.soi.wide.ad.jp/class/20030038/slides/40/index_1.html>
安藤雅人,"LAN Switch技術〜冗長化手法と最新技術〜",pp.16-pp.19,Internet week 2003,[平成19年3月16日検索],インターネット<https://www.soi.wide.ad.jp/class/20030038/slides/40/index_1.html>
しかし、従来のリング制御方式では、故障を検出した場合、故障箇所においてループが解除されているものとして、主転送装置の制御ポートを開放していた。これにより、片方向回線断が発生している場合は、逆方向回線が導通しているにも関わらず制御ポートを開放するため、片方向ループが発生してしまう。また、転送遅延や転送装置内での転送バッファの溢れによって検査フレームを受信できない場合は、実際には故障が発生していないにも関わらず、故障を誤検出し制御ポートを開放する。これにより、ループが発生してしまう。
この問題を解決するために、以下の方式が考えられる。すなわち、リング型冗長通信路を構成する転送装置から主転送装置及び副転送装置を決定し、正常時は主転送装置の制御ポートを閉塞し副転送装置の制御ポートを開放しておき、故障を検出した場合に副転送装置が制御ポートを閉塞し主転送装置に対して開放命令を通知し、主転送装置は開放命令を受信してから制御ポートを開放する。これにより、片方向の回線が切断した場合や検査フレームを廃棄した場合において、故障の誤検出によるループの発生を防ぐことができる。
しかし、この方式では、故障発生時には故障箇所及び副転送装置の制御ポートの2箇所で論理的に閉塞されることになるため、経路が2つに分断される。リング型冗長通信路の複数の回線のうちの1つの回線を主経路とし、他の回線を故障時にのみ使用すればよいラダー型冗長通信路では好適であるが、全ての転送装置間で経路を確保すべきリング型冗長通信路では通信断の原因となる。
そこで、本発明は、片方向の回線が切断した場合や、転送遅延または転送バッファの溢れ等により検査フレームを廃棄した場合であっても、ループの発生を防止し、かつ、故障発生時における経路の分断の発生を防止可能なリング型冗長通信方法を提供することを目的とする。
本発明では、上記の課題を解決するために、転送装置の2つのポートを、各々隣接する転送装置のポートと接続することによって複数の転送装置を環状に接続し、フレームを互いに反対方向に転送するフレーム転送経路を冗長的に構成したリング型冗長通信路の下で、前記複数の転送装置を環状に接続したポートのうちの少なくとも1つのポートを、当該リング型冗長通信路の正常状態においても閉塞している主閉塞ポートとすることによって、前記フレーム転送経路を一意に選択させるリング型冗長通信路制御方法であって、前記転送装置の各々が、隣接する転送装置各々に接続するポート各々から当該隣接する転送装置各々に対して、当該隣接する転送装置各々との間の通信路を検査する検査フレームを周期的に送信するステップと、隣接する転送装置各々に接続するポートで当該隣接する転送装置から送信された検査フレームを一定時間受信しない際に、当該ポートにおいて前記通信路の故障を検出し、当該ポートから当該隣接する転送装置に対して、検査フレームが未だ到着しないことを通知する未着通知フレームを送信するステップと、隣接する転送装置各々に接続するポートで当該隣接する転送装置から送信された未着通知フレームを受信した際に、当該ポートにおいて前記通信路の故障を検出するステップと、隣接する転送装置各々に接続するポートのうちのいずれか1つのポートにおいて故障を検出した際に、故障を検出した当該ポートを閉塞し、前記主閉塞ポートを開放することを命令する開放命令フレームを、閉塞した当該ポート以外の他方のポートから送信するステップと、開放命令フレームを受信した際に、当該開放命令フレームを、当該開放命令フレームを受信したポートと同じリング型冗長通信路を構成する他方のポートから転送するステップと、故障を検出して閉塞した前記ポート以外の他方のポート、または、前記開放命令フレームを受信したポート、または、当該ポートと同じリング型冗長通信路を構成する他方のポートが、前記主閉塞ポートである場合に、当該主閉塞ポートを開放するステップと、を含むことを特徴とする。
これにより、故障が発生した回線または転送装置を接続するポートを閉塞し、正常時に閉塞していたポートを開放するようにしたから、故障時にポートを閉塞したとしてもリング型冗長通信路が分断されることなく経路の切り替えを行うことができる。また、検査フレームを一定時間受信しない際に故障を検出し、隣接する転送装置に検査フレーム未着通知を送信するようにしたから、片方向回線断が発生した回線において、その回線を接続する両端の転送装置が共に回線の故障を検出することができる。また、故障を検出した転送装置がその検出したポートを閉塞するようにしたから、片方向回線断を両方向回線断と同様に扱うことができ、片方向ループの発生を防ぐことができる。また、故障を検出転送装置が、その検出したポートを閉塞した後、他のポートから開放命令フレームを送信し、開放命令フレームを受信した転送装置が、閉塞ポートを保持している場合に、その閉塞ポートを開放するようにしたから、常にリングの論理的な終端点を設けたままで、経路を切り替えることができ、ループの発生を防止することができる。
また、本発明は、請求項1に記載のリング型冗長通信路制御方法において、前記転送装置の各々が、前記検査フレームを受信しないことにより故障を検出したポートについて、当該ポートで検査フレームを受信した際に、当該ポートにおいて復旧を検出し、当該ポートからの前記未着通知フレームの送信を中止するステップと、前記未着通知フレームを受信したことにより故障を検出したポートについて、当該ポートで未着通知フレームを一定時間受信しない際に、当該ポートにおいて復旧を検出するステップと、を含むことを特徴とする。これにより、転送装置は、故障の復旧を検出することができる。
また、本発明は、請求項2に記載のリング型冗長通信路制御方法において、故障を検出したポートにおいて復旧を検出した後に、前記転送装置の各々が、自らの転送装置のいずれかのポートを前記主閉塞ポートとするように指定された場合に、前記復旧を検査する復旧検査フレームを、指定された当該ポートから自らの転送装置宛に送信するステップと、前記自らの転送装置宛の復旧検査フレームを受信した際に、主閉塞ポートとするように指定された前記ポートを閉塞し、前記復旧を検出したポートを開放することを命令する復旧開放命令フレームを、閉塞した当該ポートから自らの転送装置宛に送信するステップと、他の転送装置宛の復旧検査フレームを受信した際に、当該復旧検査フレームを、当該復旧検査フレームを受信したポートと同じリング型冗長通信路を構成する他方のポートから転送するステップと、復旧開放命令フレームを受信した際に、自らの転送装置に前記復旧を検出したポートがある場合に、当該ポートを開放するステップと、を含むことを特徴とする。これにより、ポートを閉塞した後に復旧開放命令フレームを送信し、復旧開放命令フレームを受信した転送装置では、復旧開放命令フレームを受信した後に閉塞ポートを開放するようにしたから、常にリングの論理的な終端点を設けたままで、経路を切り替えることができ、ループの発生を防止することができる。
また、本発明は、請求項3に記載のリング型冗長通信路制御方法において、前記転送装置の各々が、前記開放命令フレームまたは復旧開放命令フレームを受信した際に、フレームの転送先ポートを学習した転送テーブルを初期化するステップ、を含むことを特徴とする。これにより、故障発生時や故障復旧時に、開放命令フレームまたは復旧開放命令フレームを受信した転送装置が転送テーブルを初期化するようにしたから、経路切替に伴う転送テーブルによる転送経路と実際の転送経路との間に不整合が生じることがない。
また、本発明は、請求項1から4までのいずれか一項に記載のリング型冗長通信路制御方法において、前記リング型冗長通信路が複数存在してマルチリング型冗長通信路を構成し、リング型冗長通信路を構成する少なくとも2つの転送装置が他のリング型冗長通信路も構成する共用転送装置であり、当該共用転送装置の1つのポートが当該リング型冗長通信路および当該他のリング型冗長通信路を構成する共用ポートであり、前記共用ポートとは異なる他方の第1のポートにより当該リング型冗長通信路を構成し、前記共用ポートとは異なる他方の第2のポートにより当該他のリング型冗長通信路を構成する場合に、前記転送装置が前記ステップを含むことを特徴とする。
また、本発明は、請求項5に記載のリング型冗長通信路制御方法において、前記共用ポートにおいて故障を検出した際に、当該共用ポートを閉塞し、当該共用ポートが属するリング型冗長通信路であって、予め優先リングとして設定されたリング型冗長通信路につき、前記主閉塞ポートを開放することを命令する開放命令フレームを、当該リング型冗長通信路を構成する他方のポートから送信するステップ、を含むことを特徴とする。これにより、マルチリング型冗長通信路において共用回線で故障が発生した場合に、該共用回線を共用する複数のリング型冗長通信路のうちのただ1つのリング型冗長通信路が優先リングとして予め設定され、この優先リングでのみ開放命令フレームを送信して経路切替を行うようにしたから、複数のリング型冗長通信路を跨ぐスーパーループの発生を防ぐことができる。
また、本発明は、転送装置の2つのポートを、各々隣接する転送装置のポートと接続することによって複数の転送装置を環状に接続し、フレームを互いに反対方向に転送するフレーム転送経路を冗長的に構成したリング型冗長通信路の下で、前記複数の転送装置を環状に接続したポートのうちの少なくとも1つのポートを、当該リング型冗長通信路の正常状態においても閉塞している主閉塞ポートとすることによって、前記フレーム転送経路を一意に選択させるリング型冗長通信路制御方法であって、前記転送装置の各々が、隣接する転送装置各々に接続するポート各々から当該隣接する転送装置各々に対して、当該隣接する転送装置各々との間の通信路を検査する検査フレームを周期的に送信するステップと、隣接する転送装置各々に接続するポートで当該隣接する転送装置から送信された検査フレームを一定時間受信しない際に、当該ポートにおいて前記通信路の故障を検出し、当該ポートから当該隣接する転送装置に対して、検査フレームが未だ到着しないことを通知する未着通知フレームを送信するステップと、隣接する転送装置各々に接続するポートで当該隣接する転送装置から送信された未着通知フレームを受信した際に、当該ポートにおいて前記通信路の故障を検出するステップと、前記主閉塞ポートを開放することを命令する開放命令フレームであって前記検査フレームを受信しないことにより故障を検出したポートを有する転送装置または前記未着通知フレームを受信したことにより故障を検出したポートを有する転送装置のいずれか一方から送信された開放命令フレームを受信した際に、当該開放命令フレームを、当該開放命令フレームを受信したポートと同じリング型冗長通信路を構成する他方のポートから転送するステップと、故障を検出して閉塞した前記ポート以外の他方のポート、または、前記開放命令フレームを受信したポート、または、当該ポートと同じリング型冗長通信路を構成する他方のポートが、前記主閉塞ポートである場合に、当該主閉塞ポートを開放するステップと、を含み、前記検査フレームを受信しないことにより故障を検出したポートを有する転送装置または前記未着通知フレームを受信したことにより故障を検出したポートを有する転送装置のいずれか一方が、故障を検出した当該ポートを閉塞し、開放命令フレームを、閉塞した当該ポート以外の他方のポートから送信するステップ、を含むことを特徴とする。
以上のように、本発明によれば、片方向の回線が切断した場合や、転送遅延及び転送バッファの溢れ等により検査フレームを廃棄した場合であっても、ループの発生を防止することが可能となる。また、故障発生時における経路の分断の発生を防止することが可能となる。
図1は、本発明の一実施形態であるリング制御システムの適用場面を示す図である。
図2は、転送装置の内部構成を示す図である。
図3は、ポート情報記憶部、優先リング情報記憶部及び転送テーブル記憶部に記憶される情報の構成を示す図である。
図4は、転送装置間で転送され、かつ、リングを制御するための制御フレームのフォーマットを示す図である。
図5は、本発明の一実施形態であるリング制御システムの動作概要を示す図である。
図6は、故障が発生した際の転送装置の動作を示すフローチャート図である。
図7は、復旧時に、切り戻し指示を受けた転送装置の動作を示すフローチャート図である。
図8は、復旧時に、切り戻し指示を受けた転送装置以外の転送装置の動作を示すフローチャート図である。
図9は、共用ポートを有するマルチリング型冗長通信路の接続形態を示す図である。
図10−1は、正常時における各転送装置のポート情報記憶部及び優先リング情報記憶部に記憶された情報を示す図である。
図10−2は、正常時における各転送装置のポート情報記憶部及び優先リング情報記憶部に記憶された情報を示す図である。
図11は、転送装置間で故障が発生した場合を説明する図である。
図12は、共用回線で故障が発生した場合を説明する図である。
図13−1は、故障時における各転送装置のポート情報記憶部に記憶された情報を示す図である。
図13−2は、故障時における各転送装置のポート情報記憶部に記憶された情報を示す図である。
図14は、転送装置間で発生していた故障が復旧した場合を説明する図である。
図15は、復旧時における各転送装置のポート情報記憶部に記憶された情報を示す図である。
符号の説明
1 転送装置
1−1,1−2,1−3 ポート
2 リング制御部
3,3−1,3−2,3−3 制御フレーム管理部
4 ポート情報記憶部
5 優先リング情報記憶部
6 検査フレーム
6−1 検査フレーム未着通知フレーム
7 開放命令フレーム
8 復旧検査フレーム
9 復旧開放命令フレーム
以下、本発明の実施の形態について図面を用いて詳細に説明する。
〔構成〕
まず、本発明の実施の形態によるリング制御システムの構成について詳細に説明する。図1は、本発明の一実施形態であるリング制御システムの適用場面を示す図である。このリング制御システムは、6台の転送装置1A,1B,1C,1D,1E,1Fにより構成され、各転送装置は、それぞれ2つのポート1A−1,1A−2,〜,1F−2を備えている。尚、図1のリング制御システムは一例であり、本発明は、転送装置の台数やポートの数により限定されるものではない。
転送装置1A,1B,1C,1D,1E,1Fに備えたそれぞれのポート1A−1,1A−2,〜,1F−2は、リング型冗長通信路R1(リングR1)に属するポートであり、それぞれのポートが、隣接する転送装置に接続されることにより、リングR1が構成される。
図2は、図1に示した転送装置1A,1B,1C,1D,1E,1Fの内部構成を示す図である。本実施形態においては、転送装置1A,1B,1C,1D,1E,1Fの内部構成は同一であるものとし、以下、これらを総称して転送装置1という。転送装置1は、ポート1−1,1−2,1−3、リング制御部2及び制御フレーム管理部3−1,3−2,3−3を備えている。リング制御部2は、ポート情報記憶部4、優先リング情報記憶部5、及び図示しない転送テーブル記憶部を有しており、制御フレーム管理部3−1,3−2,3−3は、ポート1−1,1−2,1−3にそれぞれ対応し、ポート1−1,1−2,1−3を介して制御フレーム及び通常フレーム(リング型冗長通信路を利用するユーザにより送受信されるユーザデータを含むフレーム)を送受信する。
なお、図2では、転送装置1が、ポート1−1,1−2,1−3の3つのポートを備えている構成を例示したが、本発明はこれに限られるものではない。例えば、転送装置1が、図1に示すような単一のリング制御システムにおける転送装置として利用される場合には、転送装置1は、少なくとも2つのポートを備えていればよい。一方、後述するように、転送装置1が、マルチリング型冗長通信路のリング制御システムにおける共用転送装置として利用される場合には、転送装置1は、少なくとも3つのポートを備えていればよい。また、図2では、転送装置1のリング制御部2が、優先リング情報記憶部5を有している構成を例示したが、本発明はこれに限られるものではない。例えば、転送装置1が、図1に示すような単一のリング制御システムにおける転送装置として利用される場合には、優先リング情報記憶部5を必ずしも有している必要はない。一方、後述するように、転送装置1が、マルチリング型冗長通信路のリング制御システムにおける共用転送装置として利用される場合には、優先リング情報記憶部5を有していることが望ましい。
図3は、図2に示したポート情報記憶部4及び優先リング情報記憶部5に記憶される情報の構成と、図2では図示していなかった転送テーブル記憶部に記憶される情報の構成とを示す図である。ポート情報記憶部4にはポート情報が保持され、ポート情報は、ポートID毎に、当該ポートに接続される隣接装置ID(隣接する転送装置のID)、当該ポートの転送状態(例えば、閉塞、開放、主閉塞、復旧、NULL)、及び当該ポートが属するリングIDsにより構成される。また、優先リング情報記憶部5には優先リング情報が保持され、優先リング情報は、装置ID(転送装置ID)に対する優先リングIDにより構成される。尚、転送テーブル記憶部に記憶される転送テーブルは、制御フレーム及び通常フレームを転送するために必要な情報から構成され、学習されたフレームの転送先ポートを含む。
例えば、図3に示すように、転送テーブル記憶部は、転送装置1が制御フレーム及び通常フレームを受信するポートである受信ポートID、制御フレーム及び通常フレームを送信する宛先に関する情報、及びこれらのフレームを出力するポートである出力ポートIDにより構成される。また、本実施形態が想定する事例とは異なるが、リング型冗長通信路で運用されるプロトコルによっては、転送テーブル記憶部は、ホップ数やコストに関する情報などによって構成される場合も考えられる。
なお、ここで、ポートの転送状態を示す言葉について説明しておくと、「閉塞」とは、ポートが閉じており、制御フレームのみを転送し、通常フレームを転送しない状態である。本実施形態では、ポートにおいて通信路の故障が検出されると、当該ポートは「閉塞」される。また、「開放」とは、ポートが開いており、制御フレームのみならず、通常フレームをも転送する状態である。本実施形態では、後述する「主閉塞」のポート以外のポートは、当該リング型冗長通信路の正常状態においては「開放」のポートとされる。また、「主閉塞」とは、「閉塞」と同様、ポートが閉じており、制御フレームのみを転送し、通常フレームを転送しない状態のことである。もっとも、「主閉塞」は、「閉塞」とは異なり、フレーム転送経路を一意に選択させることを目的として、当該リング型冗長通信路の正常状態においても閉塞しているものである。また、「復旧」とは、「閉塞」や「主閉塞」と同様、ポートが閉じており、制御フレームのみを転送し、通常フレームを転送しない状態のことである。本実施形態では、故障を検出したポートについて復旧を検出すると、当該ポートを「復旧」のポートとするが、当該リング型冗長通信路全体としては未だ完全に復旧しているわけではないので、通常フレームの転送をしない状態としている。
図4は、図1及び図2に示した転送装置間で転送され、かつ、リングを制御するための制御フレームのフォーマットを示す図である。検査フレーム6は、イーサフレームヘッダ(DA/送信先アドレス、SA/送信元アドレス)、自らの転送装置のID、未着フラグ、優先リングID、非優先リングIDsを保持する。ここで、転送装置1は、検査フレームを送信する場合、未着フラグを「OFF」に設定して送信し、検査フレーム未着通知を送信する場合、未着フラグを「ON」に設定して送信する。すなわち、転送装置1は、未着フラグ「ON」に設定した検査フレームを、検査フレーム未着通知6−1として送信する。また、開放命令フレーム7、復旧検査フレーム8及び復旧開放命令フレーム9は、それぞれ、イーサフレームヘッダ(DA/送信先アドレス、SA/送信元アドレス)、種別、送信先の転送装置のID、自らの転送装置のID、優先リングID、非優先リングフラグを保持する。この種別により、開放命令フレーム7、復旧検査フレーム8及び復旧開放命令フレーム9が区別される。尚、図4に示していないが、制御フレームには復旧検査失敗フレームもある。
図2において、転送装置1のリング制御部2は、以下の機能を有する。
(1)ポート1−1〜1−3を「閉塞」「開放」「主閉塞」「復旧」の状態に制御する機能
(2)ポート制御の結果を、ポート情報記憶部4の転送状態に記憶させる機能
(3)制御フレームを受信したポートと同じリングに属する他方のポートから、その制御フレームを転送する機能(例えば図1において、転送装置1Aのポート1A−1が制御フレームを受信した場合、ポート1A−2からその制御フレームを転送する。)
(4)図示しない転送テーブル記憶部に記憶された転送テーブルを初期化する機能
(5)ポートにおいて検査フレーム6を受信しなかった際に、または検査フレーム未着通知6−1を受信した際に、当該ポートを閉塞してから、当該ポートと同じリングに属する他方のポートから開放命令フレーム7を送信する機能
(6)開放命令フレーム7を受信した際に、ポート情報記憶部4の転送状態が「主閉塞」であるポートを開放する機能
(7)ユーザのオペレーションによりポートを指定して切り戻し指示を入力した際に、復旧検査フレーム8を送信して他方のポートからその復旧検査フレーム8を受信し、その指定されたポートを「主閉塞」に設定した後に、当該ポートから復旧開放命令フレーム9を送信する機能
(8)復旧開放命令フレーム9を受信した際に、ポート情報記憶部4の転送状態が「復旧」であるポートを開放する機能
また、転送装置1の制御フレーム管理部3(以下、制御フレーム管理部3−1,3−2,3−3を総称して制御フレーム管理部3という。)は、以下の機能を有する。
(1)ポートから制御フレームを受信した際に、当該制御フレームをリング制御部2に通知する機能
(2)リング制御部2からの制御フレーム送信指示に応じて、ポートから当該制御フレームを送信する機能
(3)ポートの転送状態が「開放」の際に、同じリングに属する他方のポートから制御フレーム及び通常フレームを転送し、ポートの転送状態が「主閉塞」「閉塞」「復旧」の際に、制御フレームのみを転送し、通常フレームを転送しない機能
〔動作〕
次に、本発明の実施の形態によるリング制御システムの動作について詳細に説明する。図5は、図1に示したリング制御システムの動作の概要を示す図である。図5(a)(b)(c)は、正常状態時、故障検出時、経路切替時の動作状態をそれぞれ示している。
図5(a)において、各転送装置は、隣接する転送装置との間で相互に、検査フレーム6を送受信する。尚、転送装置1Eのポート1E−1が「主閉塞」の状態であるとする。前述した転送装置1の制御フレーム管理部3の機能(3)に示したように、転送装置1Eは、「主閉塞」されたポート1E−1を介して、検査フレーム6及び開放命令フレーム7等の制御フレームを転送装置1Dとの間で送受信するが、通常フレームは送受信しない。これにより、リング制御システムを構成する物理的なリングR1は、論理的に終端点を有することになるから、通常フレームによるループは発生しない。
図5(b)において、転送装置1Aと転送装置1Bとの間で、転送装置1Bから転送装置1Aへの方向が回線断となった場合の動作を、図6を参照して説明する。以下の説明では、図5と図6との間では付番が異なっており、図6は図2の付番に従っている点に留意されたい。転送装置1Bから転送装置1Aへの方向の回線断が発生すると、転送装置1Aは、ポート1A−2を介して検査フレーム6を一定時間の間受信しないから(ステップS6−2)、ポート1A−2において故障を検出する。この場合、検査フレーム6の転送遅延や転送装置1A内での転送バッファの溢れが発生した場合も、故障が検出される。そして、転送装置1Aは、故障を検出したポート1A−2から検査フレーム未着通知6−1を送信する(ステップS6−3)。そして、転送装置1Aは、故障を検出したポート1A−2を閉塞し、ポート情報記憶部4の転送状態を「閉塞」に書き換える(ステップS6−5)。一方、転送装置1Bは、ポート1B−1を介して検査フレーム未着通知6−1を受信すると(ステップS6−12,6−4)、ポート1B−1において故障を検出する。そして、転送装置1Bは、故障を検出したポート1B−1を閉塞し、ポート情報記憶部4の転送状態を「閉塞」に書き換える(ステップS6−5)。
図5(c)において、経路切替を行う動作を、図6を参照して説明する。転送装置1A及び転送装置1Bは、故障を検出したポート1A−2,1B−1と同じリングR1に属する他のポート1A−1,1B−2を介して、開放命令フレーム7を送信する(ステップS6−6〜6−11)。一方、開放命令フレーム7を受信した転送装置は、転送テーブルを初期化し、受信したポートを同じリングR1に属する他ポートを介して当該開放命令フレーム7を転送する(ステップS6−15〜6−26)。この場合、「主閉塞」ポート1E−1を保持する転送装置1Eは、開放命令フレーム7を受信すると、前述のように転送テーブルを初期化し(ステップS6−19)、他ポートを介して開放命令フレーム7を転送することに加えて(ステップS6−26)、「主閉塞」ポート1E−1を「開放」し、ポート情報記憶部4の転送状態を「開放」に書き換える(ステップS6−20〜6−23)。
ここで、検査フレーム6を一定時間の間受信しないことにより故障が検出されたポート1A−2において、その後に検査フレーム6を受信するようになると、転送装置1Aのリング制御部2は、故障の復旧を検出し、ポート情報記憶部4の転送状態を「復旧」に書き換える。この場合、故障が復旧すると、転送装置1Aの制御フレーム管理部3−1は、ポート1A−2からの検査フレーム未着通知6−1の送信を中止する。一方、検査フレーム未着通知6−1を受信したことにより故障を検出した転送装置1Bは、その後、検査フレーム未着通知6−1をポート1B−1を介して一定時間の間受信しないようになると、転送装置1Bのリング制御部2は、故障の復旧を検出し、ポート情報記憶部4の転送状態を「復旧」に書き換える。
図5及び図6に示した動作によれば、転送装置1Bのポート1B−1から転送装置1Aのポート1A−2の方向に回線断が発生した場合には、ポート1B−1,1A−2を閉塞すると共に、転送装置1Eの「主閉塞」ポート1E−1を「開放」するようにした。これにより、片方向回線断が発生した場合に、片方向ループの発生を防ぎながら経路の切り替えを行うことができる。また、経路の分断の発生を副次的に防止することができ、リング型冗長通信路において、全ての転送装置間で経路を確保することができる。
次に、図5(b)において、転送装置1Aと転送装置1Bとの間で、転送装置1Bから転送装置1Aへの方向が回線断となった場合の動作、並びに、経路切替を行う動作を、図6を参照しながら、さらに詳細に説明する。以下では、転送装置1Aにおける動作、転送装置1Bにおける動作、転送装置1A、1Bおよび1E以外の他の転送装置における動作、主閉塞ポートを有する転送装置1Eにおける動作について、順に説明する。なお、以下では、図5に示すところの転送装置1Aのポート1A−2が、「1−1ポート」であり、図5に示すところの転送装置1Aのポート1A−1が、「1−2ポート」であり、図5に示すところの転送装置1Bのポート1B−1が、「1−1ポート」であり、図5に示すところの転送装置1Bのポート1B−2が、「1−2」ポートであり、図5に示すところの転送装置1Eのポート1E−1が、「1−1」ポートであり、図5に示すところの転送装置1Eのポート1E−2が、「1−2」ポートであるものとする。また、以下に説明する動作は、あくまで一例にすぎず、本発明の動作はこれに限られるものではない。
まず、転送装置1Aにおける動作について説明すると、転送装置1Aは、1−1ポート(ポート1A−2)を介して、隣接する転送装置1Bとの間で相互に、検査フレーム6を送受信している(ステップS6−1)。ここで、転送装置1Aは、1−1ポート(ポート1A−2)が検査フレーム6を受信したか否かを判定しているので(ステップS6−2)、転送装置1Bから転送装置1Aへの方向が回線断となった場合には、転送装置1Aは、1−1ポート(ポート1A−2)が検査フレーム6を受信していないと判定することになる(ステップS6−2否定)。
すると、転送装置1Aは、3−1制御フレーム管理部において、1−1ポート(ポート1A−2)から、検査フレームが未だ到着しないことを通知する未着通知フレーム6−1を、転送装置1Bに対して送信する(ステップS6−3)。そして、転送装置1Aは、3−1制御フレーム管理部において、2リング制御部に、未着通知フレーム6−1を送信したことを通知する(ステップS6−4)。すると、転送装置1Aは、2リング制御部において、故障を検出した1−1ポート(ポート1A−2)を閉塞し、4ポート情報記憶部の1−1ポート(ポート1A−2)の転送状態を、「閉塞」に書き換える(ステップS6−5)。
続いて、転送装置1Aは、4ポート情報記憶部の1−1ポート(ポート1A−2)のリングIDsが、5優先リング情報記憶部の優先リングIDを保持しているか否かを判定する(ステップS6−6)。ここで、本実施形態においては、4ポート情報記憶部のリングIDsと5優先リング情報記憶部の優先リングIDとがいずれも「R1」であるので(ステップS6−6肯定)、転送装置1Aは、4ポート情報記憶部のリングIDsに、「R1」を保持する1−2ポート(ポート1A−1)を取得する(ステップS6−13)。
そして、転送装置1Aは、取得したポート1−2ポート(ポート1A−1)の転送状態が「主閉塞」であるか否かを判定する(ステップS6−8)。本実施形態においては、1−2ポート(ポート1A−1)の転送状態は、「主閉塞」ではないので(ステップS6−8否定)、転送装置1Aは、2リング制御部において、転送テーブル記憶部を初期化し(ステップS6−9)、続いて、3−2制御フレーム管理部に、主閉塞ポートを開放することを命令する開放命令フレーム7を、ポート1−2ポート(ポート1A−1)から送信するように指示する(ステップS6−10)。なお、この時、宛先は、1−1ポート(ポート1A−2)の隣接装置である転送装置1Bであるものとする。その後、転送装置1Aは、3−2制御フレーム管理部において、1−2ポート(ポート1A−1)から、開放命令フレーム7を送信する(ステップS6−11)。
次に、転送装置1Bにおける動作について説明すると、転送装置1Bは、転送装置1Aと同様、1−1ポート(ポート1B−1)を介して、隣接する転送装置1Aとの間で相互に、検査フレーム6を送受信しており(ステップS6−1)、1−1ポート(ポート1B−1)が検査フレーム6を受信したか否かを判定している(ステップS6−2)。ところで、転送装置1Bは、1−1ポート(ポート1B−1)が未着通知フレーム6−1を受信したか否かも判定しており(ステップS6−12)、転送装置1Bから転送装置1Aへの方向が回線断となった場合には、転送装置1Bは、1−1ポート(ポート1B−1)が未着通知フレーム6−1を受信したと判定することになる(ステップS6−12肯定)。
その後は、転送装置1Aと同様に、転送装置1Bは、3−1制御フレーム管理部において、2リング制御部に、未着通知フレーム6−1を受信したことを通知し(ステップS6−4)、2リング制御部において、故障を検出した1−1ポート(ポート1B−1)を閉塞し、4ポート情報記憶部の1−1ポート(ポート1B−1)の転送状態を、「閉塞」に書き換え(ステップS6−5)、4ポート情報記憶部の1−1ポート(ポート1B−1)のリングIDsが、5優先リング情報記憶部の優先リングIDを保持しているか否かを判定し(ステップS6−6)、4ポート情報記憶部のリングIDsに、「R1」を保持する1−2ポート(ポート1B−2)を取得し(ステップS6−13)、取得したポート1−2ポート(ポート11B−2)の転送状態が「主閉塞」であるか否かを判定し(ステップS6−8)、2リング制御部において、転送テーブル記憶部を初期化し(ステップS6−9)、3−2制御フレーム管理部に、主閉塞ポートを開放することを命令する開放命令フレーム7を、ポート1−2ポート(ポート1B−2)から送信するように指示し(ステップS6−10)、3−2制御フレーム管理部において、1−2ポート(ポート1B−2)から、開放命令フレーム7を送信する(ステップS6−11)。なお、この時、宛先は、1−1ポート(ポート1B−1)の隣接装置である転送装置1Aであるものとする。
次に、転送装置1A、1Bおよび1E以外の他の転送装置における動作について説明すると、他の転送装置は、1−2ポート(もしくは、1−1ポートでもよいが、以下では、1−2ポートで受信したものとする)が、開放命令フレーム7を受信したか否かを判定しているので(ステップS6−15)、転送装置1Bから転送装置1Aへの方向が回線断となった場合には、受信したと判定することになる(ステップS6−15肯定)。
すると、他の転送装置は、3−2制御フレーム管理部において、2リング制御部に、開放命令フレーム7を受信したことを通知する(ステップS6−16)。すると、他の転送装置は、2リング制御部において、4ポート情報記憶部から、開放命令フレーム7の優先リングIDと同じリングIDを持つ1−1ポートを取得する(ステップS6−17)。
続いて、他の転送装置は、開放命令フレーム7において主閉塞ポートの開放が命令される優先リングが、自装置の優先リングと同じであるか否かを判定し(ステップS6−18)、本実施形態においては、同じであるので(ステップS6−18肯定)、他の転送装置は、2リング制御部において、転送テーブル記憶部を初期化する(ステップS6−19)。
そして、他の転送装置は、1−1ポートの転送状態が主閉塞であるか否かを判定し(ステップS6−20)、本実施形態においては、主閉塞ではないので(ステップS6−20否定)、次に、1−2ポートの転送状態が主閉塞であるか否かを判定し(ステップS6−22)、本実施形態においては、主閉塞ではないので(ステップS6−22否定)、他の転送装置は、続いて、開放命令フレーム7の送信先装置IDが、自装置IDであるか否かを判定する(ステップS6−24)。
本実施形態においては、開放命令フレーム7の送信先IDは、上記してきたように、転送装置1Bであるか、もしくは、転送装置1Aであるので、他の転送装置は、自装置IDではないと判定することになる(ステップS6−24否定)。すると、他の転送装置は、2リング制御部において、3−1制御フレーム管理部に開放命令フレーム7を転送するように指示する(ステップS6−25)。その後、他の転送装置は、3−1制御フレーム管理部において、1−1ポートから、開放命令フレーム7を転送する(ステップS6−26)。
次に、主閉塞ポートを有する転送装置1Eにおける動作について説明すると、転送装置1Eは、他の転送装置と同様に、1−2ポート(もしくは、1−1ポートでもよいが、以下では、1−2ポートで受信したものとする)が、開放命令フレーム7を受信したか否かを判定し(ステップS6−15)、転送装置1Bから転送装置1Aへの方向が回線断となった場合には、受信したと判定することになる(ステップS6−15肯定)。すると、転送装置1Eは、他の転送装置と同様に、3−2制御フレーム管理部において、2リング制御部に、開放命令フレーム7を受信したことを通知し(ステップS6−16)、2リング制御部において、4ポート情報記憶部から、開放命令フレーム7の優先リングIDと同じリングIDを持つ1−1ポート(ポート1E−1)を取得し(ステップS6−17)、開放命令フレーム7において主閉塞ポートの開放が命令される優先リングが、自装置の優先リングと同じであるか否かを判定し(ステップS6−18)、2リング制御部において、転送テーブル記憶部を初期化する(ステップS6−19)。
そして、転送装置1Eは、他の転送装置と同様に、1−1ポート(ポート1E−1)の転送状態が主閉塞であるか否かを判定するが(ステップS6−20)、本実施形態においては、主閉塞であるので(ステップS6−20肯定)、転送装置1Eは、1−1ポート(ポート1E−1)を開放し、4ポート情報記憶部の1−1ポート(ポート1E−1)の転送状態を、「開放」に書き換える(ステップS6−21)。
その後は、転送装置1Eは、1−2ポートの転送状態が主閉塞であるか否かを判定するが(ステップS6−22)、主閉塞ではないので(ステップS6−22否定)、他の転送装置と同様、開放命令フレーム7の送信先装置IDが、自装置IDであるか否かを判定し(ステップS6−24)、自装置IDではないと判定することになるので(ステップS6−24否定)、2リング制御部において、3−1制御フレーム管理部に開放命令フレーム7を転送するように指示し(ステップS6−25)、3−1制御フレーム管理部において、1−1ポート(1E−1ポート)から、開放命令フレーム7を転送する(ステップS6−26)。
以上、図6のフローチャート図により、回線断の故障が発生した場合の経路切替の動作について説明した。次に、図7のフローチャート図により、故障から復旧して正常状態に戻るまでの動作について説明する。
ここで、本発明に係るリング型冗長通信路制御方法においては、リング型冗長通信路を構成する複数の転送装置のうち、いずれかの転送装置のいずれかのポートが、主閉塞ポートとするように指定されることになるが、この指定については、オペレータの操作によって指定される場合もあれば、復旧時にはどのポートを主閉塞ポートとすべきかが予め指定されている場合もある。以下では、オペレータの操作によって指定される場合について説明しているが、いずれの場合にも、本発明を同様に適用することができる。なお、前者の場合には、オペレータの操作によって行われる指定を契機に、復旧のための動作が開始されると考えられ、一方、後者の場合には、指定されたポートを有する転送装置が、以下に説明する復旧のための動作を自動的に開始したり、何らかの条件下で開始すると考えられる。また、オペレータの操作によって指定される場合、オペレータが、直接、主閉塞ポートとするように指定するポートを有する転送装置を操作する場合もあれば、遠隔からの通信によって、当該転送装置を操作する場合もあるが、いずれの場合にも、本発明を同様に適用することができる。
さらに、主閉塞ポートとするように指定するポートを有する転送装置として、いずれの転送装置が選択されるかについてであるが、例えば、上記してきた事例における転送装置1Eのように、もともと主閉塞ポートを有していた転送装置を再び選択する手法もあれば、その他の転送装置を選択する手法もあるが、いずれの手法にも、本発明を同様に適用することができる。以下では、主閉塞ポートとするように指定するポートを有する転送装置として、いずれの転送装置が選択されるかについて明示するものではないが、最初に、選択された転送装置における動作について説明し、次に、その他の転送装置における動作について説明する。
この動作は、図2において、故障の検出により転送装置1のポート1−1の転送状態が「閉塞」となった後「復旧」になったものとする。図7において、リング制御部2は、オペレータの操作によりポート1−1を指定した切り戻し指示を受信すると(ステップS7−1)、復旧検査フレーム8の送信指示を制御フレーム管理部3−1に通知する(ステップS7−2)。制御フレーム管理部3−1は、ポート1−1を介して、自らの転送装置宛の復旧検査フレーム8を送信する(ステップS7−3)。
そして、制御フレーム管理部3−1は、ポート1−1を介して復旧検査失敗フレームを受信したか否か、及び、自らの転送装置宛の復旧検査フレーム8を受信したか否かを判断し(ステップS7−4,7−5)、復旧検査失敗フレームを受信した場合は、同じリング型冗長通信路は故障の発生から復旧していないものと判断してエラー処理を行う。また、ポート1−2を介して復旧検査フレーム8を受信した場合は(ステップS7−5)、復旧検査フレーム8を受信したことをリング制御部2に通知する(ステップS7−6)。
なお、復旧検査失敗フレームとは、後述するように、故障を検出した転送装置において、故障を検出したことで転送状態を「閉塞」としていたポートが、未だ「復旧」に書き換えられておらず、「閉塞」のままであることから、当該転送装置によって、未だ復旧していないことを通知する意味で送信されるものである。
制御フレーム管理部3は、ポート情報記憶部4のポート1−1のリングIDsとポート1−2のリングIDsとが同じリングIDを保持しているか否かを判断し(ステップS7−7)、保持していない場合はエラー処理を行う。保持している場合は、リング制御部2は、ポート1−1を「主閉塞」に設定し、ポート情報記憶部4のポート1−1の転送状態を「主閉塞」に書き換える(ステップS7−8)。リング制御部2は、転送テーブルを初期化し(ステップS7−9)、復旧開放命令フレーム9の送信指示を制御フレーム管理部3−1に通知し(ステップS7−10)、制御フレーム管理部3−1は、ポート1−1を介して、自らの転送装置宛の復旧開放命令フレーム9を送信する(ステップS7−11)。これにより、故障状態から正常状態に復旧する。
次に、図8のフローチャート図により、図7に示した復旧動作において、故障から復旧して正常状態に戻るまでの、他の転送装置1の動作について説明する。この動作は、図7に示したステップ7−3,7−10により送信された復旧検査フレーム8及び復旧開放命令フレーム9を、転送装置1(この転送装置1は、図7における転送装置1とは異なる装置である。)のポート1−1を介して受信する場合を示す。図8において、制御フレーム管理部3−1は、ポート1−1を介して復旧検査フレーム8を受信すると(ステップS8−1)、復旧検査フレーム8を受信したことを制御フレーム管理部3−1に通知する(ステップS8−2)。リング制御部2は、ポート情報記憶部4から、復旧検査フレーム8のリングIDと同じIDを保持しているポートID(ポート1−2)を取得する(ステップS8−3)。
リング制御部2は、ポート情報記憶部4から、ポート1−2の転送状態が「閉塞」であるか否かを判断する(ステップS8−4)。「閉塞」である場合は、リング制御部2は、復旧検査失敗フレームを送信することを制御フレーム管理部3−1に通知し(ステップS8−5)、制御フレーム管理部3−1は、ポート1−1を介して、復旧検査失敗フレームを送信する(ステップS8−6)。「閉塞」でない場合(すなわち故障を検出していないため「開放」である場合または「復旧」である場合)は、リング制御部2は、復旧検査フレーム8を転送することを制御フレーム管理部3−2に通知し(ステップS8−7)、制御フレーム管理部3−2は、ポート1−2を介して、復旧検査フレーム8を転送する(ステップS8−8)。
そして、制御フレーム管理部3−1は、ポート1−1を介して復旧開放命令フレーム9を受信した場合に(ステップS8−9)、復旧開放命令フレーム9を受信したことをリング制御部2に通知する(ステップS8−10)。リング制御部2は、転送テーブルを初期化し(ステップS8−11)、ポート情報記憶部4からポート1−1の転送状態が「復旧」であるか否かを判断し(ステップS8−12)、「復旧」である場合に、ポート1−1を開放し、ポート情報記憶部4の当該転送状態を「開放」に書き換える(ステップS8−13)。そして、ポート1−2の転送状態が「復旧」であるか否かを判断し(ステップS8−14)、「復旧」である場合に、ポート1−2を開放し、ポート情報記憶部4の当該転送状態を「開放」に書き換える(ステップS8−15)。そして、リング制御部2は、復旧開放命令フレーム9の転送を制御フレーム管理部3−2に通知し(ステップS8−16)、制御フレーム管理部3−2は、ポート1−2を介して、復旧開放命令フレーム9を転送する(ステップS8−17)。
なお、上記の例では、故障を検出した転送装置において、未だ復旧していない場合には、当該転送装置が、復旧検査失敗フレームを送信し、復旧検査フレームを送信した転送装置側は、当該復旧検査失敗フレームを受信することで、エラー処理を行う例を説明したが、本発明はこれに限られるものではない。例えば、故障を検出した転送装置において、未だ復旧していない場合には、当該転送装置は、復旧検査失敗フレームを送信することはせずに、単に、受信した復旧検査フレームを破棄してもよい。すると、復旧検査フレームは、当該転送装置以降の転送装置に転送されないことになり、結局、復旧検査フレームを送信した転送装置側は、当該復旧検査フレームを受信しないことになるので、復旧のための処理(指定されたポートを主閉塞ポートにする処理など)を行うことはない。この手法によれば、例えば、復旧検査フレームを送信する転送装置側が、復旧検査フレームを周期的に送信し、復旧検査フレームを受信した場合に、復旧のための処理を行う、といった構成をとることで、常に復旧できるか否かの状況を監視することも可能になる。
〔動作/マルチリング型冗長通信路〕
以上、図1〜図8を用いて、単一のリング型冗長通信路のリング制御システムの動作について説明した。次に、図9〜図15を用いて、マルチリング型冗長通信路のリング制御システムの動作について説明する。図9は、マルチリング型冗長通信路のリング制御システムの正常時の動作の概要を示す図である。このリング制御システムは、10台の転送装置1A,1B,1C,1D,1E,1F,1G,1H,1J,1Kから構成され、各転送装置は、それぞれ図9に示すポートを備えている。尚、このリング制御システムは一例であり、本発明は、転送装置の台数やポートの数により限定されるものではない。
転送装置1A,1B,1C,1Fに備えたそれぞれのポート、転送装置1Dに備えたポート1D−1,1D−2、及び転送装置1Eに備えたポート1E−1,1E−2は、マルチリング型冗長通信路のうちの一つのリングR1に属するポートであり、それぞれのポートが隣接する転送装置に接続されることにより、リングR1が構成される。また、転送装置1G,1H,1J,1Kに備えたそれぞれのポート、転送装置1Dに備えたポート1D−3,1D−2、及び転送装置1Eに備えたポート1E−1,1E−3は、マルチリング型冗長通信路のうちの一つのリングR2に属するポートであり、それぞれのポートが隣接する転送装置に接続されることにより、リングR2が構成される。尚、このリング制御システムにより構成されるリング数は2であるが、本発明は、このリング数により限定されるものでない。
ここで、転送装置1Dのポート1D−2及び転送装置1Eのポート1E−1が共用ポートであり、リングRlにおいて主閉塞ポートを転送装置1Cのポート1C−2、リングR2において主閉塞ポートを転送装置1Kのポート1K−2とすることにより、全ての転送装置の通信経路が一意に制御されているものとする。
図10−1及び図10−2は、図9に示した正常時における各転送装置のポート情報記憶部4及び優先リング情報記憶部5に記憶された各情報を示す図である。ポート情報記憶部4において、図9に示したポートのうち、転送装置1Cの主閉塞ポート1C−2及び転送装置1Kの主閉塞ポート1K−2の転送状態が「主閉塞」であり、その他のポートの転送状態が「開放」であることがわかる。
また、図11は、転送装置1Aと転送装置1Bとの間で、転送装置1Bから転送装置1Aの方向が回線断となり、故障が発生した場合の動作を示す図であり、図12は、転送装置1Dと転送装置1Eとの間の共用回線において、故障が発生した場合の動作を示す図である。図13−1及び図13−2は、図11及び図12に示す故障時における各転送装置のポート情報記憶部4に記憶された各情報を示す図である。ポート情報記憶部4において、図11の故障時には、転送装置1Aのポート1A−2及び転送装置1Bのポート1B−1の転送状態が「開放」から「閉塞」に書き換わり、転送装置1Cのポート1C−2の転送状態が「主閉塞」から「開放」に書き換わっていることがわかる。また、図12の故障時には、転送装置1Dのポート1D−2及び転送装置1Eのポート1E−1の転送状態が「開放」から「閉塞」に書き換わり、転送装置1Cのポート1C−2の転送状態が「主閉塞」から「開放」に書き換わっていることがわかる。
また、図14は、図11に示した、転送装置1Aと転送装置1Bとの間の転送装置1Bから転送装置1Aへの方向が回線断となり故障が発生した後に、その故障が復旧した場合の動作を示す図である。図15は、図14に示す復旧時における転送装置1A,1Bのポート情報記憶部4に記憶された各情報を示す図である。ポート情報記憶部4において、図14の復旧時には、転送装置1Aのポート1A−2及び転送装置1Bのポート1B−1の転送状態が「閉塞」から「復旧」に書き換わっていることがわかる。
図11、図13−1及び図10−1を参照して、転送装置1Aと転送装置1Bとの間で、転送装置1Bから転送装置1Aへの方向が回線断となり故障が発生した場合の、転送装置1Aの動作について説明する。転送装置1Aが、ポート1A−2を介して検査フレーム6を受信しなくなるから、制御フレーム管理部3−2は、ポート1A−2を介して、検査フレーム未着通知6−1を送信する。また、制御フレーム管理部3−2は、検査フレーム未着通知6−1を送信したことをリング制御部2に通知し、リング制御部2は、ポート1A−2を閉塞し、ポート情報記憶部4のポート1A−2の転送状態を「閉塞」に書き換える(図13−1を参照)。リング制御部2は、ポート情報記憶部4から、ポート1A−2のリングIDsが「R1」であり、転送装置1Aの優先リング情報記憶部5の優先リングIDも「R1」であるため(図10−1、図13−1を参照)、ポート情報記憶部4から、リングIDsに「R1」を保持するポート1A−2以外の「ポート1A−1」、及びポート1A−2の隣接装置IDの「1B」を取得する。さらに、リング制御部2は、転送テーブルを初期化する。そして、リング制御部2は、転送装置1B宛に優先リングIDをR1とした開放命令フレーム7を送信することを制御フレーム管理部3−1に通知し、制御フレーム管理部3−1は、ポート1A−1を介して、開放命令フレーム7[1B宛][R1]を送信する。
同様に、図11、図13−1及び図10−1を参照して、転送装置1Aと転送装置1Bとの間で、転送装置1Bから転送装置1Aへの方向が回線断となり故障が発生した場合の、転送装置1Bの動作について説明する。転送装置1Bの制御フレーム管理部3−1が、ポート1B−1を介して検査フレーム未着通知6−1を受信すると、検査フレーム未着通知6−1を受信したことをリング制御部2に通知する。リング制御部2は、ポート1B−1を閉塞し、ポート情報記憶部4のポート1B−1の転送状態を「閉塞」に書き換える(図13−1を参照)。リング制御部2は、ポート情報記憶部4から、ポート1B−1のリングIDsが「R1」であり、転送装置1Bの優先リング情報記憶部5の優先リングIDも「R1」であるため(図10−1、図13−1を参照)、ポート情報記憶部4から、リングIDsに「R1」を保持するポート1B−1以外の「ポート1B−2」、及びポート1B−1の隣接装置IDの「1A」を取得する。さらに、リング制御部2は、転送テーブルを初期化する。そして、リング制御部2は、転送装置1A宛に優先リングIDをR1とした開放命令フレーム7を送信することを制御フレーム管理部3−2に通知し、制御フレーム管理部3−2は、ポート1B−2を介して、開放命令フレーム7[1A宛][R1]を送信する。
同様に、図11、図13−1及び図10−1を参照して、転送装置1Aと転送装置1Bとの間で、転送装置1Bから転送装置1Aへの方向が回線断となり故障が発生した場合において、転送装置1Bからの開放命令フレーム7[1A宛][Rl]を受信した際の転送装置1Cの動作について説明する。転送装置1Cの制御フレーム管理部3−1が、ポート1C−1を介して開放命令フレーム7[1A宛][Rl]を受信すると、開放命令フレーム7を受信したことをリング制御部2に通知する。リング制御部2は、ポート情報記憶部4から、リングIDsに「R1」を保持するポートであって、開放命令フレーム7を受信したポート1C−1以外のポートであるポートID「ポート1C−2」を取得する(図10−1、図13−1を参照)。そして、ポート1C−2の転送状態が「閉塞」ではなく、開放命令フレーム7の優先リングID「R1」と転送装置1Cの優先リング情報記憶部5の優先リングID「R1」とが一致するため(図13−1を参照)、転送テーブルを初期化する。さらに、リング制御部2は、ポート1C−2の転送状態が「主閉塞」であるため、ポート1C−2を開放し、ポート情報記憶部4のポート1C−2の転送状態を「開放」に書き換える(図13−1を参照)。そして、リング制御部2は、転送装置1A宛に優先リングIDをR1とした開放命令フレーム7を転送することを制御フレーム管理部3−2に通知し、制御フレーム管理部3−2は、ポート1C−2を介して、開放命令フレーム7[1A宛][R1]を転送する。
同様に、図11及び図10−2を参照して、転送装置1Aと転送装置1Bとの間で、転送装置1Bから転送装置1Aへの方向が回線断となり故障が発生した場合において、転送装置1Cからの開放命令フレーム7[1A宛][Rl]を受信した際の転送装置1Dの動作について説明する。転送装置1Dの制御フレーム管理部3−1が、ポート1D−1を介して開放命令フレーム7[1A宛][R1]を受信すると、開放命令フレーム7を受信したことをリング制御部2に通知する。リング制御部2は、ポート情報記憶部4から、リングIDsに「R1」を保持するポートであって、開放命令フレーム7を受信したポート1D−1以外のポートであるポートID「ポート1D−2」を取得する(図10−2を参照)。そして、ポート1D−2の転送状態が「閉塞」ではなく、開放命令フレーム7の優先リングID「R1」と転送装置1Dの優先リング情報記憶部5の優先リングID「R1」とが一致するため(図10−2を参照)、転送テーブルを初期化する。そして、リング制御部2は、転送装置1A宛に優先リングIDをR1とした開放命令フレーム7を転送することを制御フレーム管理部3−2に通知し、制御フレーム管理部3−2は、ポート1D−2を介して、開放命令フレーム7[1A宛][R1]を転送する。転送装置1E,1Fについては、転送装置1Dと同様に動作する。
以上の動作により、共用ポート1D−2,1E−1以外で故障を検出した際に経路切替を行うことにより、図11に示したマルチリング型冗長通信路の全ての転送装置間で通信可能な状態を保つことが可能となる。また、片方向回線断を検出したポート1A−2,1B−1を閉塞し、開放命令フレーム7によって主閉塞ポート1C−2を開放することにより、片方向回線断による片方向ループの発生や故障の誤検出による両方向ループの発生を防止することが可能となる。
次に、図12、図13−2及び図10−2を参照して、転送装置1Eと転送装置1Dとの間で、双方向が回線断となり故障が発生した場合の、転送装置1Dの動作について説明する。転送装置1Dが、ポート1D−2を介して検査フレーム6を受信しなくなるから、制御フレーム管理部3−2は、ポート1D−2を介して、検査フレーム未着通知6−1を送信する。また、制御フレーム管理部3−2は、検査フレーム未着通知6−1を送信したことをリング制御部2に通知し、リング制御部2は、ポート1D−2を閉塞し、ポート情報記憶部4のポート1D−2の転送状態を「閉塞」に書き換える(図13−2を参照)。リング制御部2は、ポート情報記憶部4から、ポート1D−2のリングIDsが「R1,R2」であり、転送装置1Dの優先リング情報記憶部5の優先リングIDが「R1」であるため(図10−2を参照)、ポート情報記憶部4から、リングIDsに「R1」を保持するポート1D−2以外の「ポート1D−1」、及びポート1D−2の隣接装置IDの「1E」を取得する。さらに、リング制御部2は、転送テーブルを初期化する。そして、リング制御部2は、転送装置1E宛に優先リングIDをR1とした開放命令フレーム7を送信することを制御フレーム管理部3−1に通知し、制御フレーム管理部3−1は、ポート1D−1を介して、開放命令フレーム7[1E宛][R1]を送信する。転送装置1Eは、転送装置1Dと同様に動作する。
同様に、図12、図13−1及び図10−1を参照して、転送装置1Eと転送装置1Dとの間で、双方向が回線断となり故障が発生した場合において、転送装置1Dからの開放命令フレーム7を[1E宛][Rl]を受信した際の転送装置1Cの動作について説明する。転送装置1Cの制御フレーム管理部3−2が、ポート1C−2を介して開放命令フレーム7[1E宛][Rl]を受信すると、開放命令フレーム7を受信したことをリング制御部2に通知する。リング制御部2は、ポート情報記憶部4から、リングIDsに「R1」を保持するポートであって、開放命令フレーム7を受信したポート1C−2以外のポートであるポートID「ポート1C−1」を取得する(図10−1を参照)。そして、ポート1C−1の転送状態が「閉塞」ではなく、開放命令フレーム7の優先リングID「R1」と転送装置1Cの優先リング情報記憶部5の優先リングID「R1」とが一致するため(図10−1を参照)、転送テーブルを初期化する。さらに、リング制御部2は、ポート1C−2の転送状態が「主閉塞」であるため、ポート1C−2を開放し、ポート情報記憶部4のポート1C−2の転送状態を「開放」に書き換える(図13−1を参照)。そして、リング制御部2は、転送装置1E宛に優先リングIDをR1とした開放命令フレーム7を転送することを制御フレーム管理部3−1に通知し、制御フレーム管理部3−1は、ポート1C−1を介して、開放命令フレーム7[1E宛][R1]を転送する。
以上の動作により、マルチリング型冗長通信路の共用ポート1D−2,1E−1間で故障が発生した際に、図12に示したように優先リングRlにおいてのみ経路切替を行うことにより、リングR2では主閉塞ポート1K−2を開放しないから、複数のリング型冗長通信路を跨ぐスーパーループの発生を防止することが可能となる。
次に、図14を参照して、転送装置1Aと転送装置1Bとの間で発生した故障が復旧し、ポート1A−2,1B−1が復旧状態になった際に、ポート1C−2を指定した切り戻し指示が入力された場合の、転送装置1Cの動作を説明する。転送装置1Cのリング制御部2は、オペレータの操作によりポート1C−2に対する切り戻し指示を入力すると、転送装置1C宛の復旧検査フレーム8を送信することを制御フレーム管理部3−2に通知し、制御フレーム管理部3−2は、ポート1C−2を介して、復旧検査フレーム8[1C宛]を送信する。この復旧検査フレーム8[1C宛]が他の転送装置で転送された結果、転送装置1Cの制御フレーム管理部3−1は、ポート1C−1を介して、復旧検査フレーム8[1C宛]を受信すると、復旧検査フレーム8を受信したことをリング制御部2に通知する。リング制御部2は、ポート情報記憶部4から、ポート1C−1のリングIDs「Rl」とポート1C−2のリングIDs「Rl」が一致するため、ポート1C−2を主閉塞にし、ポート情報記憶部4のポート1C−2の転送状態を「主閉塞」に書き換える。そして、リング制御部2は、転送装置1C宛の復旧開放命令フレーム9を送信することを制御フレーム管理部3−2に通知し、制御フレーム管理部3−2は、ポート1C−2を介して、復旧開放命令フレーム9[1C宛]を送信する。
同様に、図14及び図15を参照して、転送装置1Aと転送装置1Bとの間で発生した故障が復旧し、ポート1A−2,1B−1が復旧状態になった際に、ポート1C−2に対する切り戻し指示が入力された場合の、転送装置1Aの動作を説明する。転送装置1Aの制御フレーム管理部3−1は、ポート1A−1を介して、復旧検査フレーム8[1C宛]を受信すると、復旧検査フレーム8を受信したことをリング制御部2に通知する。リング制御部2は、ポート情報記憶部4から、復旧検査フレーム8に保持されたリングID「R1」と同じIDを保持するポートID「ポート1A−2」を取得する。そして、リング制御部2は、ポート情報記憶部4から、ポート1A−2の転送状態が「閉塞」ではないため、転送装置1C宛に優先リングIDをR1とした復旧検査フレーム8を転送することを制御フレーム管理部3−2に通知し、制御フレーム管理部3−2は、ポート1A−2を介して、復旧検査フレーム8[1C宛]を転送する。
また、転送装置1Aの制御フレーム管理部3−1は、ポート1A−1を介して、復旧開放命令フレーム9[1C宛]を受信すると、復旧開放命令フレーム9を受信したことをリング制御部2に通知する。リング制御部2は、転送テーブルを初期化し、ポート情報記憶部4から、ポート1A−2の転送状態が「復旧」であるため、ポート1A−2を開放し、転送装置Aのポート情報記憶部4のポート1A−2の転送状態を「開放」に書き換える。さらに、リング制御部2は、転送装置1C宛の復旧開放命令フレーム9を転送することを制御フレーム管理部3−2に通知し、制御フレーム管理部3−2は、ポート1A−2を介して、復旧開放命令フレーム9[1C宛]を転送する。転送装置1Bは、転送装置1Aと同様に動作する。
以上の動作により、故障が復旧した場合に、指定したポート1C−2を主閉塞してから、故障箇所で閉塞していたポート1A−2,1B−1を開放するようにしたから、ループの発生を防止すると共に、正常時の状態に切り戻すことが可能となる。
以上のように、本発明の実施の形態によれば、故障発生による経路切替時に、故障を検出したポートを閉塞してから、主閉塞ポートの開放を行うようにした。これにより、両方向回線断及び片方向回線断によらず、故障発生時にループを発生させることなく切り替えを行うことが可能となる。また、故障の誤検出時に経路切替を行っても、ループの発生を防ぐことが可能となる。
また、本発明の実施の形態によれば、故障が発生した回線または装置を接続するポートを閉塞するようにした。これにより、経路を分断することなく故障発生による経路切替を行うことが可能となる。
また、本発明の実施の形態によれば、故障が復旧した際には、指定のポートを閉塞してから、故障による閉塞ポートを開放するようにした。これにより、ループを発生させることなく、切り戻しを行うことが可能となる。
また、本発明の実施の形態によれば、共用ポートにおいて故障を検出した際には、一つの優先リングにより経路切替を行うようにした。これにより、マルチリング型冗長通信路において、経路切替によるスーパーループの発生を防ぐことが可能となる。
以上、実施の形態を挙げて本発明を説明したが、本発明は上記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々変更が可能である。また、本発明の目的を達し、効果を奏する範囲において、適宜変更して実装することが可能である。例えば、上記実施の形態では、一つのリングの転送装置の数を6としたが、この数に制限されることはない。また、VLAN(Virtual Local Area Network)等の識別子を用いて、リング型冗長通信路を論理的に多重化するようにしてもよい。この場合、主閉塞ポートの位置は、VLAN毎に異なっていてもよい。また、開放命令フレーム7または復旧開放命令フレーム9は、必ずしも通常の通信路を経由する必要はなく、管理者による操作やその他の手法により外部からの指示によって、経由する通信路情報が与えられるようにしてもよい。
また、上記の実施形態では、検査フレームを受信しないことにより故障を検出した転送装置と、未着通知フレームを受信したことにより故障を検出した転送装置との双方が、故障を検出したポートを各々閉塞し、また、開放命令フレームを各々送信する手法について説明したが、本発明はこれに限られるものではない。例えば、検査フレームを受信しないことにより故障を検出した転送装置のみが(上記の例でいえば、転送装置1Aのみが)、故障を検出したポート(1A−2ポート)を閉塞し、開放命令フレームを転送装置1B宛に送信する手法や、検査フレームを受信しないことにより故障を検出する転送装置と、未着通知フレームを受信したことにより故障を検出する転送装置との間に予め優先順位付けがされることで、例えば、どのような状況においていずれの転送装置が開放命令フレームを送信するか等について決定されており、当該決定に従って転送装置が開放命令フレームを送信する手法などにも、本発明を同様に適用することができる。
なお、故障を検出した転送装置の双方が、ポートを閉塞して開放命令フレームを送信する手法の利点としては、当該リング型冗長通信路を運用管理する運用管理者が、通信路の故障箇所を特定しやすくなる点や、また、開放命令フレームが2系統で送信されることから、確実に送信されやすくなる点などを挙げることができる。
以上のように、本発明に係るリング型冗長通信路制御方法は、転送装置の2つのポートを、各々隣接する転送装置のポートと接続することによって複数の転送装置を環状に接続し、フレームを互いに反対方向に転送するフレーム転送経路を冗長的に構成したリング型冗長通信路の下で、前記複数の転送装置を環状に接続したポートのうちの少なくとも1つのポートを、当該リング型冗長通信路の正常状態においても閉塞している主閉塞ポートとすることによって、前記フレーム転送経路を一意に選択させることに有用であり、特に、片方向の回線が切断した場合や、転送遅延または転送バッファの溢れ等により検査フレームを廃棄した場合であっても、ループの発生を防止し、かつ、故障発生時における経路の分断の発生を防止することに適する。
本発明は、通信経路を冗長化し、故障状況に応じて通信回線の切り替えを行う回線制御技術に関わり、特に、リング型冗長通信路によって冗長化を実現する網に好適なリング型冗長通信路制御方法に関するものである。
現在、通信事業者が提供するWAN(Wide Area Network)サービスでは、ユーザの通信の信頼性を向上させるため、通信事業者網内の経路を冗長化し、故障が発生した場合に回線を切り替えてユーザによる通信を保護する1+N型や1:N型の冗長構成が広く採用されている。しかし、これらの方式で冗長経路を構成するためには、リンク本数の増加による網コストの増大が問題となる。そこで、少ないリンク本数で冗長化が可能となるリング型冗長通信路の採用が進んでいる。
しかし、リング型冗長通信路では、広域イーサネット(登録商標)のようなマルチポイントトゥマルチポイントの通信路を提供する場合、論理的にループを解除し、故障時には経路切替を行うリング制御が必要となる。
そこで、非特許文献1に記載のSTP(Spanning Tree Protocol)や、非特許文献2に記載のRSTP(Rapid Spanning Tree Protocol)等のスパニングツリー系制御方法では、リング型冗長通信路上の単一のポートをブロッキング状態にすることにより、論理的にループ構成を解除している。
しかし、スパニングツリー系制御方法では、網構成を決定する経路計算のために、多種のパラメータを扱う必要がある。このため、故障時の経路切替のための経路再計算コストが大きくなり、経路切替に時間がかかるという問題がある。
そこで、非特許文献3,4に記載のリング制御方式によるEAPS(Ethernet(登録商標) Automatic Protection Switch)や、非特許文献5に記載のスイッチングノード制御方法では、リング型冗長通信路の主転送装置において、片方の制御ポートを閉塞して論理的にループを解除し、リング型冗長通信路を巡回する検査フレームを送信し、該検査フレームを受信しなくなった場合に故障を検出し、閉塞していた制御ポートを開放して経路切替を行うことにより、迅速な経路切替を実現している。
IEEE 802.1D-1998 Edition MAC bridges(8章)
IEEE 802.1D-2004 Edition MAC bridges(17章)
RFC3619 Extreme Networks’ Ethernet(登録商標) Automatic Protection Switching(EAPS) Version1
安藤雅人,"LAN Switch技術〜冗長化手法と最新技術〜",pp.7-pp.9,Internet week 2003,[平成19年3月16日検索],インターネット<https://www.soi.wide.ad.jp/class/20030038/slides/40/index_1.html>
安藤雅人,"LAN Switch技術〜冗長化手法と最新技術〜",pp.16-pp.19,Internet week 2003,[平成19年3月16日検索],インターネット<https://www.soi.wide.ad.jp/class/20030038/slides/40/index_1.html>
しかし、従来のリング制御方式では、故障を検出した場合、故障箇所においてループが解除されているものとして、主転送装置の制御ポートを開放していた。これにより、片方向回線断が発生している場合は、逆方向回線が導通しているにも関わらず制御ポートを開放するため、片方向ループが発生してしまう。また、転送遅延や転送装置内での転送バッファの溢れによって検査フレームを受信できない場合は、実際には故障が発生していないにも関わらず、故障を誤検出し制御ポートを開放する。これにより、ループが発生してしまう。
この問題を解決するために、以下の方式が考えられる。すなわち、リング型冗長通信路を構成する転送装置から主転送装置及び副転送装置を決定し、正常時は主転送装置の制御ポートを閉塞し副転送装置の制御ポートを開放しておき、故障を検出した場合に副転送装置が制御ポートを閉塞し主転送装置に対して開放命令を通知し、主転送装置は開放命令を受信してから制御ポートを開放する。これにより、片方向の回線が切断した場合や検査フレームを廃棄した場合において、故障の誤検出によるループの発生を防ぐことができる。
しかし、この方式では、故障発生時には故障箇所及び副転送装置の制御ポートの2箇所で論理的に閉塞されることになるため、経路が2つに分断される。リング型冗長通信路の複数の回線のうちの1つの回線を主経路とし、他の回線を故障時にのみ使用すればよいラダー型冗長通信路では好適であるが、全ての転送装置間で経路を確保すべきリング型冗長通信路では通信断の原因となる。
そこで、本発明は、片方向の回線が切断した場合や、転送遅延または転送バッファの溢れ等により検査フレームを廃棄した場合であっても、ループの発生を防止し、かつ、故障発生時における経路の分断の発生を防止可能なリング型冗長通信方法を提供することを目的とする。
本発明では、上記の課題を解決するために、転送装置の2つのポートを、各々隣接する転送装置のポートと接続することによって複数の転送装置を環状に接続し、フレームを互いに反対方向に転送するフレーム転送経路を冗長的に構成したリング型冗長通信路の下で、前記複数の転送装置を環状に接続したポートのうちの少なくとも1つのポートを、当該リング型冗長通信路の正常状態においても閉塞している主閉塞ポートとすることによって、前記フレーム転送経路を一意に選択させるリング型冗長通信路制御方法であって、前記転送装置の各々が、隣接する転送装置各々に接続するポート各々から当該隣接する転送装置各々に対して、当該隣接する転送装置各々との間の通信路を検査する検査フレームを周期的に送信するステップと、隣接する転送装置各々に接続するポートで当該隣接する転送装置から送信された検査フレームを一定時間受信しない際に、当該ポートにおいて前記通信路の故障を検出し、当該ポートから当該隣接する転送装置に対して、検査フレームが未だ到着しないことを通知する未着通知フレームを送信するステップと、隣接する転送装置各々に接続するポートで当該隣接する転送装置から送信された未着通知フレームを受信した際に、当該ポートにおいて前記通信路の故障を検出するステップと、隣接する転送装置各々に接続するポートのうちのいずれか1つのポートにおいて故障を検出した際に、故障を検出した当該ポートを閉塞し、前記主閉塞ポートを開放することを命令する開放命令フレームを、閉塞した当該ポート以外の他方のポートから送信するステップと、開放命令フレームを受信した際に、当該開放命令フレームを、当該開放命令フレームを受信したポートと同じリング型冗長通信路を構成する他方のポートから転送するステップと、故障を検出して閉塞した前記ポート以外の他方のポート、または、前記開放命令フレームを受信したポート、または、当該ポートと同じリング型冗長通信路を構成する他方のポートが、前記主閉塞ポートである場合に、当該主閉塞ポートを開放するステップと、を含むことを特徴とする。
これにより、故障が発生した回線または転送装置を接続するポートを閉塞し、正常時に閉塞していたポートを開放するようにしたから、故障時にポートを閉塞したとしてもリング型冗長通信路が分断されることなく経路の切り替えを行うことができる。また、検査フレームを一定時間受信しない際に故障を検出し、隣接する転送装置に検査フレーム未着通知を送信するようにしたから、片方向回線断が発生した回線において、その回線を接続する両端の転送装置が共に回線の故障を検出することができる。また、故障を検出した転送装置がその検出したポートを閉塞するようにしたから、片方向回線断を両方向回線断と同様に扱うことができ、片方向ループの発生を防ぐことができる。また、故障を検出転送装置が、その検出したポートを閉塞した後、他のポートから開放命令フレームを送信し、開放命令フレームを受信した転送装置が、閉塞ポートを保持している場合に、その閉塞ポートを開放するようにしたから、常にリングの論理的な終端点を設けたままで、経路を切り替えることができ、ループの発生を防止することができる。
また、本発明は、請求項1に記載のリング型冗長通信路制御方法において、前記転送装置の各々が、前記検査フレームを受信しないことにより故障を検出したポートについて、当該ポートで検査フレームを受信した際に、当該ポートにおいて復旧を検出し、当該ポートからの前記未着通知フレームの送信を中止するステップと、前記未着通知フレームを受信したことにより故障を検出したポートについて、当該ポートで未着通知フレームを一定時間受信しない際に、当該ポートにおいて復旧を検出するステップと、を含むことを特徴とする。これにより、転送装置は、故障の復旧を検出することができる。
また、本発明は、請求項2に記載のリング型冗長通信路制御方法において、故障を検出したポートにおいて復旧を検出した後に、前記転送装置の各々が、自らの転送装置のいずれかのポートを前記主閉塞ポートとするように指定された場合に、前記復旧を検査する復旧検査フレームを、指定された当該ポートから自らの転送装置宛に送信するステップと、前記自らの転送装置宛の復旧検査フレームを受信した際に、主閉塞ポートとするように指定された前記ポートを閉塞し、前記復旧を検出したポートを開放することを命令する復旧開放命令フレームを、閉塞した当該ポートから自らの転送装置宛に送信するステップと、他の転送装置宛の復旧検査フレームを受信した際に、当該復旧検査フレームを、当該復旧検査フレームを受信したポートと同じリング型冗長通信路を構成する他方のポートから転送するステップと、復旧開放命令フレームを受信した際に、自らの転送装置に前記復旧を検出したポートがある場合に、当該ポートを開放するステップと、を含むことを特徴とする。これにより、ポートを閉塞した後に復旧開放命令フレームを送信し、復旧開放命令フレームを受信した転送装置では、復旧開放命令フレームを受信した後に閉塞ポートを開放するようにしたから、常にリングの論理的な終端点を設けたままで、経路を切り替えることができ、ループの発生を防止することができる。
また、本発明は、請求項3に記載のリング型冗長通信路制御方法において、前記転送装置の各々が、前記開放命令フレームまたは復旧開放命令フレームを受信した際に、フレームの転送先ポートを学習した転送テーブルを初期化するステップ、を含むことを特徴とする。これにより、故障発生時や故障復旧時に、開放命令フレームまたは復旧開放命令フレームを受信した転送装置が転送テーブルを初期化するようにしたから、経路切替に伴う転送テーブルによる転送経路と実際の転送経路との間に不整合が生じることがない。
また、本発明は、請求項1から4までのいずれか一項に記載のリング型冗長通信路制御方法において、前記リング型冗長通信路が複数存在してマルチリング型冗長通信路を構成し、リング型冗長通信路を構成する少なくとも2つの転送装置が他のリング型冗長通信路も構成する共用転送装置であり、当該共用転送装置の1つのポートが当該リング型冗長通信路および当該他のリング型冗長通信路を構成する共用ポートであり、前記共用ポートとは異なる他方の第1のポートにより当該リング型冗長通信路を構成し、前記共用ポートとは異なる他方の第2のポートにより当該他のリング型冗長通信路を構成する場合に、前記転送装置が前記ステップを含むことを特徴とする。
また、本発明は、請求項5に記載のリング型冗長通信路制御方法において、前記共用ポートにおいて故障を検出した際に、当該共用ポートを閉塞し、当該共用ポートが属するリング型冗長通信路であって、予め優先リングとして設定されたリング型冗長通信路につき、前記主閉塞ポートを開放することを命令する開放命令フレームを、当該リング型冗長通信路を構成する他方のポートから送信するステップ、を含むことを特徴とする。これにより、マルチリング型冗長通信路において共用回線で故障が発生した場合に、該共用回線を共用する複数のリング型冗長通信路のうちのただ1つのリング型冗長通信路が優先リングとして予め設定され、この優先リングでのみ開放命令フレームを送信して経路切替を行うようにしたから、複数のリング型冗長通信路を跨ぐスーパーループの発生を防ぐことができる。
また、本発明は、転送装置の2つのポートを、各々隣接する転送装置のポートと接続することによって複数の転送装置を環状に接続し、フレームを互いに反対方向に転送するフレーム転送経路を冗長的に構成したリング型冗長通信路の下で、前記複数の転送装置を環状に接続したポートのうちの少なくとも1つのポートを、当該リング型冗長通信路の正常状態においても閉塞している主閉塞ポートとすることによって、前記フレーム転送経路を一意に選択させるリング型冗長通信路制御方法であって、前記転送装置の各々が、隣接する転送装置各々に接続するポート各々から当該隣接する転送装置各々に対して、当該隣接する転送装置各々との間の通信路を検査する検査フレームを周期的に送信するステップと、隣接する転送装置各々に接続するポートで当該隣接する転送装置から送信された検査フレームを一定時間受信しない際に、当該ポートにおいて前記通信路の故障を検出し、当該ポートから当該隣接する転送装置に対して、検査フレームが未だ到着しないことを通知する未着通知フレームを送信するステップと、隣接する転送装置各々に接続するポートで当該隣接する転送装置から送信された未着通知フレームを受信した際に、当該ポートにおいて前記通信路の故障を検出するステップと、前記主閉塞ポートを開放することを命令する開放命令フレームであって前記検査フレームを受信しないことにより故障を検出したポートを有する転送装置または前記未着通知フレームを受信したことにより故障を検出したポートを有する転送装置のいずれか一方から送信された開放命令フレームを受信した際に、当該開放命令フレームを、当該開放命令フレームを受信したポートと同じリング型冗長通信路を構成する他方のポートから転送するステップと、故障を検出して閉塞した前記ポート以外の他方のポート、または、前記開放命令フレームを受信したポート、または、当該ポートと同じリング型冗長通信路を構成する他方のポートが、前記主閉塞ポートである場合に、当該主閉塞ポートを開放するステップと、を含み、前記検査フレームを受信しないことにより故障を検出したポートを有する転送装置または前記未着通知フレームを受信したことにより故障を検出したポートを有する転送装置のいずれか一方が、故障を検出した当該ポートを閉塞し、開放命令フレームを、閉塞した当該ポート以外の他方のポートから送信するステップ、を含むことを特徴とする。
以上のように、本発明によれば、片方向の回線が切断した場合や、転送遅延及び転送バッファの溢れ等により検査フレームを廃棄した場合であっても、ループの発生を防止することが可能となる。また、故障発生時における経路の分断の発生を防止することが可能となる。
以下、本発明の実施の形態について図面を用いて詳細に説明する。
〔構成〕
まず、本発明の実施の形態によるリング制御システムの構成について詳細に説明する。図1は、本発明の一実施形態であるリング制御システムの適用場面を示す図である。このリング制御システムは、6台の転送装置1A,1B,1C,1D,1E,1Fにより構成され、各転送装置は、それぞれ2つのポート1A−1,1A−2,〜,1F−2を備えている。尚、図1のリング制御システムは一例であり、本発明は、転送装置の台数やポートの数により限定されるものではない。
転送装置1A,1B,1C,1D,1E,1Fに備えたそれぞれのポート1A−1,1A−2,〜,1F−2は、リング型冗長通信路R1(リングR1)に属するポートであり、それぞれのポートが、隣接する転送装置に接続されることにより、リングR1が構成される。
図2は、図1に示した転送装置1A,1B,1C,1D,1E,1Fの内部構成を示す図である。本実施形態においては、転送装置1A,1B,1C,1D,1E,1Fの内部構成は同一であるものとし、以下、これらを総称して転送装置1という。転送装置1は、ポート1−1,1−2,1−3、リング制御部2及び制御フレーム管理部3−1,3−2,3−3を備えている。リング制御部2は、ポート情報記憶部4、優先リング情報記憶部5、及び図示しない転送テーブル記憶部を有しており、制御フレーム管理部3−1,3−2,3−3は、ポート1−1,1−2,1−3にそれぞれ対応し、ポート1−1,1−2,1−3を介して制御フレーム及び通常フレーム(リング型冗長通信路を利用するユーザにより送受信されるユーザデータを含むフレーム)を送受信する。
なお、図2では、転送装置1が、ポート1−1,1−2,1−3の3つのポートを備えている構成を例示したが、本発明はこれに限られるものではない。例えば、転送装置1が、図1に示すような単一のリング制御システムにおける転送装置として利用される場合には、転送装置1は、少なくとも2つのポートを備えていればよい。一方、後述するように、転送装置1が、マルチリング型冗長通信路のリング制御システムにおける共用転送装置として利用される場合には、転送装置1は、少なくとも3つのポートを備えていればよい。また、図2では、転送装置1のリング制御部2が、優先リング情報記憶部5を有している構成を例示したが、本発明はこれに限られるものではない。例えば、転送装置1が、図1に示すような単一のリング制御システムにおける転送装置として利用される場合には、優先リング情報記憶部5を必ずしも有している必要はない。一方、後述するように、転送装置1が、マルチリング型冗長通信路のリング制御システムにおける共用転送装置として利用される場合には、優先リング情報記憶部5を有していることが望ましい。
図3は、図2に示したポート情報記憶部4及び優先リング情報記憶部5に記憶される情報の構成と、図2では図示していなかった転送テーブル記憶部に記憶される情報の構成とを示す図である。ポート情報記憶部4にはポート情報が保持され、ポート情報は、ポートID毎に、当該ポートに接続される隣接装置ID(隣接する転送装置のID)、当該ポートの転送状態(例えば、閉塞、開放、主閉塞、復旧、NULL)、及び当該ポートが属するリングIDsにより構成される。また、優先リング情報記憶部5には優先リング情報が保持され、優先リング情報は、装置ID(転送装置ID)に対する優先リングIDにより構成される。尚、転送テーブル記憶部に記憶される転送テーブルは、制御フレーム及び通常フレームを転送するために必要な情報から構成され、学習されたフレームの転送先ポートを含む。
例えば、図3に示すように、転送テーブル記憶部は、転送装置1が制御フレーム及び通常フレームを受信するポートである受信ポートID、制御フレーム及び通常フレームを送信する宛先に関する情報、及びこれらのフレームを出力するポートである出力ポートIDにより構成される。また、本実施形態が想定する事例とは異なるが、リング型冗長通信路で運用されるプロトコルによっては、転送テーブル記憶部は、ホップ数やコストに関する情報などによって構成される場合も考えられる。
なお、ここで、ポートの転送状態を示す言葉について説明しておくと、「閉塞」とは、ポートが閉じており、制御フレームのみを転送し、通常フレームを転送しない状態である。本実施形態では、ポートにおいて通信路の故障が検出されると、当該ポートは「閉塞」される。また、「開放」とは、ポートが開いており、制御フレームのみならず、通常フレームをも転送する状態である。本実施形態では、後述する「主閉塞」のポート以外のポートは、当該リング型冗長通信路の正常状態においては「開放」のポートとされる。また、「主閉塞」とは、「閉塞」と同様、ポートが閉じており、制御フレームのみを転送し、通常フレームを転送しない状態のことである。もっとも、「主閉塞」は、「閉塞」とは異なり、フレーム転送経路を一意に選択させることを目的として、当該リング型冗長通信路の正常状態においても閉塞しているものである。また、「復旧」とは、「閉塞」や「主閉塞」と同様、ポートが閉じており、制御フレームのみを転送し、通常フレームを転送しない状態のことである。本実施形態では、故障を検出したポートについて復旧を検出すると、当該ポートを「復旧」のポートとするが、当該リング型冗長通信路全体としては未だ完全に復旧しているわけではないので、通常フレームの転送をしない状態としている。
図4は、図1及び図2に示した転送装置間で転送され、かつ、リングを制御するための制御フレームのフォーマットを示す図である。検査フレーム6は、イーサフレームヘッダ(DA/送信先アドレス、SA/送信元アドレス)、自らの転送装置のID、未着フラグ、優先リングID、非優先リングIDsを保持する。ここで、転送装置1は、検査フレームを送信する場合、未着フラグを「OFF」に設定して送信し、検査フレーム未着通知を送信する場合、未着フラグを「ON」に設定して送信する。すなわち、転送装置1は、未着フラグ「ON」に設定した検査フレームを、検査フレーム未着通知6−1として送信する。また、開放命令フレーム7、復旧検査フレーム8及び復旧開放命令フレーム9は、それぞれ、イーサフレームヘッダ(DA/送信先アドレス、SA/送信元アドレス)、種別、送信先の転送装置のID、自らの転送装置のID、優先リングID、非優先リングフラグを保持する。この種別により、開放命令フレーム7、復旧検査フレーム8及び復旧開放命令フレーム9が区別される。尚、図4に示していないが、制御フレームには復旧検査失敗フレームもある。
図2において、転送装置1のリング制御部2は、以下の機能を有する。
(1)ポート1−1〜1−3を「閉塞」「開放」「主閉塞」「復旧」の状態に制御する機能
(2)ポート制御の結果を、ポート情報記憶部4の転送状態に記憶させる機能
(3)制御フレームを受信したポートと同じリングに属する他方のポートから、その制御フレームを転送する機能(例えば図1において、転送装置1Aのポート1A−1が制御フレームを受信した場合、ポート1A−2からその制御フレームを転送する。)
(4)図示しない転送テーブル記憶部に記憶された転送テーブルを初期化する機能
(5)ポートにおいて検査フレーム6を受信しなかった際に、または検査フレーム未着通知6−1を受信した際に、当該ポートを閉塞してから、当該ポートと同じリングに属する他方のポートから開放命令フレーム7を送信する機能
(6)開放命令フレーム7を受信した際に、ポート情報記憶部4の転送状態が「主閉塞」であるポートを開放する機能
(7)ユーザのオペレーションによりポートを指定して切り戻し指示を入力した際に、復旧検査フレーム8を送信して他方のポートからその復旧検査フレーム8を受信し、その指定されたポートを「主閉塞」に設定した後に、当該ポートから復旧開放命令フレーム9を送信する機能
(8)復旧開放命令フレーム9を受信した際に、ポート情報記憶部4の転送状態が「復旧」であるポートを開放する機能
また、転送装置1の制御フレーム管理部3(以下、制御フレーム管理部3−1,3−2,3−3を総称して制御フレーム管理部3という。)は、以下の機能を有する。
(1)ポートから制御フレームを受信した際に、当該制御フレームをリング制御部2に通知する機能
(2)リング制御部2からの制御フレーム送信指示に応じて、ポートから当該制御フレームを送信する機能
(3)ポートの転送状態が「開放」の際に、同じリングに属する他方のポートから制御フレーム及び通常フレームを転送し、ポートの転送状態が「主閉塞」「閉塞」「復旧」の際に、制御フレームのみを転送し、通常フレームを転送しない機能
〔動作〕
次に、本発明の実施の形態によるリング制御システムの動作について詳細に説明する。図5は、図1に示したリング制御システムの動作の概要を示す図である。図5(a)(b)(c)は、正常状態時、故障検出時、経路切替時の動作状態をそれぞれ示している。
図5(a)において、各転送装置は、隣接する転送装置との間で相互に、検査フレーム6を送受信する。尚、転送装置1Eのポート1E−1が「主閉塞」の状態であるとする。前述した転送装置1の制御フレーム管理部3の機能(3)に示したように、転送装置1Eは、「主閉塞」されたポート1E−1を介して、検査フレーム6及び開放命令フレーム7等の制御フレームを転送装置1Dとの間で送受信するが、通常フレームは送受信しない。これにより、リング制御システムを構成する物理的なリングR1は、論理的に終端点を有することになるから、通常フレームによるループは発生しない。
図5(b)において、転送装置1Aと転送装置1Bとの間で、転送装置1Bから転送装置1Aへの方向が回線断となった場合の動作を、図6を参照して説明する。以下の説明では、図5と図6との間では付番が異なっており、図6は図2の付番に従っている点に留意されたい。転送装置1Bから転送装置1Aへの方向の回線断が発生すると、転送装置1Aは、ポート1A−2を介して検査フレーム6を一定時間の間受信しないから(ステップS6−2)、ポート1A−2において故障を検出する。この場合、検査フレーム6の転送遅延や転送装置1A内での転送バッファの溢れが発生した場合も、故障が検出される。そして、転送装置1Aは、故障を検出したポート1A−2から検査フレーム未着通知6−1を送信する(ステップS6−3)。そして、転送装置1Aは、故障を検出したポート1A−2を閉塞し、ポート情報記憶部4の転送状態を「閉塞」に書き換える(ステップS6−5)。一方、転送装置1Bは、ポート1B−1を介して検査フレーム未着通知6−1を受信すると(ステップS6−12,6−4)、ポート1B−1において故障を検出する。そして、転送装置1Bは、故障を検出したポート1B−1を閉塞し、ポート情報記憶部4の転送状態を「閉塞」に書き換える(ステップS6−5)。
図5(c)において、経路切替を行う動作を、図6を参照して説明する。転送装置1A及び転送装置1Bは、故障を検出したポート1A−2,1B−1と同じリングR1に属する他のポート1A−1,1B−2を介して、開放命令フレーム7を送信する(ステップS6−6〜6−11)。一方、開放命令フレーム7を受信した転送装置は、転送テーブルを初期化し、受信したポートを同じリングR1に属する他ポートを介して当該開放命令フレーム7を転送する(ステップS6−15〜6−26)。この場合、「主閉塞」ポート1E−1を保持する転送装置1Eは、開放命令フレーム7を受信すると、前述のように転送テーブルを初期化し(ステップS6−19)、他ポートを介して開放命令フレーム7を転送することに加えて(ステップS6−26)、「主閉塞」ポート1E−1を「開放」し、ポート情報記憶部4の転送状態を「開放」に書き換える(ステップS6−20〜6−23)。
ここで、検査フレーム6を一定時間の間受信しないことにより故障が検出されたポート1A−2において、その後に検査フレーム6を受信するようになると、転送装置1Aのリング制御部2は、故障の復旧を検出し、ポート情報記憶部4の転送状態を「復旧」に書き換える。この場合、故障が復旧すると、転送装置1Aの制御フレーム管理部3−1は、ポート1A−2からの検査フレーム未着通知6−1の送信を中止する。一方、検査フレーム未着通知6−1を受信したことにより故障を検出した転送装置1Bは、その後、検査フレーム未着通知6−1をポート1B−1を介して一定時間の間受信しないようになると、転送装置1Bのリング制御部2は、故障の復旧を検出し、ポート情報記憶部4の転送状態を「復旧」に書き換える。
図5及び図6に示した動作によれば、転送装置1Bのポート1B−1から転送装置1Aのポート1A−2の方向に回線断が発生した場合には、ポート1B−1,1A−2を閉塞すると共に、転送装置1Eの「主閉塞」ポート1E−1を「開放」するようにした。これにより、片方向回線断が発生した場合に、片方向ループの発生を防ぎながら経路の切り替えを行うことができる。また、経路の分断の発生を副次的に防止することができ、リング型冗長通信路において、全ての転送装置間で経路を確保することができる。
次に、図5(b)において、転送装置1Aと転送装置1Bとの間で、転送装置1Bから転送装置1Aへの方向が回線断となった場合の動作、並びに、経路切替を行う動作を、図6を参照しながら、さらに詳細に説明する。以下では、転送装置1Aにおける動作、転送装置1Bにおける動作、転送装置1A、1Bおよび1E以外の他の転送装置における動作、主閉塞ポートを有する転送装置1Eにおける動作について、順に説明する。なお、以下では、図5に示すところの転送装置1Aのポート1A−2が、「ポート1−1」であり、図5に示すところの転送装置1Aのポート1A−1が、「ポート1−2」であり、図5に示すところの転送装置1Bのポート1B−1が、「ポート1−1」であり、図5に示すところの転送装置1Bのポート1B−2が、「ポート1−2」であり、図5に示すところの転送装置1Eのポート1E−1が、「ポート1−1」であり、図5に示すところの転送装置1Eのポート1E−2が、「ポート1−2」であるものとする。また、以下に説明する動作は、あくまで一例にすぎず、本発明の動作はこれに限られるものではない。
まず、転送装置1Aにおける動作について説明すると、転送装置1Aは、ポート1−1(ポート1A−2)を介して、隣接する転送装置1Bとの間で相互に、検査フレーム6を送受信している(ステップS6−1)。ここで、転送装置1Aは、ポート1−1(ポート1A−2)が検査フレーム6を受信したか否かを判定しているので(ステップS6−2)、転送装置1Bから転送装置1Aへの方向が回線断となった場合には、転送装置1Aは、ポート1−1(ポート1A−2)が検査フレーム6を受信していないと判定することになる(ステップS6−2否定)。
すると、転送装置1Aは、制御フレーム管理部3−1において、ポート1−1(ポート1A−2)から、検査フレームが未だ到着しないことを通知する未着通知フレーム6−1を、転送装置1Bに対して送信する(ステップS6−3)。そして、転送装置1Aは、制御フレーム管理部3−1において、リング制御部2に、未着通知フレーム6−1を送信したことを通知する(ステップS6−4)。すると、転送装置1Aは、リング制御部2において、故障を検出したポート1−1(ポート1A−2)を閉塞し、ポート情報記憶部4のポート1−1(ポート1A−2)の転送状態を、「閉塞」に書き換える(ステップS6−5)。
続いて、転送装置1Aは、ポート情報記憶部4のポート1−1(ポート1A−2)のリングIDsが、優先リング情報記憶部5の優先リングIDを保持しているか否かを判定する(ステップS6−6)。ここで、本実施形態においては、ポート情報記憶部4のリングIDsと優先リング情報記憶部5の優先リングIDとがいずれも「R1」であるので(ステップS6−6肯定)、転送装置1Aは、ポート情報記憶部4のリングIDsに、「R1」を保持するポート1−2(ポート1A−1)を取得する(ステップS6−13)。
そして、転送装置1Aは、取得したポート1−2(ポート1A−1)の転送状態が「主閉塞」であるか否かを判定する(ステップS6−8)。本実施形態においては、ポート1−2(ポート1A−1)の転送状態は、「主閉塞」ではないので(ステップS6−8否定)、転送装置1Aは、リング制御部2において、転送テーブル記憶部を初期化し(ステップS6−9)、続いて、制御フレーム管理部3−2に、主閉塞ポートを開放することを命令する開放命令フレーム7を、ポート1−2(ポート1A−1)から送信するように指示する(ステップS6−10)。なお、この時、宛先は、ポート1−1(ポート1A−2)の隣接装置である転送装置1Bであるものとする。その後、転送装置1Aは、制御フレーム管理部3−2において、ポート1−2(ポート1A−1)から、開放命令フレーム7を送信する(ステップS6−11)。
次に、転送装置1Bにおける動作について説明すると、転送装置1Bは、転送装置1Aと同様、ポート1−1(ポート1B−1)を介して、隣接する転送装置1Aとの間で相互に、検査フレーム6を送受信しており(ステップS6−1)、ポート1−1(ポート1B−1)が検査フレーム6を受信したか否かを判定している(ステップS6−2)。ところで、転送装置1Bは、ポート1−1(ポート1B−1)が未着通知フレーム6−1を受信したか否かも判定しており(ステップS6−12)、転送装置1Bから転送装置1Aへの方向が回線断となった場合には、転送装置1Bは、ポート1−1(ポート1B−1)が未着通知フレーム6−1を受信したと判定することになる(ステップS6−12肯定)。
その後は、転送装置1Aと同様に、転送装置1Bは、制御フレーム管理部3−1において、リング制御部2に、未着通知フレーム6−1を受信したことを通知し(ステップS6−4)、リング制御部2において、故障を検出したポート1−1(ポート1B−1)を閉塞し、ポート情報記憶部4のポート1−1(ポート1B−1)の転送状態を、「閉塞」に書き換え(ステップS6−5)、ポート情報記憶部4のポート1−1(ポート1B−1)のリングIDsが、優先リング情報記憶部5の優先リングIDを保持しているか否かを判定し(ステップS6−6)、ポート情報記憶部4のリングIDsに、「R1」を保持するポート1−2(ポート1B−2)を取得し(ステップS6−13)、取得したポート1−2(ポート11B−2)の転送状態が「主閉塞」であるか否かを判定し(ステップS6−8)、リング制御部2において、転送テーブル記憶部を初期化し(ステップS6−9)、制御フレーム管理部3−2に、主閉塞ポートを開放することを命令する開放命令フレーム7を、ポート1−2(ポート1B−2)から送信するように指示し(ステップS6−10)、制御フレーム管理部3−2において、ポート1−2(ポート1B−2)から、開放命令フレーム7を送信する(ステップS6−11)。なお、この時、宛先は、ポート1−1(ポート1B−1)の隣接装置である転送装置1Aであるものとする。
次に、転送装置1A、1Bおよび1E以外の他の転送装置における動作について説明すると、他の転送装置は、ポート1−2(もしくは、ポート1−1でもよいが、以下では、ポート1−2で受信したものとする)が、開放命令フレーム7を受信したか否かを判定しているので(ステップS6−15)、転送装置1Bから転送装置1Aへの方向が回線断となった場合には、受信したと判定することになる(ステップS6−15肯定)。
すると、他の転送装置は、制御フレーム管理部3−2において、リング制御部2に、開放命令フレーム7を受信したことを通知する(ステップS6−16)。すると、他の転送装置は、リング制御部2において、ポート情報記憶部4から、開放命令フレーム7の優先リングIDと同じリングIDを持つポート1−1を取得する(ステップS6−17)。
続いて、他の転送装置は、開放命令フレーム7において主閉塞ポートの開放が命令される優先リングが、自装置の優先リングと同じであるか否かを判定し(ステップS6−18)、本実施形態においては、同じであるので(ステップS6−18肯定)、他の転送装置は、リング制御部2において、転送テーブル記憶部を初期化する(ステップS6−19)。
そして、他の転送装置は、ポート1−1の転送状態が主閉塞であるか否かを判定し(ステップS6−20)、本実施形態においては、主閉塞ではないので(ステップS6−20否定)、次に、ポート1−2の転送状態が主閉塞であるか否かを判定し(ステップS6−22)、本実施形態においては、主閉塞ではないので(ステップS6−22否定)、他の転送装置は、続いて、開放命令フレーム7の送信先装置IDが、自装置IDであるか否かを判定する(ステップS6−24)。
本実施形態においては、開放命令フレーム7の送信先IDは、上記してきたように、転送装置1Bであるか、もしくは、転送装置1Aであるので、他の転送装置は、自装置IDではないと判定することになる(ステップS6−24否定)。すると、他の転送装置は、リング制御部2において、制御フレーム管理部3−1に開放命令フレーム7を転送するように指示する(ステップS6−25)。その後、他の転送装置は、制御フレーム管理部3−1において、ポート1−1から、開放命令フレーム7を転送する(ステップS6−26)。
次に、主閉塞ポートを有する転送装置1Eにおける動作について説明すると、転送装置1Eは、他の転送装置と同様に、ポート1−2(もしくは、ポート1−1でもよいが、以下では、ポート1−2で受信したものとする)が、開放命令フレーム7を受信したか否かを判定し(ステップS6−15)、転送装置1Bから転送装置1Aへの方向が回線断となった場合には、受信したと判定することになる(ステップS6−15肯定)。すると、転送装置1Eは、他の転送装置と同様に、制御フレーム管理部3−2において、リング制御部2に、開放命令フレーム7を受信したことを通知し(ステップS6−16)、リング制御部2において、ポート情報記憶部4から、開放命令フレーム7の優先リングIDと同じリングIDを持つポート1−1(ポート1E−1)を取得し(ステップS6−17)、開放命令フレーム7において主閉塞ポートの開放が命令される優先リングが、自装置の優先リングと同じであるか否かを判定し(ステップS6−18)、リング制御部2において、転送テーブル記憶部を初期化する(ステップS6−19)。
そして、転送装置1Eは、他の転送装置と同様に、ポート1−1(ポート1E−1)の転送状態が主閉塞であるか否かを判定するが(ステップS6−20)、本実施形態においては、主閉塞であるので(ステップS6−20肯定)、転送装置1Eは、ポート1−1(ポート1E−1)を開放し、ポート情報記憶部4のポート1−1(ポート1E−1)の転送状態を、「開放」に書き換える(ステップS6−21)。
その後は、転送装置1Eは、1−2ポートの転送状態が主閉塞であるか否かを判定するが(ステップS6−22)、主閉塞ではないので(ステップS6−22否定)、他の転送装置と同様、開放命令フレーム7の送信先装置IDが、自装置IDであるか否かを判定し(ステップS6−24)、自装置IDではないと判定することになるので(ステップS6−24否定)、2リング制御部において、3−1制御フレーム管理部に開放命令フレーム7を転送するように指示し(ステップS6−25)、3−1制御フレーム管理部において、1−1ポート(1E−1ポート)から、開放命令フレーム7を転送する(ステップS6−26)。
以上、図6のフローチャート図により、回線断の故障が発生した場合の経路切替の動作について説明した。次に、図7のフローチャート図により、故障から復旧して正常状態に戻るまでの動作について説明する。
ここで、本発明に係るリング型冗長通信路制御方法においては、リング型冗長通信路を構成する複数の転送装置のうち、いずれかの転送装置のいずれかのポートが、主閉塞ポートとするように指定されることになるが、この指定については、オペレータの操作によって指定される場合もあれば、復旧時にはどのポートを主閉塞ポートとすべきかが予め指定されている場合もある。以下では、オペレータの操作によって指定される場合について説明しているが、いずれの場合にも、本発明を同様に適用することができる。なお、前者の場合には、オペレータの操作によって行われる指定を契機に、復旧のための動作が開始されると考えられ、一方、後者の場合には、指定されたポートを有する転送装置が、以下に説明する復旧のための動作を自動的に開始したり、何らかの条件下で開始すると考えられる。また、オペレータの操作によって指定される場合、オペレータが、直接、主閉塞ポートとするように指定するポートを有する転送装置を操作する場合もあれば、遠隔からの通信によって、当該転送装置を操作する場合もあるが、いずれの場合にも、本発明を同様に適用することができる。
さらに、主閉塞ポートとするように指定するポートを有する転送装置として、いずれの転送装置が選択されるかについてであるが、例えば、上記してきた事例における転送装置1Eのように、もともと主閉塞ポートを有していた転送装置を再び選択する手法もあれば、その他の転送装置を選択する手法もあるが、いずれの手法にも、本発明を同様に適用することができる。以下では、主閉塞ポートとするように指定するポートを有する転送装置として、いずれの転送装置が選択されるかについて明示するものではないが、最初に、選択された転送装置における動作について説明し、次に、その他の転送装置における動作について説明する。
この動作は、図2において、故障の検出により転送装置1のポート1−1の転送状態が「閉塞」となった後「復旧」になったものとする。図7において、リング制御部2は、オペレータの操作によりポート1−1を指定した切り戻し指示を受信すると(ステップS7−1)、復旧検査フレーム8の送信指示を制御フレーム管理部3−1に通知する(ステップS7−2)。制御フレーム管理部3−1は、ポート1−1を介して、自らの転送装置宛の復旧検査フレーム8を送信する(ステップS7−3)。
そして、制御フレーム管理部3−1は、ポート1−1を介して復旧検査失敗フレームを受信したか否か、及び、自らの転送装置宛の復旧検査フレーム8を受信したか否かを判断し(ステップS7−4,7−5)、復旧検査失敗フレームを受信した場合は、同じリング型冗長通信路は故障の発生から復旧していないものと判断してエラー処理を行う。また、ポート1−2を介して復旧検査フレーム8を受信した場合は(ステップS7−5)、復旧検査フレーム8を受信したことをリング制御部2に通知する(ステップS7−6)。
なお、復旧検査失敗フレームとは、後述するように、故障を検出した転送装置において、故障を検出したことで転送状態を「閉塞」としていたポートが、未だ「復旧」に書き換えられておらず、「閉塞」のままであることから、当該転送装置によって、未だ復旧していないことを通知する意味で送信されるものである。
制御フレーム管理部3は、ポート情報記憶部4のポート1−1のリングIDsとポート1−2のリングIDsとが同じリングIDを保持しているか否かを判断し(ステップS7−7)、保持していない場合はエラー処理を行う。保持している場合は、リング制御部2は、ポート1−1を「主閉塞」に設定し、ポート情報記憶部4のポート1−1の転送状態を「主閉塞」に書き換える(ステップS7−8)。リング制御部2は、転送テーブルを初期化し(ステップS7−9)、復旧開放命令フレーム9の送信指示を制御フレーム管理部3−1に通知し(ステップS7−10)、制御フレーム管理部3−1は、ポート1−1を介して、自らの転送装置宛の復旧開放命令フレーム9を送信する(ステップS7−11)。これにより、故障状態から正常状態に復旧する。
次に、図8のフローチャート図により、図7に示した復旧動作において、故障から復旧して正常状態に戻るまでの、他の転送装置1の動作について説明する。この動作は、図7に示したステップ7−3,7−10により送信された復旧検査フレーム8及び復旧開放命令フレーム9を、転送装置1(この転送装置1は、図7における転送装置1とは異なる装置である。)のポート1−1を介して受信する場合を示す。図8において、制御フレーム管理部3−1は、ポート1−1を介して復旧検査フレーム8を受信すると(ステップS8−1)、復旧検査フレーム8を受信したことを制御フレーム管理部3−1に通知する(ステップS8−2)。リング制御部2は、ポート情報記憶部4から、復旧検査フレーム8のリングIDと同じIDを保持しているポートID(ポート1−2)を取得する(ステップS8−3)。
リング制御部2は、ポート情報記憶部4から、ポート1−2の転送状態が「閉塞」であるか否かを判断する(ステップS8−4)。「閉塞」である場合は、リング制御部2は、復旧検査失敗フレームを送信することを制御フレーム管理部3−1に通知し(ステップS8−5)、制御フレーム管理部3−1は、ポート1−1を介して、復旧検査失敗フレームを送信する(ステップS8−6)。「閉塞」でない場合(すなわち故障を検出していないため「開放」である場合または「復旧」である場合)は、リング制御部2は、復旧検査フレーム8を転送することを制御フレーム管理部3−2に通知し(ステップS8−7)、制御フレーム管理部3−2は、ポート1−2を介して、復旧検査フレーム8を転送する(ステップS8−8)。
そして、制御フレーム管理部3−1は、ポート1−1を介して復旧開放命令フレーム9を受信した場合に(ステップS8−9)、復旧開放命令フレーム9を受信したことをリング制御部2に通知する(ステップS8−10)。リング制御部2は、転送テーブルを初期化し(ステップS8−11)、ポート情報記憶部4からポート1−1の転送状態が「復旧」であるか否かを判断し(ステップS8−12)、「復旧」である場合に、ポート1−1を開放し、ポート情報記憶部4の当該転送状態を「開放」に書き換える(ステップS8−13)。そして、ポート1−2の転送状態が「復旧」であるか否かを判断し(ステップS8−14)、「復旧」である場合に、ポート1−2を開放し、ポート情報記憶部4の当該転送状態を「開放」に書き換える(ステップS8−15)。そして、リング制御部2は、復旧開放命令フレーム9の転送を制御フレーム管理部3−2に通知し(ステップS8−16)、制御フレーム管理部3−2は、ポート1−2を介して、復旧開放命令フレーム9を転送する(ステップS8−17)。
なお、上記の例では、故障を検出した転送装置において、未だ復旧していない場合には、当該転送装置が、復旧検査失敗フレームを送信し、復旧検査フレームを送信した転送装置側は、当該復旧検査失敗フレームを受信することで、エラー処理を行う例を説明したが、本発明はこれに限られるものではない。例えば、故障を検出した転送装置において、未だ復旧していない場合には、当該転送装置は、復旧検査失敗フレームを送信することはせずに、単に、受信した復旧検査フレームを破棄してもよい。すると、復旧検査フレームは、当該転送装置以降の転送装置に転送されないことになり、結局、復旧検査フレームを送信した転送装置側は、当該復旧検査フレームを受信しないことになるので、復旧のための処理(指定されたポートを主閉塞ポートにする処理など)を行うことはない。この手法によれば、例えば、復旧検査フレームを送信する転送装置側が、復旧検査フレームを周期的に送信し、復旧検査フレームを受信した場合に、復旧のための処理を行う、といった構成をとることで、常に復旧できるか否かの状況を監視することも可能になる。
〔動作/マルチリング型冗長通信路〕
以上、図1〜図8を用いて、単一のリング型冗長通信路のリング制御システムの動作について説明した。次に、図9〜図15を用いて、マルチリング型冗長通信路のリング制御システムの動作について説明する。図9は、マルチリング型冗長通信路のリング制御システムの正常時の動作の概要を示す図である。このリング制御システムは、10台の転送装置1A,1B,1C,1D,1E,1F,1G,1H,1J,1Kから構成され、各転送装置は、それぞれ図9に示すポートを備えている。尚、このリング制御システムは一例であり、本発明は、転送装置の台数やポートの数により限定されるものではない。
転送装置1A,1B,1C,1Fに備えたそれぞれのポート、転送装置1Dに備えたポート1D−1,1D−2、及び転送装置1Eに備えたポート1E−1,1E−2は、マルチリング型冗長通信路のうちの一つのリングR1に属するポートであり、それぞれのポートが隣接する転送装置に接続されることにより、リングR1が構成される。また、転送装置1G,1H,1J,1Kに備えたそれぞれのポート、転送装置1Dに備えたポート1D−3,1D−2、及び転送装置1Eに備えたポート1E−1,1E−3は、マルチリング型冗長通信路のうちの一つのリングR2に属するポートであり、それぞれのポートが隣接する転送装置に接続されることにより、リングR2が構成される。尚、このリング制御システムにより構成されるリング数は2であるが、本発明は、このリング数により限定されるものでない。
ここで、転送装置1Dのポート1D−2及び転送装置1Eのポート1E−1が共用ポートであり、リングRlにおいて主閉塞ポートを転送装置1Cのポート1C−2、リングR2において主閉塞ポートを転送装置1Kのポート1K−2とすることにより、全ての転送装置の通信経路が一意に制御されているものとする。
図10−1及び図10−2は、図9に示した正常時における各転送装置のポート情報記憶部4及び優先リング情報記憶部5に記憶された各情報を示す図である。ポート情報記憶部4において、図9に示したポートのうち、転送装置1Cの主閉塞ポート1C−2及び転送装置1Kの主閉塞ポート1K−2の転送状態が「主閉塞」であり、その他のポートの転送状態が「開放」であることがわかる。
また、図11は、転送装置1Aと転送装置1Bとの間で、転送装置1Bから転送装置1Aの方向が回線断となり、故障が発生した場合の動作を示す図であり、図12は、転送装置1Dと転送装置1Eとの間の共用回線において、故障が発生した場合の動作を示す図である。図13−1及び図13−2は、図11及び図12に示す故障時における各転送装置のポート情報記憶部4に記憶された各情報を示す図である。ポート情報記憶部4において、図11の故障時には、転送装置1Aのポート1A−2及び転送装置1Bのポート1B−1の転送状態が「開放」から「閉塞」に書き換わり、転送装置1Cのポート1C−2の転送状態が「主閉塞」から「開放」に書き換わっていることがわかる。また、図12の故障時には、転送装置1Dのポート1D−2及び転送装置1Eのポート1E−1の転送状態が「開放」から「閉塞」に書き換わり、転送装置1Cのポート1C−2の転送状態が「主閉塞」から「開放」に書き換わっていることがわかる。
また、図14は、図11に示した、転送装置1Aと転送装置1Bとの間の転送装置1Bから転送装置1Aへの方向が回線断となり故障が発生した後に、その故障が復旧した場合の動作を示す図である。図15は、図14に示す復旧時における転送装置1A,1Bのポート情報記憶部4に記憶された各情報を示す図である。ポート情報記憶部4において、図14の復旧時には、転送装置1Aのポート1A−2及び転送装置1Bのポート1B−1の転送状態が「閉塞」から「復旧」に書き換わっていることがわかる。
図11、図13−1及び図10−1を参照して、転送装置1Aと転送装置1Bとの間で、転送装置1Bから転送装置1Aへの方向が回線断となり故障が発生した場合の、転送装置1Aの動作について説明する。転送装置1Aが、ポート1A−2を介して検査フレーム6を受信しなくなるから、制御フレーム管理部3−2は、ポート1A−2を介して、検査フレーム未着通知6−1を送信する。また、制御フレーム管理部3−2は、検査フレーム未着通知6−1を送信したことをリング制御部2に通知し、リング制御部2は、ポート1A−2を閉塞し、ポート情報記憶部4のポート1A−2の転送状態を「閉塞」に書き換える(図13−1を参照)。リング制御部2は、ポート情報記憶部4から、ポート1A−2のリングIDsが「R1」であり、転送装置1Aの優先リング情報記憶部5の優先リングIDも「R1」であるため(図10−1、図13−1を参照)、ポート情報記憶部4から、リングIDsに「R1」を保持するポート1A−2以外の「ポート1A−1」、及びポート1A−2の隣接装置IDの「1B」を取得する。さらに、リング制御部2は、転送テーブルを初期化する。そして、リング制御部2は、転送装置1B宛に優先リングIDをR1とした開放命令フレーム7を送信することを制御フレーム管理部3−1に通知し、制御フレーム管理部3−1は、ポート1A−1を介して、開放命令フレーム7[1B宛][R1]を送信する。
同様に、図11、図13−1及び図10−1を参照して、転送装置1Aと転送装置1Bとの間で、転送装置1Bから転送装置1Aへの方向が回線断となり故障が発生した場合の、転送装置1Bの動作について説明する。転送装置1Bの制御フレーム管理部3−1が、ポート1B−1を介して検査フレーム未着通知6−1を受信すると、検査フレーム未着通知6−1を受信したことをリング制御部2に通知する。リング制御部2は、ポート1B−1を閉塞し、ポート情報記憶部4のポート1B−1の転送状態を「閉塞」に書き換える(図13−1を参照)。リング制御部2は、ポート情報記憶部4から、ポート1B−1のリングIDsが「R1」であり、転送装置1Bの優先リング情報記憶部5の優先リングIDも「R1」であるため(図10−1、図13−1を参照)、ポート情報記憶部4から、リングIDsに「R1」を保持するポート1B−1以外の「ポート1B−2」、及びポート1B−1の隣接装置IDの「1A」を取得する。さらに、リング制御部2は、転送テーブルを初期化する。そして、リング制御部2は、転送装置1A宛に優先リングIDをR1とした開放命令フレーム7を送信することを制御フレーム管理部3−2に通知し、制御フレーム管理部3−2は、ポート1B−2を介して、開放命令フレーム7[1A宛][R1]を送信する。
同様に、図11、図13−1及び図10−1を参照して、転送装置1Aと転送装置1Bとの間で、転送装置1Bから転送装置1Aへの方向が回線断となり故障が発生した場合において、転送装置1Bからの開放命令フレーム7[1A宛][Rl]を受信した際の転送装置1Cの動作について説明する。転送装置1Cの制御フレーム管理部3−1が、ポート1C−1を介して開放命令フレーム7[1A宛][Rl]を受信すると、開放命令フレーム7を受信したことをリング制御部2に通知する。リング制御部2は、ポート情報記憶部4から、リングIDsに「R1」を保持するポートであって、開放命令フレーム7を受信したポート1C−1以外のポートであるポートID「ポート1C−2」を取得する(図10−1、図13−1を参照)。そして、ポート1C−2の転送状態が「閉塞」ではなく、開放命令フレーム7の優先リングID「R1」と転送装置1Cの優先リング情報記憶部5の優先リングID「R1」とが一致するため(図13−1を参照)、転送テーブルを初期化する。さらに、リング制御部2は、ポート1C−2の転送状態が「主閉塞」であるため、ポート1C−2を開放し、ポート情報記憶部4のポート1C−2の転送状態を「開放」に書き換える(図13−1を参照)。そして、リング制御部2は、転送装置1A宛に優先リングIDをR1とした開放命令フレーム7を転送することを制御フレーム管理部3−2に通知し、制御フレーム管理部3−2は、ポート1C−2を介して、開放命令フレーム7[1A宛][R1]を転送する。
同様に、図11及び図10−2を参照して、転送装置1Aと転送装置1Bとの間で、転送装置1Bから転送装置1Aへの方向が回線断となり故障が発生した場合において、転送装置1Cからの開放命令フレーム7[1A宛][Rl]を受信した際の転送装置1Dの動作について説明する。転送装置1Dの制御フレーム管理部3−1が、ポート1D−1を介して開放命令フレーム7[1A宛][R1]を受信すると、開放命令フレーム7を受信したことをリング制御部2に通知する。リング制御部2は、ポート情報記憶部4から、リングIDsに「R1」を保持するポートであって、開放命令フレーム7を受信したポート1D−1以外のポートであるポートID「ポート1D−2」を取得する(図10−2を参照)。そして、ポート1D−2の転送状態が「閉塞」ではなく、開放命令フレーム7の優先リングID「R1」と転送装置1Dの優先リング情報記憶部5の優先リングID「R1」とが一致するため(図10−2を参照)、転送テーブルを初期化する。そして、リング制御部2は、転送装置1A宛に優先リングIDをR1とした開放命令フレーム7を転送することを制御フレーム管理部3−2に通知し、制御フレーム管理部3−2は、ポート1D−2を介して、開放命令フレーム7[1A宛][R1]を転送する。転送装置1E,1Fについては、転送装置1Dと同様に動作する。
以上の動作により、共用ポート1D−2,1E−1以外で故障を検出した際に経路切替を行うことにより、図11に示したマルチリング型冗長通信路の全ての転送装置間で通信可能な状態を保つことが可能となる。また、片方向回線断を検出したポート1A−2,1B−1を閉塞し、開放命令フレーム7によって主閉塞ポート1C−2を開放することにより、片方向回線断による片方向ループの発生や故障の誤検出による両方向ループの発生を防止することが可能となる。
次に、図12、図13−2及び図10−2を参照して、転送装置1Eと転送装置1Dとの間で、双方向が回線断となり故障が発生した場合の、転送装置1Dの動作について説明する。転送装置1Dが、ポート1D−2を介して検査フレーム6を受信しなくなるから、制御フレーム管理部3−2は、ポート1D−2を介して、検査フレーム未着通知6−1を送信する。また、制御フレーム管理部3−2は、検査フレーム未着通知6−1を送信したことをリング制御部2に通知し、リング制御部2は、ポート1D−2を閉塞し、ポート情報記憶部4のポート1D−2の転送状態を「閉塞」に書き換える(図13−2を参照)。リング制御部2は、ポート情報記憶部4から、ポート1D−2のリングIDsが「R1,R2」であり、転送装置1Dの優先リング情報記憶部5の優先リングIDが「R1」であるため(図10−2を参照)、ポート情報記憶部4から、リングIDsに「R1」を保持するポート1D−2以外の「ポート1D−1」、及びポート1D−2の隣接装置IDの「1E」を取得する。さらに、リング制御部2は、転送テーブルを初期化する。そして、リング制御部2は、転送装置1E宛に優先リングIDをR1とした開放命令フレーム7を送信することを制御フレーム管理部3−1に通知し、制御フレーム管理部3−1は、ポート1D−1を介して、開放命令フレーム7[1E宛][R1]を送信する。転送装置1Eは、転送装置1Dと同様に動作する。
同様に、図12、図13−1及び図10−1を参照して、転送装置1Eと転送装置1Dとの間で、双方向が回線断となり故障が発生した場合において、転送装置1Dからの開放命令フレーム7を[1E宛][Rl]を受信した際の転送装置1Cの動作について説明する。転送装置1Cの制御フレーム管理部3−2が、ポート1C−2を介して開放命令フレーム7[1E宛][Rl]を受信すると、開放命令フレーム7を受信したことをリング制御部2に通知する。リング制御部2は、ポート情報記憶部4から、リングIDsに「R1」を保持するポートであって、開放命令フレーム7を受信したポート1C−2以外のポートであるポートID「ポート1C−1」を取得する(図10−1を参照)。そして、ポート1C−1の転送状態が「閉塞」ではなく、開放命令フレーム7の優先リングID「R1」と転送装置1Cの優先リング情報記憶部5の優先リングID「R1」とが一致するため(図10−1を参照)、転送テーブルを初期化する。さらに、リング制御部2は、ポート1C−2の転送状態が「主閉塞」であるため、ポート1C−2を開放し、ポート情報記憶部4のポート1C−2の転送状態を「開放」に書き換える(図13−1を参照)。そして、リング制御部2は、転送装置1E宛に優先リングIDをR1とした開放命令フレーム7を転送することを制御フレーム管理部3−1に通知し、制御フレーム管理部3−1は、ポート1C−1を介して、開放命令フレーム7[1E宛][R1]を転送する。
以上の動作により、マルチリング型冗長通信路の共用ポート1D−2,1E−1間で故障が発生した際に、図12に示したように優先リングRlにおいてのみ経路切替を行うことにより、リングR2では主閉塞ポート1K−2を開放しないから、複数のリング型冗長通信路を跨ぐスーパーループの発生を防止することが可能となる。
次に、図14を参照して、転送装置1Aと転送装置1Bとの間で発生した故障が復旧し、ポート1A−2,1B−1が復旧状態になった際に、ポート1C−2を指定した切り戻し指示が入力された場合の、転送装置1Cの動作を説明する。転送装置1Cのリング制御部2は、オペレータの操作によりポート1C−2に対する切り戻し指示を入力すると、転送装置1C宛の復旧検査フレーム8を送信することを制御フレーム管理部3−2に通知し、制御フレーム管理部3−2は、ポート1C−2を介して、復旧検査フレーム8[1C宛]を送信する。この復旧検査フレーム8[1C宛]が他の転送装置で転送された結果、転送装置1Cの制御フレーム管理部3−1は、ポート1C−1を介して、復旧検査フレーム8[1C宛]を受信すると、復旧検査フレーム8を受信したことをリング制御部2に通知する。リング制御部2は、ポート情報記憶部4から、ポート1C−1のリングIDs「Rl」とポート1C−2のリングIDs「Rl」が一致するため、ポート1C−2を主閉塞にし、ポート情報記憶部4のポート1C−2の転送状態を「主閉塞」に書き換える。そして、リング制御部2は、転送装置1C宛の復旧開放命令フレーム9を送信することを制御フレーム管理部3−2に通知し、制御フレーム管理部3−2は、ポート1C−2を介して、復旧開放命令フレーム9[1C宛]を送信する。
同様に、図14及び図15を参照して、転送装置1Aと転送装置1Bとの間で発生した故障が復旧し、ポート1A−2,1B−1が復旧状態になった際に、ポート1C−2に対する切り戻し指示が入力された場合の、転送装置1Aの動作を説明する。転送装置1Aの制御フレーム管理部3−1は、ポート1A−1を介して、復旧検査フレーム8[1C宛]を受信すると、復旧検査フレーム8を受信したことをリング制御部2に通知する。リング制御部2は、ポート情報記憶部4から、復旧検査フレーム8に保持されたリングID「R1」と同じIDを保持するポートID「ポート1A−2」を取得する。そして、リング制御部2は、ポート情報記憶部4から、ポート1A−2の転送状態が「閉塞」ではないため、転送装置1C宛に優先リングIDをR1とした復旧検査フレーム8を転送することを制御フレーム管理部3−2に通知し、制御フレーム管理部3−2は、ポート1A−2を介して、復旧検査フレーム8[1C宛]を転送する。
また、転送装置1Aの制御フレーム管理部3−1は、ポート1A−1を介して、復旧開放命令フレーム9[1C宛]を受信すると、復旧開放命令フレーム9を受信したことをリング制御部2に通知する。リング制御部2は、転送テーブルを初期化し、ポート情報記憶部4から、ポート1A−2の転送状態が「復旧」であるため、ポート1A−2を開放し、転送装置Aのポート情報記憶部4のポート1A−2の転送状態を「開放」に書き換える。さらに、リング制御部2は、転送装置1C宛の復旧開放命令フレーム9を転送することを制御フレーム管理部3−2に通知し、制御フレーム管理部3−2は、ポート1A−2を介して、復旧開放命令フレーム9[1C宛]を転送する。転送装置1Bは、転送装置1Aと同様に動作する。
以上の動作により、故障が復旧した場合に、指定したポート1C−2を主閉塞してから、故障箇所で閉塞していたポート1A−2,1B−1を開放するようにしたから、ループの発生を防止すると共に、正常時の状態に切り戻すことが可能となる。
以上のように、本発明の実施の形態によれば、故障発生による経路切替時に、故障を検出したポートを閉塞してから、主閉塞ポートの開放を行うようにした。これにより、両方向回線断及び片方向回線断によらず、故障発生時にループを発生させることなく切り替えを行うことが可能となる。また、故障の誤検出時に経路切替を行っても、ループの発生を防ぐことが可能となる。
また、本発明の実施の形態によれば、故障が発生した回線または装置を接続するポートを閉塞するようにした。これにより、経路を分断することなく故障発生による経路切替を行うことが可能となる。
また、本発明の実施の形態によれば、故障が復旧した際には、指定のポートを閉塞してから、故障による閉塞ポートを開放するようにした。これにより、ループを発生させることなく、切り戻しを行うことが可能となる。
また、本発明の実施の形態によれば、共用ポートにおいて故障を検出した際には、一つの優先リングにより経路切替を行うようにした。これにより、マルチリング型冗長通信路において、経路切替によるスーパーループの発生を防ぐことが可能となる。
以上、実施の形態を挙げて本発明を説明したが、本発明は上記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々変更が可能である。また、本発明の目的を達し、効果を奏する範囲において、適宜変更して実装することが可能である。例えば、上記実施の形態では、一つのリングの転送装置の数を6としたが、この数に制限されることはない。また、VLAN(Virtual Local Area Network)等の識別子を用いて、リング型冗長通信路を論理的に多重化するようにしてもよい。この場合、主閉塞ポートの位置は、VLAN毎に異なっていてもよい。また、開放命令フレーム7または復旧開放命令フレーム9は、必ずしも通常の通信路を経由する必要はなく、管理者による操作やその他の手法により外部からの指示によって、経由する通信路情報が与えられるようにしてもよい。
また、上記の実施形態では、検査フレームを受信しないことにより故障を検出した転送装置と、未着通知フレームを受信したことにより故障を検出した転送装置との双方が、故障を検出したポートを各々閉塞し、また、開放命令フレームを各々送信する手法について説明したが、本発明はこれに限られるものではない。例えば、検査フレームを受信しないことにより故障を検出した転送装置のみが(上記の例でいえば、転送装置1Aのみが)、故障を検出したポート(1A−2ポート)を閉塞し、開放命令フレームを転送装置1B宛に送信する手法や、検査フレームを受信しないことにより故障を検出する転送装置と、未着通知フレームを受信したことにより故障を検出する転送装置との間に予め優先順位付けがされることで、例えば、どのような状況においていずれの転送装置が開放命令フレームを送信するか等について決定されており、当該決定に従って転送装置が開放命令フレームを送信する手法などにも、本発明を同様に適用することができる。
なお、故障を検出した転送装置の双方が、ポートを閉塞して開放命令フレームを送信する手法の利点としては、当該リング型冗長通信路を運用管理する運用管理者が、通信路の故障箇所を特定しやすくなる点や、また、開放命令フレームが2系統で送信されることから、確実に送信されやすくなる点などを挙げることができる。
以上のように、本発明に係るリング型冗長通信路制御方法は、転送装置の2つのポートを、各々隣接する転送装置のポートと接続することによって複数の転送装置を環状に接続し、フレームを互いに反対方向に転送するフレーム転送経路を冗長的に構成したリング型冗長通信路の下で、前記複数の転送装置を環状に接続したポートのうちの少なくとも1つのポートを、当該リング型冗長通信路の正常状態においても閉塞している主閉塞ポートとすることによって、前記フレーム転送経路を一意に選択させることに有用であり、特に、片方向の回線が切断した場合や、転送遅延または転送バッファの溢れ等により検査フレームを廃棄した場合であっても、ループの発生を防止し、かつ、故障発生時における経路の分断の発生を防止することに適する。
図1は、本発明の一実施形態であるリング制御システムの適用場面を示す図である。
図2は、転送装置の内部構成を示す図である。
図3は、ポート情報記憶部、優先リング情報記憶部及び転送テーブル記憶部に記憶される情報の構成を示す図である。
図4は、転送装置間で転送され、かつ、リングを制御するための制御フレームのフォーマットを示す図である。
図5は、本発明の一実施形態であるリング制御システムの動作概要を示す図である。
図6は、故障が発生した際の転送装置の動作を示すフローチャート図である。
図7は、復旧時に、切り戻し指示を受けた転送装置の動作を示すフローチャート図である。
図8は、復旧時に、切り戻し指示を受けた転送装置以外の転送装置の動作を示すフローチャート図である。
図9は、共用ポートを有するマルチリング型冗長通信路の接続形態を示す図である。
図10−1は、正常時における各転送装置のポート情報記憶部及び優先リング情報記憶部に記憶された情報を示す図である。
図10−2は、正常時における各転送装置のポート情報記憶部及び優先リング情報記憶部に記憶された情報を示す図である。
図11は、転送装置間で故障が発生した場合を説明する図である。
図12は、共用回線で故障が発生した場合を説明する図である。
図13−1は、故障時における各転送装置のポート情報記憶部に記憶された情報を示す図である。
図13−2は、故障時における各転送装置のポート情報記憶部に記憶された情報を示す図である。
図14は、転送装置間で発生していた故障が復旧した場合を説明する図である。
図15は、復旧時における各転送装置のポート情報記憶部に記憶された情報を示す図である。
符号の説明
1 転送装置
1−1,1−2,1−3 ポート
2 リング制御部
3,3−1,3−2,3−3 制御フレーム管理部
4 ポート情報記憶部
5 優先リング情報記憶部
6 検査フレーム
6−1 検査フレーム未着通知フレーム
7 開放命令フレーム
8 復旧検査フレーム
9 復旧開放命令フレーム