図2は、本発明の実施形態の伝送装置が使用されるネットワークの一例を示す。このネットワークは、図2に示すように、複数の伝送装置1(1a〜1f)によって構築されている。各伝送装置1は、例えば光ファイバにより、1または複数の他の伝送装置1と接続されている。例えば、伝送装置1aは、伝送装置1b、1d、1eと接続されており、伝送装置1bは、伝送装置1a、1c、1d、1e、1fと接続されている。また、各伝送装置1は、1または複数のユーザ端末2を収容することができる。図1に示す例では、伝送装置1a、1c、1d、1fが、それぞれ複数のユーザ端末2を収容している。
伝送装置1は、ユーザ端末2または他の伝送装置1から受信するフレームを、宛先へ向かって転送する。すなわち、伝送装置1は、受信フレームの宛先アドレスに基づいてそのフレームを転送することができる。例えば、ユーザ端末2からEthernetフレームまたはIPフレームが送信される場合、伝送装置1は、受信フレーム内に格納されているMACアドレスまたはIPアドレス等に基づいて、そのフレームの転送処理を行う。なお、この明細書では、フレームおよびパケットを互いに区別しないことにする。したがって、「フレーム」は、パケットを含むものとする。
図3は、伝送装置1の構成を示す。伝送装置1は、図3に示すように、複数のIF(インタフェース)ユニット11、スイッチ部12、制御部13を有する。また、伝送装置1には、制御端末14が接続されている。
各IFユニット11は、複数のポートを有する。この実施例では、伝送装置1は、1つの対向装置(他の伝送装置1またはユーザ端末2)に対して1組の入力ポートおよび出力ポートを有する。すなわち、伝送装置1は、対向装置から送信されるフレームを入力ポートを介して受信し、出力ポートを介して対向装置へフレームを送信する。
IFユニット11は、ポートを介して受信するフレームを終端し、そのフレームをスイッチ部12へ送る。また、IFユニット11は、スイッチ部12から導かれてくるフレームを、そのパケットの宛先に対応するポートを介して出力する。なお、IFユニット11は、例えば、着脱可能なモジュール、ボード、またはカードで実現される。
スイッチ部12は、複数のIFユニット11に接続されている。そして、スイッチ部12は、IFユニット11から入力されるフレームを、その宛先に対応するIFユニット11へ導く。尚、スイッチ部12は、フレーム転送を制御するためのプロセッサ、メモリ、およびハードウェア回路を含む。また、スイッチ部12は、例えば、着脱可能なモジュール、ボード、またはカードで実現される。
制御部13は、CPUおよびメモリを含み、IFユニット11およびスイッチ部12の動作を制御する。また、制御部13は、アラーム情報および/または統計情報を収集することもできる。なお、制御部13は、例えば、着脱可能なモジュール、ボード、またはカードで実現される。
制御端末14は、制御部13に接続されるコンピュータであり、ユーザまたはネットワーク管理者の指示を伝送装置1に与える。なお、制御端末14は、伝送装置1の一部であってもよい。
IFユニット11、スイッチ部12、制御部13は、個々に着脱可能である必要はなく、例えば、マザーボードによって一体化されていてもよい。また、伝送装置1は、IFユニット11、スイッチ部12、制御部13に加えて、他の要素を含んでいてもよい。
図4は、伝送装置1により伝送されるフレームのフォーマットの例を示す。ここでは、伝送装置1は、Ethernetフレームを伝送するものとする。なお、図4に示す括弧付きの数字は、ビット数を表す。
Ethernetフレームは、図4(a)に示すように、宛先MACアドレス(MAC DA)、送信元MACアドレス(MAC SA)、イーサネット(登録商標)タイプ(E-TYPE)、プロトコルデータユニット(PDU)、フレームチェックシーケンス(FCS)を有する。イーサネットタイプは、プロトコルデータユニットに格納されるメッセージのタイプを識別する。一例としては、0x0800は、IPv4フレームを表す。なお、イーサネットタイプは、例えば、IANAにより規定される。プロトコルデータユニットは、上位レイヤのメッセージを格納する。例えば、ユーザデータは、このプロトコルデータユニットに格納される。フレームチェックシーケンスは、フレーム誤り検出のために使用され、例えば、CRC32符号により実現される。
図4(b)は、VLANタグが付与されたEthernetフレームのフォーマットを示す。VLANタグは、タグプロトコル識別子(TPID)、優先度(Priority)、DEI(Drop Eligible Indicator)、仮想LAN識別子(VLAN ID)を含む。タグプロトコル識別子には、フレーム内に仮想LAN識別子が格納されていることを表す値が設定される。たとえば、タグプロトコル識別子として、IEEE802.1Qで規定される0x8100が設定される。優先度は、フレーム自体の優先度を表す。図4(b)に示す例では、優先度は、3ビットであり、8クラスの優先度を表示できる。DEIは、廃棄優先度を表す。ネットワークが輻輳しているときは、DEI=1が設定されているフレームが優先的に廃棄される。仮想LAN識別子は、ユーザを識別することができる。なお、タグプロトコル識別子および仮想LAN識別子の組合せがVLANタグと呼ばれることもある。
図5は、パスプロテクションの一例を示す。図5に示す例では、伝送装置1Aは、ユーザ端末2Aおよび2Bを収容している。また、伝送装置1Bは、ユーザ端末2Cおよび2Dを収容している。そして、ユーザ端末2A、2C間のデータフローに対してパスプロテクションが構築され、また、ユーザ端末2B、DC間のデータフローに対してパスプロテクションが構築される。
パスプロテクション(或いは、パス冗長)は、1組の論理パス(現用パスおよび予備パス)により実現される。例えば、ユーザ端末2A、2C間のデータフローに対するパスプロテクションは、伝送装置1C、1Dを経由する経路上に設定される現用パス、および伝送装置1E、1Fを経由する経路上に設定される予備パスにより実現される。
各伝送装置1は、複数のIFユニット11およびスイッチ部12を有する。例えば、伝送装置1Aは、図5に示すように、IFユニット11#1〜11#4、及びスイッチ部12を有する。なお、ユーザ端末2Aは、伝送装置1AのIFユニット11#1に収容され、ユーザ端末2Bは、伝送装置1AのIFユニット11#4に収容されている。また、伝送装置1AのIFユニット11#2および11#3は、それぞれ、伝送装置1Cおよび1Eに接続されている。
図5に示す例では、1:1パスプロテクションが実装されている。1:1パスプロテクションにおいては、データフレームは、現用パスまたは予備パスのどちらか一方へ転送される。
例えば、ユーザ端末2Aから送信されるデータフレームは、伝送装置1AのIFユニット11#1により受信される。IFユニット11#1は、受信データフレームをIFユニット#2へ導く。そうすると、このデータフレームは、現用パスを介して伝送装置1Bへ伝送される。そして、伝送装置1Bは、この受信データフレームをユーザ端末2Cへ転送する。このとき、1:1パスプロテクションにおいては、ユーザ端末2Aから送信されるデータフレームは、予備パスを介して伝送されない。
なお、パスプロテクションを実装するか否かは、ユーザ毎(或いは、データフロー毎)に設定することが可能である。また、現用パスおよび予備パスは、それぞれ、所望の経路上に設定することができる。
パスプロテクションを実装する伝送システムにおいては、現用パスおよび予備パスの接続状態を監視するために、OAM(Operation Administration and Maintenance)フレームが伝送される。OAMフレームは、たとえば、ITU-T Y.1731において規定されている。ここで、OAMフレームの形式は、図3(a)または図3(b)に示す通りである。ただし、OAMフレームのイーサネットタイプには、OAMフレームを表す値(例えば、「0x8902」)が設定される。また、OAMフレームのPDUには、運用、管理、保守のためのメッセージが格納される。なお、OAMフレームは、IFユニット11内に設けられているOAM回路15により生成される。
図5に示す例では、伝送装置1Aと伝送装置1Bとの間にパスプロテクションが実装されている。この場合、伝送装置1AのIFユニット11#2に設けられているOAM回路15は、伝送装置1Bへ向けてOAMフレームを送信する。また、伝送装置1BのIFユニット11#xに設けられているOAM回路15は、伝送装置1Aへ向けてOAMフレームを送信する。同様に、伝送装置1AのIFユニット11#3に設けられているOAM回路15は、伝送装置1Bへ向けてOAMフレームを送信する。また、伝送装置1BのIFユニット11#y設けられているOAM回路15は、伝送装置1Aへ向けてOAMフレームを送信する。
なお、OAM回路15は、各論理パスについてOAMフレームを送受信する。たとえば、伝送装置1AのIFユニット11#2に設けられているOAM回路15は、ユーザ端末2A、2C間のデータフローのための現用パスを監視するOAMフレームを送信するとともに、ユーザ端末2B、2D間のデータフローのための現用パスを監視するOAMフレームを送信することができる。同様に、伝送装置1AのIFユニット11#3に設けられているOAM回路15は、ユーザ端末2A、2C間のデータフローのための予備パスを監視するOAMフレームを送信するとともに、ユーザ端末2B、2D間のデータフローのための予備パスを監視するOAMフレームを送信することができる。
OAM回路15は、各論理パスについて、予め指定された時間間隔でOAMフレームを送信する。一例としては、OAM回路15は、各論理パスについて、3.3m秒間隔でOAMフレームを送信する。
OAM回路15は、対向装置(ここでは、他の伝送装置1)から送信されるOAMフレームを監視することにより、対応する論理パスの接続状態を監視することができる。例えば、OAM回路15は、OAMフレームを受信できないときは、対応する論理パスに障害が発生したと判定してもよい。一例としては、OAM回路15は、任意の論理パスを監視するためのOAMフレームを3個連続して受信しないときは、対応する論理パスに障害が発生したと判定してもよい。
例えば、伝送装置1Aにおいて、OAMフレームに基づいて、ユーザ端末2A、2C間のデータフローのための現用パスの障害が検出されたものとする。この場合、伝送装置1Aは、ユーザ端末2A、2C間のデータフローについて、現用パスから予備パスへのパス切替えを実行する。具体的には、IFユニット11#1は、受信データパケットがIFユニット11#3に導かれるように、受信データパケットの宛先情報を設定する。そうすると、スイッチ部12は、そのデータパケットをIFユニット11#3へ導き、IFユニット11#3は、そのデータパケットを予備パスを介して伝送装置1Bへ送信する。
ところで、近年の多重化技術により、各物理リンクには複数の論理パスが設定されていることが多い。この場合、その物理リンクに障害が発生すると、複数の論理パスについて切替えを実行する必要がある。そして、本発明の実施形態に係る伝送装置1は、同時に複数の論理パスの切替えが要求されたときであっても、それら複数の論理パスの切替えを短い時間内に完了するように構成されている。
なお、図5に示す例では、1:1パスプロテクションが実装されている。ただし、本発明の実施形態に係る伝送装置および伝送方法は、1+1パスプロテクションにも適用可能である。1+1パスプロテクションにおいては、現用パスおよび予備パスを介して同じデータが並列に伝送される。そして、受信側の伝送装置は、現用パスを介して受信するデータまたは予備パスを介して受信するデータの一方を選択して宛先へ転送する。
以下の説明では、他の伝送装置またはユーザ端末からフレームを受信するIFユニットを「イングレスIFユニット」と呼ぶことがある。例えば、伝送装置1Aにおいて、IFユニット11#1は、ユーザ端末2Aからユーザ端末2Cへのデータフローに対してイングレスIFユニットとして動作する。また、他の伝送装置またはユーザ端末へフレームを送信するIFユニットを「エグレスIFユニット」と呼ぶことがある。例えば、伝送装置1Aにおいて、IFユニット11#2およびIFユニット11#3は、それぞれ、ユーザ端末2Aからユーザ端末2Cへのデータフローに対してエグレスIFユニットとして動作する。
図6は、伝送装置1の構成および動作を説明する図である。なお、図6に示す伝送装置1は、以下の記載では、図5に示す伝送システムにおいて使用される伝送装置1Aであるものとする。
伝送装置1は、上述したように、複数のIFユニット11、スイッチ部12、制御部13を有する。図6では、伝送装置1には、3個のIFユニット11#1〜11#3が実装されているが、伝送装置1は4以上のIFユニット11を有していてもよい。
各IFユニット11は、それぞれ、複数の通信ポートを有する。この実施例では、伝送装置1は、1つの対向装置(他の伝送装置1またはユーザ端末2)に対して1組の入力ポートおよび出力ポートを有する。すなわち、伝送装置1は、対向装置から送信されるフレームを入力ポートを介して受信し、また、出力ポートを介して対向装置へフレームを送信する。
IFユニット11#1のポート#1は、図5に示すユーザ端末2Aに接続されている。よって、IFユニット11#1は、ポート#1を介してユーザ端末2Aからユーザフレームを受信することができ、また、ポート#1を介してユーザ端末2Aへユーザフレームを送信することができる。IFユニット11#2のポート#1は、物理リンクCを介して、図5に示す伝送装置1Cに接続されている。よって、IFユニット11#2は、ポート#1(即ち、物理リンクC)を介して伝送装置1Cからフレームを受信することができ、また、ポート#1を介して伝送装置1Cへフレームを送信することができる。同様に、IFユニット11#3のポート#1は、物理リンクEを介して、図5に示す伝送装置1Eに接続されている。よって、IFユニット11#3は、ポート#1(即ち、物理リンクE)を介して伝送装置1Eからフレームを受信することができ、また、ポート#1を介して伝送装置1Eへフレームを送信することができる。なお、各物理リンク上には、多重化技術により、複数の論理パスを設定することができる。
以下、1つの実施例として、図5に示すユーザ端末2A、2C間のデータフローに対するパスプロテクションについて記載する。ここで、ユーザ端末2A、2C間のデータフローは、「VLANID=100」で識別される仮想LANに属するものとする。即ち、ユーザ端末2A、2C間のデータフローに係わるフレームのヘッダには、「VLANID=100」が設定されている。なお、記載を簡潔にするために、VLANIDを「VID」と表記することがある。
ユーザ端末2Aから送信されるユーザフレームは、伝送装置1Aにおいて、IFユニット11#1により受信される。そうすると、伝送装置1Aは、このユーザフレームを伝送装置1Bへ向けて転送する。ここで、現用パスがアクティブであるときは、伝送装置1Aは、受信ユーザフレームを、IFユニット11#2を介して送信する。一方、予備パスがアクティブであるときは、伝送装置1Aは、受信ユーザフレームを、IFユニット11#3を介して送信する。
ユーザ端末2Aへ向かうユーザフレームは、伝送装置1Aにおいて、IFユニット11#2またはIFユニット11#3により受信される。ここで、現用パスがアクティブであるときは、このユーザフレームは、IFユニット11#2により受信される。一方、予備パスがアクティブであるときは、このユーザフレームは、IFユニット11#3により受信される。そして、伝送装置1Aは、このユーザフレームを、IFユニット11#1を用いてユーザ端末2Aへ送信する。
各IFユニット11は、受信フレーム処理部21、受信フレームテーブル22、パス冗長制御部23、パス状態管理テーブル24、OAM回路15、PIDテーブル25、パス管理フレーム生成部26、パス管理フレーム抽出部27、CPU28を有する。受信フレームテーブル22、パス状態管理テーブル24、PIDテーブル25は、例えば、データを記録することができる回路または半導体メモリにより実現される。また、受信フレーム処理部21、パス冗長制御部23、OAM回路15、パス管理フレーム生成部26、パス管理フレーム抽出部27は、特に限定されるものではないが、例えば、ハードウェア回路で実現される。
なお、図6においては、図面を見やすくするために、一部の回路または機能が省略されているが、伝送装置1に実装されるIFユニット11(11#1〜11#3)の構成は、互いに実質的に同じである。すなわち、IFユニット11#1においては、OAM回路15、PIDテーブル25、パス管理フレーム生成部26が省略されている。また、IFユニット11#2、11#3においては、パス状態管理テーブル24およびパス管理フレーム抽出部27が省略されている。
受信フレーム処理部21は、受信フレームのヘッダ情報を利用して、受信フレームテーブル22から対応する情報を取得する。この実施例では、各フレームは、図4(b)に示すVLANタグが付与されているものとする。この場合、受信フレーム処理部21は、受信フレームの仮想LAN識別子(すなわち、VID)を利用して、受信フレームテーブル22から対応する情報を取得する。なお、VIDは、実質的には、仮想LANに属する論理パスを識別することができる。
受信フレームテーブル22は、図7に示すように、VIDを検索インデックスとして制御情報を格納する。すなわち、受信フレームテーブル22は、各VIDに対して、VID有効フラグ、OAM有効フラグ、送信先側パス冗長フラグ、送信元側パス冗長フラグ、PID、第1宛先情報、第2宛先情報を格納する。なお、図7においては、図6に示す実施例に基づいて、IFユニット11#1、11#2、11#3にそれぞれ設けられている受信フレームテーブル22が描かれている。
VID有効フラグは、VIDにより識別される仮想LANが有効か否かを表す。この例では、「1」は有効状態を表し、「0」は無効状態を表す。例えば、受信フレームのVIDに対応するVID有効フラグが「0」であれば、この受信フレームは、受信フレーム処理部21により廃棄される。
OAM有効フラグは、OAMフレームを使用して論理パスを監視するか否かを表す。この例では、「1」は有効状態を表し、「0」は無効状態を表す。例えば、受信フレームのVIDに対応するOAM有効フラグが「1」であり、且つ、この受信フレームのイーサネットタイプ(E-TYPE)がOAMフレームを示していれば、受信フレーム処理部21は、この受信フレームをOAM回路15へ転送する。図7に示す例では、IFユニット11#1において、VID=100に対して「OAM有効フラグ=0」が設定されている。この場合、IFユニット11#1は、VID=100で識別される論理パスについてOAMフレームによる監視を行わない。一方、IFユニット11#2においては、VID=100に対して「OAM有効フラグ=1」が設定されている。この場合、IFユニット11#2は、VID=100で識別される論理パスについてOAMフレームによる監視を行う。同様に、IFユニット11#3も、VID=100で識別される論理パスについてOAMフレームによる監視を行う。
なお、図6に示す例では、伝送装置1A、1B間でOAMフレームが伝送される。この場合、伝送装置1A、1B間に設けられている伝送装置1(即ち、伝送装置1C〜1F)は、OAMフレームを監視しなくてもよい。OAMフレームを監視しない伝送装置1においては、OAM有効フラグは「0」に設定される。
送信先側パス冗長フラグは、送信先側の論理パスに対してパス冗長が行われているか否かを表す。この例では、「1」はパス冗長が行われる状態を表し、「0」はパス冗長が行われない状態を表す。また、送信元側パス冗長フラグは、送信元側の論理パスに対してパス冗長が行われているか否かを表す。この例では、「1」はパス冗長が行われる状態を表し、「0」はパス冗長が行われない状態を表す。
なお、送信先側パス冗長フラグおよび送信元側パス冗長フラグは、パス冗長が行われる区間の端部に位置する伝送装置1において「1」に設定され得る。例えば、図5に示す例では、送信先側パス冗長フラグおよび送信元側パス冗長フラグは、伝送装置1Aおよび伝送装置1Bにおいて「1」に設定され得る。換言すれば、各伝送装置1C〜1Fにおいては、送信先側パス冗長フラグおよび送信元側パス冗長フラグは、いずれも「0」に設定される。以下、図5および図6を参照しながら、伝送装置1AにおいてVID=100に対して設定される送信先側パス冗長フラグおよび送信元側パス冗長フラグの実施例を説明する。
伝送装置1Aにおいて、IFユニット11#1の受信フレーム処理部21は、VID=100を有するユーザフレームをユーザ端末2Aから受信する。よって、IFユニット11#1にとって、送信元側の論理パスは、ユーザ端末2Aと伝送装置1Aとの間でVID=100で識別される論理パスである。ここで、図6に示す例では、ユーザ端末2Aと伝送装置1Aとの間で、VID=100に対してパス冗長は行われない。したがって、IFユニット11#1の送信元側パス冗長フラグは「0」である。
また、IFユニット11#1の受信フレーム処理部21がVID=100を有するユーザフレームを受信したとき、IFユニット11#1は、現用パスまたは予備パスの一方を選択してそのユーザフレームを送信する。すなわち、VID=100に対して、IFユニット11#1の送信先側でパス冗長が行われる。したがって、IFユニット11#1の送信先側パス冗長フラグは「1」である。
伝送装置1Aにおいて、IFユニット11#2の送信元側には、VID=100に対して現用パスが設定されている。すなわち、IFユニット11#2の送信元側には、パス冗長のための1組の論理パスの一方が設定されており、IFユニット11#2の送信元側でパス冗長が行われている。また、伝送装置1Aは、パス冗長区間の端部に位置している。よって、IFユニット11#2の送信元側パス冗長フラグは「1」である。同様に、IFユニット11#3の送信元側パス冗長フラグも「1」である。
また、IFユニット11#2の受信フレーム処理部21がVID=100を有するユーザフレームを受信したとき、IFユニット11#2は、そのユーザフレームをユーザ端末2Aへ向けて転送する。ここで、伝送装置1Aとユーザ端末2Aとの間では、VID=100に対してパス冗長は行われない。したがって、IFユニット11#2の送信先側パス冗長フラグは「0」である。同様に、IFユニット11#3の送信先側パス冗長フラグも「0」である。
PID(Protection ID)は、パス冗長のための論理パス組を識別する。すなわち、PIDは、現用パスおよびその現用パスに対応する予備パスのペアを識別する。ここで、PIDは、対応する送信先側パス冗長フラグまたは送信元側パス冗長フラグが有効であるときに、設定される。また、PIDは、各伝送装置1の内部で使用される。なお、PIDは、例えば、VIDに対して一位に割り当てられる。ただし、複数のVIDに対して1つのPIDが割り当てられるようにしてもよい。
第1宛先情報および第2宛先情報は、それぞれ、ユーザフレームを送信するIFユニット11および出力ポートを指定する。なお、対応する送信先側パス冗長フラグが有効であるときは、第1宛先情報および第2宛先情報の双方が設定される。すなわち、送信先側においてパス冗長が行われるときには、第1宛先情報および第2宛先情報の双方が設定される。この場合、第1宛先情報および第2宛先情報は、それぞれ、例えば、現用パスおよび予備パスに対応する。一方、対応する送信先側パス冗長フラグが無効であるときは、第1宛先情報のみが設定される。
受信フレーム処理部21は、フレームを受信すると、その受信フレームのVIDに対応する情報を受信フレームテーブル22から取得する。以下、この情報を「受信フレームテーブル情報」と呼ぶことがある。そして、受信フレーム処理部21は、受信フレームおよび取得した受信フレームテーブル情報をパス冗長制御部23に渡す。ただし、受信フレームがOAMフレームであったときは、受信フレーム処理部21は、そのOAMフレームおよび取得した受信フレームテーブル情報をOAM回路15に渡す。
パス冗長制御部23は、受信フレームテーブル情報に基づいて、受信フレームの宛先を決定する。但し、受信フレームテーブル情報の中の送信先側パス冗長フラグが有効であるときは、パス冗長制御部23は、受信フレームテーブル情報の中に含まれているPIDを検索インデックスとしてパス状態管理テーブル24から対応する情報を取得する。以下、この情報を「パス状態管理テーブル情報」と呼ぶことがある。そして、パス冗長制御部23は、受信フレームテーブル情報およびパス状態管理テーブル情報に基づいて、受信フレームの宛先を決定する。
パス状態管理テーブル24は、PIDを検索インデックスとして、各論理パス組についての管理情報(すなわち、パス状態管理テーブル情報)を格納する。パス状態管理テーブル24の構成、およびパス状態管理テーブル24を生成する方法については、後で詳しく説明する。
OAM回路15は、OAMフレームを終端する。そして、OAM回路15は、OAMフレームの受信状況に基づいて、対応する論理パスの接続状態を監視する。たとえば、指定された期間(例えば、10m秒)内にOAMフレームを受信したときは、OAM回路15は、対応する論理パスが正常であると判定してもよい。そして、OAM回路15は、論理パスについての監視結果を、PIDテーブルに書き込む。また、OAM回路15は、定期的にOAMフレームを生成して対向装置へ送信する。一例としては、OAMフレームは、3.3m秒間隔で生成される。
PIDテーブル25は、PIDを検索インデックスとして、各論理パス組を管理するためのパス情報を格納する。以下、この情報を「PIDテーブル情報」と呼ぶことがある。PIDテーブル25の構成、およびPIDテーブル25を生成する方法については、後で詳しく説明する。
パス管理フレーム生成部26は、定期的に、パス管理フレームを生成して他のIFユニット11へ送信する。このとき、パス管理フレーム生成部26は、PIDテーブル25からPIDテーブル情報を読み出し、パス管理フレームのペイロードにそのPIDテーブル情報を格納する。そして、パス管理フレーム生成部26は、伝送装置1内の他のすべてのIFユニット11にパス管理フレームを送信する。或いは、パス管理フレーム生成部26は、予め指定された1または複数のIFユニット11にパス管理フレームを送信してもよい。
パス管理フレーム抽出部27は、スイッチ部12から導かれてくるフレームの中から、パス管理フレームを抽出する。抽出されたパス管理フレームは、パス冗長制御部23に導かれる。パス管理フレーム以外のフレーム(例えば、ユーザフレーム)は、パス管理フレーム抽出部27により抽出されることなく、IFユニット11の出力ポートに導かれる。
CPU28は、制御部13からの指示に基づいて、IFユニット11の各要素を制御することができる。なお、受信フレームテーブル22に格納される情報は、例えば、制御端末14から制御部13を介してCPU28に与えられる。この場合、CPU28は、この情報を受信フレームテーブル22に格納する。また、CPU28は、IFユニット11の各要素の状態を監視し、その監視結果を、制御部13を介して制御端末14に通知してもよい。
図8は、PIDテーブル25のデータ構造を示す。PIDテーブル25は、上述したように、PID毎にPIDテーブル情報を格納する。ここで、PIDテーブル情報は、PIDで識別される論理パス組の状態を表す。各論理パス組の状態は、それぞれ1バイトの情報(B7〜B0)で表される。
以下、図8に加えて図9を参照しながら、PIDテーブル情報の各ビットB7〜B0について説明する。なお、図9(a)および図9(b)は、図6に示すIFユニット11#2に設けられるPIDテーブル25を示す。また、図9(c)および図9(d)は、図6に示すIFユニット11#3に設けられるPIDテーブル25を示す。ここで、PID=5は、図7に示すように、VID=100に対応するものとする。すなわち、IFユニット11#2は、PID=5により識別される論理パス組の現用パスを収容し、IFユニット11#3は、PID=5により識別される論理パス組の予備パスを収容する。
B7ビットは、現用パスが有効であるか否かを表す。例えば、IFユニット11#2はPID=5に対応する現用パスを収容しているので、図9(a)および図9(b)に示すように、B7=1が設定されている。一方、IFユニット11#3はPID=5に対応する現用パスを収容していないので、図9(c)および図9(d)に示すように、B7=0が設定されている。
B5ビットは、予備パスが有効であるか否かを表す。例えば、IFユニット11#2はPID=5に対応する予備パスを収容していないので、図9(a)および図9(b)に示すように、B5=0が設定されている。一方、IFユニット11#3はPID=5に対応する予備パスを収容しているので、図9(c)および図9(d)に示すように、B5=1が設定されている。
なお、PIDテーブル25のB7ビットおよびB5ビットは、ソフトウェアにより設定される。例えば、PIDテーブル25のB7ビットおよびB5ビットは、パス冗長の構成が指定されたときに、制御端末14、制御部13、CPU28により設定される。
B6ビットは、現用パスが有効であるときに、その現用パスの状態を表す。この実施例では、現用パスが正常であるときは、B6ビットには「0」が書き込まれる。一方、現用パスの障害が検出されたときは、B6ビットに「1」が書き込まれる。たとえば、PID=5に対応する現用パスの障害が検出されると、図9(a)および図9(b)に示すように、その現用パスを収容しているIFユニット11#2のPIDテーブル25において、B6ビットが「0」から「1」に書き換えられる。ただし、IFユニット11#3は、PID=5に対応する現用パスを収容していない。よって、この現用パスに障害が発生したとき、図9(c)および図9(d)に示すように、IFユニット11#3のPIDテーブル25のB6ビットは書き換えられない。
B4ビットは、予備パスが有効であるときに、その予備パスの状態を表す。この実施例では、予備パスが正常であるときは、B4ビットには「0」が書き込まれる。一方、予備パスの障害が検出されたときは、B4ビットに「1」が書き込まれる。
なお、PIDテーブル25のB6ビットおよびB4ビットは、OAM回路15によって更新される。すなわち、OAM回路15は、OAMフレームの受信状況に基づいて現用パスおよび/または予備パスの状態を監視する。ここで、OAM回路15は、ある論理パスを介してOAMフレームを受信すると、その論理パスが正常であると判定する。よって、現用パスが正常であれば、OAM回路15は、対応するレコードのB6ビットに「0(正常)」を書き込む。同様に、予備パスが正常であれば、OAM回路15は、対応するレコードのB4ビットに「0(正常)」を書き込む。
OAM回路15が、ある論理パスを介して所定期間OAMフレームを受信できなかったときは、その論理パスに障害が発生していると判定される。一例としては、OAM回路15が障害の発生を判定する。この場合、現用パスの障害が検出されたときは、OAM回路15は、対応するレコードのB6ビットに「1(障害)」を書き込む。また、予備パスの障害が検出されたときは、OAM回路15は、対応するレコードのB4ビットに「1(障害)」を書き込む。但し、B6/B4ビットを「0」から「1」へ更新する動作は、OAM回路15からの書込みによらなくてもよい。例えば、B6/B4ビットに「0」が書き込まれたときから所定時間が経過したときに、ハードウェア回路により自動的に「0」から「1」への更新が行われるようにしてもよい。
B3ビットは、強制パス設定を行うか否かを表す。強制パス設定は、現用パスに障害が発生しているか否かにかかわらず、予め指定された論理パスでフレームを送信する動作モードを意味する。この例では、B3ビットが「1(有効)」に設定されているときは、B2ビットにより指定される論理パスが選択される。
B2ビットは、B3ビットが「1(有効)」に設定されているときに、フレームを送信する論理パスを指定する。この例では、B2ビットに「0」が設定されているときは、第1宛先情報により表されるIFユニット11およびポート番号が使用される。また、B2ビットに「1」が設定されているときは、第2宛先情報により表されるIFユニット11およびポート番号が使用される。なお、B3ビットおよびB2ビットは、ソフトウェアにより設定される。
B1ビットおよびB0ビットは、予約ビットである。すなわち、B1ビットおよびB0ビットは、この例では、使用されない。
図10は、パス冗長管理テーブル24の例を示す。ここでは、IFユニット11#1に設けられているパス冗長管理テーブル24が例示されている。
パス冗長管理テーブル24のデータ構造は、実質的に、PIDテーブル25と同じである。そして、パス冗長管理テーブル24は、他のIFユニット11のPIDテーブル25に格納されている情報(すなわち、PIDテーブル情報)により更新される。図6に示す例では、IFユニット11#1のパス冗長管理テーブル24は、IFユニット11#2、11#3のPIDテーブル25にそれぞれ格納されているPIDテーブル情報により更新される。
PIDテーブル25に格納されているPIDテーブル情報は、パス管理フレーム生成部26により定期的に読み出され、パス管理フレームを利用して他のIFユニット11に送信される。パス管理フレームは、パス管理フレーム抽出部27により抽出され、パス冗長制御部23に導かれる。そうすると、パス冗長制御部23は、パス管理フレームに格納されているPIDテーブル情報に基づいてパス冗長管理テーブル24を更新する。
PIDテーブル情報の中でB7ビットに「1」が設定されているレコードについては、パス冗長管理テーブル24の対応するレコードのB7ビットおよびB6ビットが更新される。同様に、PIDテーブル情報の中でB5ビットに「1」が設定されているレコードについては、パス冗長管理テーブル24の対応するレコードのB5ビットおよびB4ビットが更新される。
例えば、PID=5に対応する現用パスが正常であるときに、IFユニット11#2からIFユニット11#1へ図9(a)に示すPIDテーブル情報が送信され、IFユニット11#3からIFユニット11#1へ図9(c)に示すPIDテーブル情報が送信されるものとする。この場合、図9(a)に示すPIDテーブル情報のB7ビットは「1」である。よって、パス冗長管理テーブル24のB7ビットおよびB6ビットは、このPIDテーブル情報に従って更新される。即ち、図10(a)に示すように、パス冗長管理テーブル24において「B7=1」および「B6=0」が書き込まれる。また、図9(c)に示すPIDテーブル情報のB5ビットは「1」である。よって、パス冗長管理テーブル24のB5ビットおよびB4ビットは、このPIDテーブル情報に従って更新される。すなわち、図10(a)に示すように、パス冗長管理テーブル24において「B5=1」および「B4=0」が書き込まれる。
この後、PID=5に対応する現用パスの障害が検出されると、IFユニット11#2および11#3のPIDテーブル25は、それぞれ図9(b)および図9(d)に示す状態に更新される。そして、IFユニット11#2からIFユニット11#1へ図9(c)に示すPIDテーブル情報が送信され、IFユニット11#3からIFユニット11#1へ図9(d)に示すPIDテーブル情報が送信されるものとする。この場合、図9(c)に示すPIDテーブル情報のB7ビットは「1」である。よって、パス冗長管理テーブル24のB7ビットおよびB6ビットは、このPIDテーブル情報に従って構成される。すなわち、図10(b)に示すように、パス冗長管理テーブル24において「B7=1」および「B6=1」が書き込まれる。また、図9(d)に示すPIDテーブル情報のB5ビットは「1」である。よって、パス冗長管理テーブル24のB5ビットおよびB4ビットは、このPIDテーブル情報に従って構成される。即ち、図10(b)に示すように、パス冗長管理テーブル24において「B5=1」および「B4=0」が書き込まれる。
このように、実施形態の伝送装置1においては、エグレス側IFユニット(11#2、11#3)が各論理パス(現用パスまたは予備パス)の状態を監視する。また、エグレス側IFユニットは、この監視結果に基づいて、論理パス組ごとに論理パスの状態を表すパス情報をPIDテーブル25に格納する。さらに、エグレス側IFユニットは、PIDテーブル25に格納されているパス情報を、イングレス側IFユニット(11#1)へ送信する。そうすると、イングレス側IFユニットは、エグレス側IFユニットから受信したパス情報をパス冗長管理テーブル24に格納する。したがって、イングレス側IFユニットは、各エグレス側IFユニットに収容されている各論理パスの状態を認識することができる。そして、イングレス側IFユニットは、このパス情報を利用して現用パスまたは予備パスを選択し、選択したパスへ受信フレームを導く。
上記構成において、エグレス側IFユニットにおいて収集された各論理パスについてのパス情報は、パス管理フレームに格納されてイングレス側IFユニットへ送信される。以下、伝送装置1の内部で伝送されるフレームについて説明する。
図11は、伝送装置1の内部で伝送されるフレームのフォーマットを示す。伝送装置1の内部で伝送されるフレームは、図11(a)に示すように、装置内フレームヘッダおよびペイロードを有する。
受信ユーザフレームが伝送装置1の内部で伝送されるときは、受信フレーム処理部21は、そのユーザフレーム全体を図11(a)に示すフレームのペイロードに格納する。さらに、受信フレーム処理部21は、そのペイロードに装置内フレームヘッダを付与する。
図11(b)は、パス管理フレームのフォーマットを示す。パス管理フレームのフォーマットは、実質的に、伝送装置1の内部で伝送されるユーザフレーム等と同じである。ただし、パス管理フレームのペイロードには、PIDテーブル25から抽出される情報が格納される。
装置内フレームヘッダは、タイプ、Mフラグ、クラス、宛先情報を含む。タイプは、伝送装置内で処理されるフレームのタイプを示す。この例では、ユーザフレームに対してタイプ0が割り当てられ、パス管理フレームに対してタイプ1が割り当てられる。
Mフラグは、マルチキャスト転送を行うか否かを表す。この例では、ユニキャスト転送に対してMフラグ=0が割り当てられ、マルチキャスト転送に対してMフラグ=1が割り当てられる。ユニキャスト転送においては受信フレームに対して1つの宛先(IFユニット11、出力ポート)が与えられ、マルチキャスト転送においては受信フレームに対して複数の宛先が与えられる。パス管理フレームに対しては、「1(マルチキャスト転送)」が与えられる。なお、マルチキャスト転送においては、スイッチ部12によりフレームのコピーが行われる。
クラスは、フレーム転送の優先度を表す。一例としては、フレーム転送の優先度は、8つのクラスで表される。そして、スイッチ部12は、輻輳が発生すると、優先度の低いフレームを廃棄する。ここで、スイッチ部12においてパス管理フレームが廃棄されにくくするために、パス管理フレームに対して最も優先度の高いクラスが与えられる。よって、論理パスの状態を表すパス情報は、エグレスIFユニットからイングレスIFユニットへ確実に伝送される。
なお、VLANタグが付与されているユーザフレームに対しては、VLANタグ内の優先度をそのまま装置内フレームヘッダのクラスに設定してもよい。或いは、VLANタグ内の優先度を所定の規則に従って変換した後に装置内フレームヘッダのクラスに設定してもよい。例えば、ユーザフレームに対して最高優先度のクラスが与えられないように、規則を作成してもよい。この場合、パス管理フレームの優先度が常にユーザフレームよりも高くなるので、スイッチ部12においてパス管理フレームはさらに廃棄されにくくなる。ただし、この場合、VLANタグ内の優先度を装置内フレームヘッダのクラスに変換するための変換テーブルが必要である。VLANタグが付与されていないユーザフレームに対しては、例えば、宛先MACアドレスおよび/または送信元MACアドレスがクラスに変換される。
宛先情報は、フレームの宛先を表す。ユニキャスト転送においては、例えば、1つの宛先IFユニットおよび1つの出力ポートが指定される。マルチキャスト転送においては、マルチキャストIDが指定される。マルチキャストIDは、複数のIFユニットおよび複数のポート番号の組合せを指定する。この場合、スイッチ部12は、マルチキャストIDに基づいて複数の宛先IFユニットおよび複数の出力ポートを特定する。そして、スイッチ部12は、特定した複数の宛先へフレームを転送する。
なお、ユーザフレームの装置内フレームヘッダは、例えば、エグレス側IFユニットにおいて除去される。また、パス管理フレームは、送信先のIFユニットにおいてパス管理フレーム抽出部27により抽出され、パス冗長制御部23により終端される。すなわち、パス管理フレームは、伝送装置1の外部へは出力されない。
次に、図5〜図10を参照しながら、伝送装置1の動作を説明する。ここでは、図5および図6に示すように、VID=100で識別される仮想LANに対してパスプロテクションが実装されているものとする。また、ユーザフレームがIFユニット11#1からIFユニット11#2または11#3を介して送信される動作について記載する。即ち、IFユニット11#1がイングレス側IFユニットとして動作し、IFユニット11#2、11#3がそれぞれエグレス側IFユニットとして動作するケースについて記載する。なお、VID=100で識別される仮想LANに係わるフレームを「フレーム(VID=100)」と呼ぶことがある。
<エグレス側IFユニット>
(1)IFユニット11#2の受信フレーム処理部21は、VID=100に対応する論理パスを監視するためのOAMフレーム(VID=100)を受信する。そうすると、受信フレーム処理部21は、VID=100を検索インデックスとして、図7に示す受信フレームテーブル22から対応する情報を読み出す。すなわち、受信フレーム処理部21は、受信フレームテーブル22からVID=100に対応する受信フレームテーブル情報を取得する。ここで、OAM有効フラグは「1(有効)」であり、且つ、送信元側パス冗長フラグは「1(有効)」である。この場合、受信フレーム処理部21は、受信OAMフレームをOAM回路15へ転送する。また、受信フレーム処理部21は、受信フレームテーブル情報に含まれるPIDをOAM回路15に通知する。この実施例では、PIDは「5」である。
(2)IFユニット11#2において、OAM回路15は、OAMフレームを受け取ると、そのOAMフレームに対応するPIDを検索インデックスとしてPIDテーブル25にアクセスする。この例では、PID=5でPIDテーブル25がアクセスされる。ここで、IFユニット11#2のPIDテーブル25においては、図9(a)に示すように、B7ビットは「1(現用パス:有効)」である。すなわち、IFユニット11#2は、VID=100で識別される仮想LANの現用パスを収容している。この場合、OAM回路15は、B6ビットに「0(現用パス:正常)」を書き込む。
(3)PIDテーブル25において、B7ビットに「1(現用パス:有効)」が設定されているレコードのB6ビットは、OAM回路15により「0」が書き込まれたときから所定時間が経過すると、自動的に「1(現用パス:障害)」に更新される。この所定時間は、例えば、OAMフレームの送信間隔の3倍(約10m秒)である。この場合、3個のOAMフレームが連続して受信されないとき、論理パスに障害が発生したと判定される。換言すれば、所定時間が経過する前にOAM回路15が次のOAMフレームを受信したときは、B6ビットは「0(現用パス:正常)」のままである。
(4)IFユニット11#3の処理は、実質的に、上述したIFユニット11#2の処理と同じである。ただし、IFユニット11#3は、VID=100で識別される仮想LANの予備パスを収容している。したがって、IFユニット11#3においては、OAMフレーム(VID=100)を受信すると、対応するレコードのB4ビットに「0(予備パス:正常)」が書き込まれる。また、OAMフレーム(VID=100)が受信されないときは、B4ビットは「1(予備パス:障害)」に更新される。
(5)IFユニット11#2、11#3において、パス管理フレーム生成部26は、定期的(例えば、10m秒周期)に、PIDテーブル25のすべてのレコードから情報を読み出す。また、パス管理フレーム生成部26は、図11(b)に示すパス管理フレームのペイロードに、PIDテーブル25から読み出した情報を格納する。そして、パス管理フレーム生成部26は、生成したパス管理フレームを、伝送装置内の他の全てのIFユニット11に送信する。このパス管理フレームは、ユーザフレームと同様に、CPUによって処理されることなく、スイッチ部12によって宛先のIFユニットへ送信される。すなわち、PIDテーブル情報を含むパス管理フレームは、コントロールプレーン(CPU間バス)を介してではなく、データプレーン(高速なデータ通信パス)を介して伝送される。このとき、図11(b)に示すように、パス管理フレームのクラスは最高優先度を表すので、スイッチ部12においてパス管理フレームは廃棄されにくい。なお、パス管理フレームは、他の全てのIFユニット11に送信されなくてもよい。すなわち、パス管理フレーム生成部26は、一部のIFユニット11にパス管理フレームを送信するようにしてもよい。
このように、各エグレス側IFユニットにおいて収集されたパス情報は、定期的に、パス管理フレームに格納されて他のIFユニットへ送信される。ここで、パス管理フレームを伝送するために必要な帯域を計算する。以下の例では、伝送装置1が8192個のパスプロテクションを提供するものとする。この場合、PIDテーブル25は、PID#0〜#8191に対してレコードを有する。そうすると、PIDテーブル25の容量は、8192バイトである。また、図11に示す装置内フレームヘッダは4バイトであるものとする。この場合、パス管理フレームは、8196バイト長で実現される。更に、パス管理フレーム生成部26は、10m秒間隔でパス管理フレームを生成して送信するものとする。そうすると、各IFユニット11がパス管理フレームを送信するために必要な帯域は、以下のように計算される。
帯域=8196×8×100=6,556,800bps
このように、パス管理フレームを送信するために必要な帯域は、約6.6Mbpsである。ここで、スイッチ部12の帯域は、例えば、100Gbps程度である。即ち、パス管理フレームを送信するために必要な帯域は、スイッチ部12の帯域と比較して十分に小さい。したがって、パス管理フレームをスイッチ部12を介して伝送しても、ユーザフレームの伝送遅延を引き起こすことはない。
<イングレス側IFユニット>
(1)IFユニット11#1は、スイッチ部12を介してパス管理フレームを受信する。この実施例では、IFユニット11#1は、IFユニット11#2、11#3からそれぞれ定期的にパス管理フレームを受信する。このとき、パス管理フレーム抽出部27は、受信フレームからパス管理フレームを抽出してパス冗長制御部23へ導く。なお、受信フレームがユーザフレームであったときは、パス管理フレーム抽出部27は、そのユーザフレームを出力ポートへ導く。
(2)パス冗長制御部23は、各IFユニット(11#2、11#3)から受信したパス管理フレームに基づいて、パス状態管理テーブル24を更新する。パス状態管理テーブル24は、PID毎に、以下のようにして更新される。
(3)B7ビットが「1(現用パス:有効)」であれば、パス管理フレームに格納されている現用パス状態情報が有効であると判定される。この場合、パス状態管理テーブル24のB7ビットおよびB6ビットは、パス管理フレームに格納されているB7ビットおよびB6ビットにより更新される。例えば、IFユニット11#1のパス状態管理テーブル24は、図10(a)に示す情報を格納しているものとする。そして、IFユニット11#1は、IFユニッ11#2から図8(b)に示すPIDテーブル情報を受信するものとする。ここで、PIDテーブル情報において、PID=5に対応するB7ビットは「1」である。したがって、パス状態管理テーブル24において、PID=5に対応するレコードのB7ビットおよびB6ビットは、受信PIDテーブル情報のB7ビットおよびB6ビットにより更新される。この結果、B6ビットが「0(現用パス:正常)」から「1(現用パス:障害)」に変更される。
(4)B5ビットが「1(予備パス:有効)」であれば、パス管理フレームに格納されている予備パス状態情報が有効であると判定される。この場合、パス状態管理テーブル24のB5ビットおよびB4ビットは、パス管理フレームに格納されているB5ビットおよびB4ビットにより更新される。
(5)受信したパス管理フレームのB7ビット及びB5ビットの双方が「0(無効)」であるPIDについては、パス状態管理テーブル24の更新は実行されない。また、受信したパス管理フレームのB7ビット及びB5ビットの双方が「1(有効)」であるときには、例えば、エラーメッセージを出力してもよい。
このように、イングレス側IFユニットのパス状態管理テーブル24は、各エグレス側IFユニットから定期的に送られてくるパス管理フレームにより更新される。よって、パス状態管理テーブル24は、各論理パスについての最新の状態を表す情報を格納する。ここで、パス状態管理テーブル24は、パスプロテクションのための論理パス組ごとに、現用パスおよび予備パスの状態を表す情報を格納する。したがって、イングレス側IFユニットは、パス状態管理テーブル24を参照することにより、受信ユーザフレームを出力すべき論理パスを適切に選択することができる。
<パス切替え>
IFユニット11#1は、ネットワークからユーザフレームを受信すると、そのユーザフレームを出力する論理パスを決定する。すなわち、IFユニット#1は、受信ユーザフレームを出力するIFユニットおよび出力ポートを決定する。以下、受信ユーザフレームを出力する論理パスを決定する方法を説明する。
受信フレーム処理部21は、受信フレームのVIDを検索インデックスとして受信フレームテーブル22から対応する受信フレームテーブル情報を読み出す。例えば、VID=100であれば、図7に示す受信フレームテーブル情報(IFユニット11#1)が読み出される。そうすると、受信フレーム処理部21は、受信フレームをパス冗長制御部23へ転送すると共に、受信フレームテーブル22から読み出した受信フレームテーブル情報もパス冗長制御部23に渡す。
図12は、パス冗長制御部23の動作を示すフローチャートである。このフローチャートの処理は、パス冗長制御部23が受信フレーム処理部21からフレームおよび対応する受信フレームテーブル情報を受け取ったときに実行される。
S1において、パス冗長制御部23は、受信フレームテーブル情報の中の送信先側パス冗長フラグの値をチェックする。送信先側パス冗長フラグが「1」であれば、IFユニット11#1がパス冗長の開始点であると判定され、パス冗長制御部23の処理はS2へ移行する。一方、送信先側パス冗長フラグが「0」であれば、パス冗長制御部23の処理はS11へ移行する。
S2において、パス冗長制御部23は、受信フレームテーブル情報の中のPIDを検索インデックスとしてパス状態管理テーブル24から対応するパス状態管理テーブル情報を取得する。PID=5であるときは、パス冗長制御部23は、図10に示す情報ビットB7〜B0を取得する。
S3において、パス冗長制御部23は、パス状態管理テーブル情報の中の強制パス設定ビットの値をチェックする。すなわち、B3ビットがチェックされる。そして、強制パス設定ビットが「0(無効)」であれば、パス冗長制御部23の処理はS4へ移行する。一方、強制パス設定ビットが「1(有効)」であれば、パス冗長制御部23の処理はS8へ移行する。
S4において、パス冗長制御部23は、パス状態管理テーブル情報の中の現用パス有効ビットの値および現用パス状態ビットの値をチェックする。すなわち、B7ビットおよびB6ビットがチェックされる。そして、現用パス有効ビットが「1(現用パス:有効)」であり、且つ、現用パス状態ビットが「0(現用パス:正常)」であれば、パス冗長制御部23の処理はS6へ移行する。そうでない場合は、パス冗長制御部23の処理はS5へ移行する。
現用パスが有効であり、且つ、その現用パスが正常であるときは、パス冗長制御部23は、S6において、受信フレームテーブル情報の中の第1宛先情報を、装置内フレームヘッダの「宛先情報」に格納する。ここで、第1宛先情報は、図7を参照しながら説明したように、現用パスに対応するIFユニット11および出力ポートを指定する。
現用パスが有効でないとき、又は、その現用パスに障害が発生しているときは、S5の処理が実行される。S5において、パス冗長制御部23は、パス状態管理テーブル情報の中の予備パス有効ビットの値および予備パス状態ビットの値をチェックする。すなわち、B5ビットおよびB4ビットがチェックされる。そして、予備パス有効ビットが「1(予備パス:有効)」であり、且つ、予備パス状態ビットが「0(予備パス:正常)」であれば、パス冗長制御部23の処理はS7へ移行する。
S7において、パス冗長制御部23は、受信フレームテーブル情報の中の第2宛先情報を、装置内フレームヘッダの「宛先情報」に格納する。ここで、第2宛先情報は、図7を参照しながら説明したように、予備パスに対応するIFユニット11および出力ポートを指定する。
S5の判定結果が「No」であるときは、図12に示す実施例では、S6の処理が実行される。ただし、S5の判定結果が「No」となる状況は、例えば、現用パスおよび予備パスの双方に障害が発生しているとき、或いは現用パス/予備パスの設定が誤っているとき等に発生し得る。このため、S5の判定結果が「No」であるときは、IFユニット11#1は、フレームの送信を停止してもよい。
強制パス設定ビットが「1(有効)」であったときは、S8〜S10が実行される。S8においては、パス冗長制御部23は、パス状態管理テーブル情報の中の強制パスビットの値をチェックする。すなわち、B2ビットがチェックされる。そして、強制パスビットが「0」であったときは、パス冗長制御部23は、受信フレームテーブル情報の中の第1宛先情報を、装置内フレームヘッダの「宛先情報」に格納する。一方、強制パスビットが「1」であったときは、パス冗長制御部23は、受信フレームテーブル情報の中の第2宛先情報を、装置内フレームヘッダの「宛先情報」に格納する。このように、強制パス設定ビットが「1(有効)」であったときは、現用パス/予備パスの状態に係わらず、指定された論理パスが使用される。なお、強制パス設定は、例えば、伝送システムのメンテナンスにおいて実行される。
送信先側パス冗長フラグが「0」であるときは(S1:No)、S11の処理が実行される。ここで、送信先側パス冗長フラグが「0」であるときは、図7を参照しながら説明したように、受信フレームテーブル情報は、第1の宛先情報を含むが、第2宛先情報は含まない。よって、S11においては、パス冗長制御部23は、第1宛先情報を装置内フレームヘッダの「宛先情報」に格納する。
S12において、パス冗長制御部23は、S6、S7、S9、S10、またはS11で宛先情報が与えられたフレームを、スイッチ部12へ送信する。そうすると、スイッチ部12は、受信フレームをその宛先情報に従って転送する。この結果、受信フレームは、第1の宛先情報または第2宛先情報により指定されたIFユニットの出力ポートを介して送信される。
このように、実施形態の伝送装置または伝送方法においては、各パスプロテクションを管理するための識別子(PID)を用いて、各パスプロテクションに属する論理パス組(現用パスおよび予備パス)の状態が管理される。このとき、現用パスおよび予備パスをそれぞれ終端する各エグレス側IFユニットにおいて、PIDに対応づけてパスの状態を表すパス情報が収集される。そして、各エグレス側IFユニットは、収集したパス情報を定期的にパス管理フレームに格納して他のIFユニットへマルチキャスト送信する。これらの動作は、ハードウェア回路により実現される。また、パス管理フレームは、ユーザフレームを転送するための高速データバス(実施例では、スイッチ部12)を利用して、他のIFユニットへ送信される。したがって、イングレス側IFユニットは、PID毎に、受信フレームの送信に係わる論理パス(現用パスおよび予備パス)の最新の状態を管理することができる。すなわち、伝送装置1は、受信フレームの送信に係わる論理パス(現用パスおよび予備パス)の最新の状態に基づいて、その受信フレームを適切に送信することができる。また、現用パスに障害が発生したときは、PID毎に管理されている最新の状態を表す情報に基づいて、予備パスへの切替えが高速に実行される。
<実施形態の構成による効果>
以下では、2つの関連技術と実施形態の構成とを比較する。
第1の関連技術は、図1に示す伝送装置によるパスプロテクションである。図1に示す伝送装置1000Aにおいては、受信OAMフレーム(図1では、監視パケット)は、エグレス側IFユニット#6および監視ユニットを経由して、イングレス側IFユニット#1へ導かれる。このとき、このOAMフレームは、エグレス側IFユニット#6のCPUおよび監視ユニットのCPUを経由して、イングレス側IFユニット#1のCPUへ導かれる。そして、イングレス側IFユニット#1のCPUが、ソフトウェア処理で、OAMフレームに基づいてフレームの転送先を決定する。
ここで、1本の物理リンク内に複数の論理パスが設定されており、その物理リンクに障害が発生すると、複数の論理パスについて切替えを実行する必要がある。ところが、図1に示す構成では、複数の論理パスについての切替え処理は、ソフトウェアにより1つずつ順番に実行される。ここで、例えば、1つの論理パスについての切替えに要するソフトウェア処理時間が100μ秒であり、障害が発生した物理回線に2000本の論理パスが設定されていたものとする。この場合、すべての論理パスを切替えるためには、約200m秒の時間を要することになる。
また、CPUは、パス切替えのための処理だけでなく、他の処理も並列に実行する。このため、他の処理の演算量によって、パス切替えに要する処理時間が変動し得る。すなわち、第1の関連技術においては、安定したパス切替え時間を保証することは困難である。
これに対して、実施形態の構成においては、パス状態の監視、エグレス側IFユニットからイングレス側IFユニットへの通知、およびパス切替え処理は、CPUを使用することなく、ハードウェア回路により実現可能である。したがって、物理リンク内に多重化されている複数の論理パスを一括して切り替える場合であっても、その処理時間は短く、且つ安定している。
たとえば、ある論理パスについて10m秒に渡ってOAMフレームが受信されないときは、PIDテーブル25において、その論理パスに対して自動的に「障害」を表すパス情報が書き込まれる。よって、例えば、複数の論理パスが多重化されている物理リンクが切断されたときは、10m秒後には、それら複数の論理パスのそれぞれに対して「障害」を表すパス情報が書き込まれることになる。また、エグレス側IFユニットは、定期的(例えば、10m秒周期)に、各論理パスの状態を表すパス情報をイングレス側IFユニットに送信する。よって、この例では、物理リンクの切断から約20m秒後には、すべての論理パスについて現用パスから予備パスへの切替えを完了することが可能である。
第2の関連技術は、図13に示すように、エグレス側IFユニット#6は、監視制御ユニットを経由することなく、受信OAMフレームをイングレス側IFユニット#1へ転送する。この構成によれば、第1の関連技術におけるソフトウェア処理に起因するデメリットは緩和される。
ところが、この構成では、すべてのOAMフレームがスイッチ部(図13では、SW)により転送されるので、スイッチ部が輻輳するおそれがある。例えば、各IFユニットが8192個の冗長パス(現用パスおよび予備パス)を収容するものとする。この場合、IFユニットは、16384個のOAMフレームを終端する。また、ITU-T Y.1731では、OAMフレームは97バイト長である。ここで、OAMフレームは3.3m秒間隔で送信されるものとする。そうすると、伝送装置内でOAMフレームを転送するための帯域は、以下の通りである。
帯域=16384×97×8×300=約3.8Gbps
これに対して、実施形態の構成においては、OAMフレームはエグレス側IFユニットにおいて終端される。そして、パスプロテクション毎に1バイトのパス情報が、エグレス側IFユニットからイングレス側IFユニット送信される。この場合、伝送装置内でパス情報を送信するために必要な帯域は、上述したように、約6.6Mbpsである。よって、実施形態の構成によれば、パス情報の転送に起因して、ユーザフレームの帯域はほとんど影響を受けることはない。
なお、伝送装置1が収容する冗長パスの数が増加したときは、パス状態管理テーブル24およびPIDテーブル25のレコード数が増加すると共に、パス管理フレームを転送するための帯域が大きくなる。ただし、テーブルのサイズを大きくすることは容易である。また、パス管理フレームを転送するための帯域は、スイッチ部12の帯域と比較して無視できる程度に小さい。さらに、冗長パス数の増加によって、伝送装置内のCPUの処理量が増加することはない。したがって、障害に起因するパス切替え性能を維持しながら、冗長パスの数を容易に増やすことが可能であり、拡張性の高い冗長パス切替えアーキテクチャを提供することができる。
<他の実施形態>
図5〜図12に示す実施形態の伝送装置および伝送方法は、1:1プロテクションに適用される。ここで、1:1プロテクションにおいては、パスプロテクションの送信端の伝送装置は、現用パスまたは予備パスの一方を介してユーザフレームを送信する。
他の実施形態の伝送装置および伝送方法は、1+1プロテクションに適用される。1+1プロテクションにおいては、パスプロテクションの送信端の伝送装置は、現用パスおよび予備パスを介して同じユーザフレームを並列に伝送する。そして、パスプロテクションの受信端の伝送装置は、現用パスを介して受信するユーザフレームまたは予備パスを介して受信するユーザフレームの一方を選択して宛先へ転送する。
一例として、パスプロテクションの受信端の伝送装置(例えば、図5に示す伝送装置1B)において、IFユニット11#xは、現用パスを介してユーザフレームおよびOAMフレームを受信し、IFユニット11#yは、予備パスを介してユーザフレームおよびOAMフレームを受信するものとする。このフレーム転送において、IFユニット11#xおよび11#yは、それぞれイングレス側IFユニットとして動作する。
IFユニット11#x、11#yにより受信されたユーザフレームは、スイッチ部12により、エグレス側IFユニット(例えば、図5に示すIFユニット11#z)に導かれる。また、IFユニット11#x、11#yは、それぞれ、OAMフレームの受信状態に基づいて、対応する論理パスの状態を表すパス情報を収集する。さらに、IFユニット11#x、11#yにより収集されたパス情報は、定期的に、パス管理フレームを利用してIFユニット11#zに通知される。そして、IFユニット11#zは、エグレス側IFユニットから通知されるパス情報に基づいて、IFユニット11#xにより受信されたユーザフレームまたはIFユニット11#yにより受信されたユーザフレームの一方を選択して、その選択したユーザフレームをクライアントへ転送する。
このように、他の実施形態においては、各イングレス側IFユニットで収集されたパス情報が、エグレス側IFユニットに通知される。そして、エグレス側IFユニットは、通知されたパス情報に基づいて、現用パスまたは予備パスを選択する。
以上記載した各実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
フレームを受信するイングレス側インタフェース部と、
前記イングレス側インタフェース部が受信したフレームを送信するエグレス側インタフェース部と、を有し、
前記エグレス側インタフェース部は、
前記送信したフレームを伝送する論理パスに関するパス情報を前記イングレス側インタフェース部へ送信する送信回路、を有し、
前記イングレス側インタフェース部は、
前記送信されたパス情報により表される前記受信したフレームに割り当てられた論理パスの現用パスおよび予備パスの状態に基づいて、前記受信フレームの宛先を決定する宛先決定回路と、を有する
ことを特徴とする伝送装置。
(付記2)
前記エグレス側インタフェース部は、
前記パス情報を格納するパス情報格納部と、
対向装置から定期的に送信される管理フレームを受信する管理フレーム受信回路と、をさらに有し、
前記パス情報格納部は、前記管理フレーム受信回路により前記管理フレームが所定時間受信されなかった現用パスまたは予備パスのパス情報を、障害を表す状態に更新する
ことを特徴とする付記1に記載の伝送装置。
(付記3)
前記パス情報格納部は、論理パス組ごとに、前記パス情報を格納する
ことを特徴とする付記2に記載の伝送装置。
(付記4)
前記送信回路は、前記パス情報格納部に格納されているパス情報を定期的に読み出して前記イングレス側インタフェース部へ送信する
ことを特徴とする付記2に記載の伝送装置。
(付記5)
前記伝送装置は、前記イングレス側インタフェース部と前記エグレス側インタフェース部との間で前記受信フレームを転送するスイッチ回路をさらに有し、
前記送信回路は、前記スイッチ回路を介して前記パス情報を前記イングレス側インタフェース部へ送信する
ことを特徴とする付記1に記載の伝送装置。
(付記6)
前記送信回路は、前記イングレス側インタフェース部を識別する宛先情報および前記パス情報を含むパス管理フレームを生成し、前記スイッチ回路を介して前記パス管理フレームを前記イングレス側インタフェース部へ送信する
ことを特徴とする付記5に記載の伝送装置。
(付記7)
前記送信回路は、前記受信フレームよりも高い優先度を表す優先度情報を前記パス管理フレームに付与する
ことを特徴とする付記5に記載の伝送装置。
(付記8)
前記スイッチ回路は、前記エグレス側インタフェース部から送信されるパス情報を、前記イングレス側インタフェース部を含む複数のインタフェース部へ転送する
ことを特徴とする付記5に記載の伝送装置。
(付記9)
前記イングレス側インタフェース部は、前記エグレス側インタフェース部から送信されるパス情報を論理パス組ごとに格納する管理情報格納部をさらに有し、
前記宛先決定回路は、前記管理情報格納部に格納されている、前記受信フレームに割り当てられている論理パス組に対応するパス情報に基づいて、前記受信フレームに割り当てられている論理パス組に対応する第1の宛先情報または第2の宛先情報の一方を選択する
ことを特徴とする付記1に記載の伝送装置。
(付記10)
前記管理情報格納部は、現用パスを収容する第1のエグレス側インタフェース部から送信される第1のパス情報および予備パスを収容する第2のエグレス側インタフェース部から送信される第2のパス情報を論理パス組に対応づけて格納する
ことを特徴とする付記9に記載の伝送装置。
(付記11)
前記管理情報格納部は、前記第1のパス情報に基づいて現用パスの状態を表す情報を更新し、前記第2のパス情報に基づいて予備パスの状態を表す情報を更新する
ことを特徴とする付記10に記載の伝送装置。
(付記12)
前記宛先決定回路は、前記受信フレームに割り当てられている論理パス組の中の現用パスが正常であるときは、前記受信フレームに対して前記第1の宛先情報を選択し、前記受信フレームに割り当てられている論理パス組の中の現用パスが正常ではなく且つ予備パスが正常であるときは、前記受信フレームに対して前記第2の宛先情報を選択する
ことを特徴とする付記11に記載の伝送装置。
(付記13)
前記管理情報格納部は、論理パス組に対応づけて、前記パス情報に加えて論理パスの強制切替えを実行するか否かを表す強制切替え情報を格納し、
前記宛先決定回路は、前記受信フレームに割り当てられている論理パス組に対応する強制切替え情報が論理パスの強制切替えを実行することを表しているときは、前記受信フレームに対して予め指定されている宛先情報を与える
ことを特徴とする付記9に記載の伝送装置。
(付記14)
フレームを受信するイングレス側インタフェース部、および前記イングレス側インタフェース部が受信したフレームを送信するエグレス側インタフェース部、を有する伝送装置において使用される伝送方法であって、
前記エグレス側インタフェース部において、前記送信したフレームを伝送する論理パスに関するパス情報を収集し、
前記エグレス側インタフェース部から前記イングレス側インタフェース部へ前記パス情報を送信し、
前記イングレス側インタフェース部において、前記送信されたパス情報により表される前記受信フレームに割り当てられている論理パスの現用パスおよび予備パスの状態に基づいて、前記受信フレームの宛先を決定する
ことを特徴とする伝送方法。
(付記15)
現用パスの受信フレームを処理する第1のイングレス側インタフェース部と、
前記現用パスに対応する予備パスの受信フレームを処理する第2のイングレス側インタフェース部と、
前記第1のイングレス側インタフェース部の受信フレームまたは前記第2のイングレス側インタフェース部の受信フレームの一方を選択して出力するエグレス側インタフェース部と、を有し、
前記第1のイングレス側インタフェース部は、前記現用パスの状態を表す第1のパス情報を前記エグレス側インタフェース部へ送信する第1の送信回路を有し、
前記第2のイングレス側インタフェース部は、前記予備パスの状態を表す第2のパス情報を前記エグレス側インタフェース部へ送信する第2の送信回路を有し、
前記エグレス側インタフェース部は、前記第1および第2のパス情報に基づいて、前記第1のイングレス側インタフェース部の受信フレームまたは前記第2のイングレス側インタフェース部の受信フレームの一方を選択するセレクタを有する
ことを特徴とする伝送装置。