(58)【調査した分野】(Int.Cl.,DB名)
前記第1ポートが開放状態になった場合に、前記第1ポートから前記フレームを送出させるために、前記フレーム中継部が前記フレームの送出先を決定するときに参照する学習情報をクリアするエージング部をさらに備えることを特徴とする請求項1または2に記載の通信装置。
【発明を実施するための形態】
【0013】
実施の形態の構成を説明する前に、まず本発明の概要を説明する。
一部既述したが、ITU−T G.8032に規定されたリング網において、その閉塞区間がビット依存性の故障を内包する場合に、固定長のフレームであり、ペイロードのビット配列も固定されたCCMによる監視では、その故障を検出できない場合がある。またCCMの構成はイーサネットOAMの規格で厳格に定められており、ビット依存性の故障の検出率を高めるために、CCMの構成を変更することは困難である。
【0014】
リング網内の故障や手動/強制切替によりブロッキングポイントの変更が発生した場合、RPLポートは開放状態となり、それまでの閉塞区間にCCM以外のユーザフレームが流入するようになる。閉塞区間(例えばオーナーノードおよび隣接ノードにおける閉塞区間インタフェースや閉塞区間の伝送路等を含む)にビット依存性の故障が内在していた場合、それまで未検出であったビット依存性の故障が顕在化してしまうことが考えられる。例えば、オーナーノードおよび隣接ノードにおいてFCS検査での異常が発生し、一部もしくは全てのユーザフレームの伝送が停止してしまうことが考えられる。
【0015】
そこで本実施の形態の通信システムは、リング網におけるフレームのループを発生させることなく、CCM以外のフレームによって閉塞区間の監視を行い、閉塞区間にビット依存性の故障が内在していないことを確認する。具体的には、オーナーノードと隣接ノードのRPLポートのブロッキングを交互に開放することで、フレームをループさせることなくCCM以外の信号を疎通させ、ビット依存性の故障の検出精度を高める。また、ブロッキングを開放する場合に、そのノードのMAC学習を強制的にエージングすることにより、閉塞区間にCCM以外の様々なユーザフレームを流入させ、ビット依存性の故障の検出精度をさらに高める。
【0016】
図1は、実施の形態の通信システムの構成を示す。通信システム100は、通信装置10で総称される複数の通信装置(通信装置10a、通信装置10b、通信装置10c、通信装置10d、通信装置10e、通信装置10f)を備える。通信装置10a〜通信装置10fはレイヤ2スイッチであり、これらが光ファイバ等の伝送路を介してリング状に接続されリング網12が形成される。また通信装置10は、ユーザ装置と接続され、ユーザ装置が送出したイーサネットフレーム(以下「ユーザフレーム」とも呼ぶ。)を伝送する。ユーザ装置は、例えば、リング網12を利用するエンドユーザの端末やユーザ企業の端末、ユーザ企業のネットワーク等を含む。
【0017】
実施の形態のリング網12では、予め保守担当者により通信装置10aがオーナーノードに設定され、通信装置10bが隣接ノードに設定されることとする。オーナーノードはRPLポート14aを保有し、隣接ノードはRPLポート14bを保有し、RPLポート14aおよびRPLポート14b(総称して「RPLポート14」とも呼ぶ。)により形成される区間が閉塞区間16となる。ユーザ装置18aから送出されてユーザ装置18bを宛先とするユーザフレームは、閉塞区間16を迂回する形で、通信装置10a〜通信装置10f〜通信装置10e〜通信装置10dと伝送される。
【0018】
オーナーノードおよび隣接ノードの設定は公知の手法により実施されてよい。例えば、
図1には不図示の保守担当者の端末から通信装置10aに対して、リング網のオーナーノードとして機能するよう指示するコマンドであり、特定の通信ポートをRPLポートとして指定するコマンドが送信されてもよい。そして、このコマンドを受け付けた通信装置10aのリングプロトコルモジュールが、ITU−T G.8032で規定されたオーナーノードの機能を発揮してもよい。隣接ノードの設定についても同様である。
【0019】
図2は、
図1の通信装置10の機能構成を示すブロック図である。通信装置10は、WESTリングIF部20と、EASTリングIF部22と、リング外IF部24と、通信制御部26とを備える。本明細書のブロック図において示される各ブロックは、ハードウェア的には、コンピュータのCPUやメモリ、FPGA(Field-Programmable Gate Array)等をはじめとする素子や機械装置で実現でき、ソフトウェア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックはハードウェア、ソフトウェアの組合せによっていろいろなかたちで実現できることは、当業者には理解されるところである。以降のブロック図についても同様である。
【0020】
WESTリングIF部20はリング網12の伝送路と接続するためのインタフェースである。実施の形態では、リング網12において第1方向(ここでは
図1の反時計回り方向)で伝送されるフレームを送出し、リング網12において第2方向(ここでは
図1の時計回り方向)で伝送されたフレームを受信する。EASTリングIF部22もリング網12の伝送路と接続するためのインタフェースである。実施の形態では、リング網12において第2方向で伝送されるフレームを送出し、リング網12において第1方向で伝送されたフレームを受信する。したがって、通信装置10aのEASTリングIF部22が
図1のRPLポート14aに該当し、通信装置10bのWESTリングIF部20が
図1のRPLポート14bに該当する。
【0021】
リング外IF部24は、リング網12以外の通信網(リング網12外部のWAN・MAN・LAN等)と接続されるインタフェースであり、例えばユーザの端末やユーザのネットワーク等のユーザ装置との間でユーザフレームを送受する。通信制御部26は、WESTリングIF部20、EASTリングIF部22、リング外IF部24のそれぞれで受け付けられたフレームの中継に係る各種処理を制御する。また通信制御部26は、リングプロトコルを実行したモジュール(後述のリング制御部46)を含み、リングプロトコルにしたがって通信装置10の動作を制御する。
【0022】
図3は、
図2の詳細を示すブロック図である。通信装置10a(オーナーノード)のEASTリングIF部22と、通信装置10b(隣接ノード)のWESTリングIF部20のそれぞれは、ポート30と、フレーム検査部32と、CCM終端部34と、ブロック処理部36を含む。典型的には、リング網12の伝送路(光ファイバ)側から、ポート30→フレーム検査部32→CCM終端部34→ブロック処理部36と配置される。なお、
図3では
図2のリング外IF部24の記載を省略している。
【0023】
ポート30は、外部の伝送路に対してイーサネットフレームを送受するための物理レイヤの処理を実行する通信ポートである。通信装置10aのポート30は
図1のRPLポート14aに相当し、通信装置10bのポート30は
図1のRPLポート14bに相当する。
【0024】
フレーム検査部32は、ポート30で受け付けられたイーサネットフレームのFCS検査を実行する。具体的には、イーサネットフレームのヘッダおよびペイロードのビット列からチェックサムを算出し、送信側の装置が予めイーサネットフレームに付加したチェックサム(FCS)と照合する。照合の結果、チェックサムが不一致であれば、FCS異常としてイーサネットフレームを廃棄する。なお各IF部や通信制御部26は、フレーム検査部においてFCS異常が検出された場合に、その旨を示すアラート情報を保守者端末へ通知するアラート通知部をさらに備えてもよいことはもちろんである。
【0025】
CCM終端部34は、イーサネットOAMにおいて定められた形式のCCMを生成して対向装置のCCM終端部34へ送信する。また対向装置から送信されたCCMを終端し、対向装置との接続性を確認する。
【0026】
ブロック処理部36は、リング網12のブロックポイントとして動作する。すなわち閉塞状態では、下位側(ポート30側)から渡された全てのフレームを通信制御部26へ転送することなく廃棄する。また、通信制御部26から受け付けた全てのフレームを下位側へ渡すことなく廃棄する。その一方、開放状態では、下位側(ポート30側)から渡された全てのフレームを通信制御部26へ転送し、通信制御部26から受け付けた全てのフレームを下位側へ渡す。ブロック処理部36は、後述のブロック制御部48から開放指示を受け付けると開放状態へ移行し、ブロック制御部48から閉塞指示を受け付けると閉塞状態へ移行する。
【0027】
通信装置10aの通信制御部26と、通信装置10bの通信制御部26のそれぞれは、学習テーブル40と、フレーム中継部42と、エージング処理部44と、リング制御部46を含む。
【0028】
学習テーブル40は、いわゆるMACアドレステーブルであり、MACアドレスと、そのMACアドレスを宛先とするイーサネットフレームを送出すべきポートの識別情報とを対応づけたMAC学習情報を保持する。エージング処理部44は、後述のリング制御部46からエージング実行指示を受け付けると、学習テーブル40に保持されたMAC学習情報をクリアする。言い換えれば、学習テーブル40におけるそれまでのMAC学習情報を無効化し、また学習テーブル40からMAC学習情報を削除する。
【0029】
フレーム中継部42は、イーサネットフレームの方路決定処理、言い換えればスイッチング処理を実行する。具体的には、学習テーブル40に保持されたMAC学習情報を参照して、WESTリングIF部20、EASTリングIF部22、リング外IF部24のそれぞれで受け付けられたイーサネットフレームの出力ポートを決定する。そして、出力ポートを有するIF部へイーサネットフレームを転送する。イーサネットフレームの宛先MACアドレスがMAC学習情報に未記録であれば、フレーム中継部42はそのイーサネットフレームを、当該フレームを受け付けたIF部以外の全てのIF部へ転送する(フラッディングする)。
【0030】
通信装置10aのリング制御部46は、リングプロトコルにしたがってリング網12におけるオーナーノードとしての処理を実行する。通信装置10bのリング制御部46は、リングプロトコルにしたがってリング網12における隣接ノードとしての処理を実行する。リング制御部46はブロック制御部48を含む。ブロック制御部48は、ブロック処理部36に対して開放指示および閉塞指示を送信することにより、ブロック処理部36におけるフレーム透過状態を制御し、すなわちRPLポート14の開閉状態を制御する。
【0031】
以上の構成による動作を以下説明する。
まず
図3を参照して、通信システム100における特徴的な動作を概説する。
【0032】
(初期状態)
オーナーノードおよび隣接ノードのブロック処理部36は閉塞状態であり、閉塞区間16ではCCMによる監視のみが行われる。オーナーノードのリング制御部46は、WESTリングIF部20からリング網12の反時計回りに、R−APS(NR)を5秒ごとに送出する。
【0033】
(1期目)
オーナーノードのリング制御部46は、WESTリングIF部20からリング網12の反時計回りに、1期目のR−APS(NR)を送出する。隣接ノードは、RPLポートと逆側のリングポートでこのR−APS(NR)を受信したとき、PRLポートを開放する。すなわち、隣接ノードのリング制御部46は、初期状態(言い換えれば、後述の状態フラグ=0)で、EASTリングIF部22のポート30がR−APS(NR)を受け付けたことを検出したことをもって、オーナーノードのRPLポートが閉塞状態にあると判定する。そして、ブロック制御部48がブロック処理部36へ開放指示を通知することにより、RPLポートを閉塞状態から開放状態へ切り替える。さらにエージング処理部44は、学習テーブル40のMAC学習情報を強制エージングする。この結果、隣接ノードのフレーム中継部42は、当該処理のトリガとなったR−APS(NR)に加え、各IF部で受け付けられたユーザフレームをフラッディングし、これらのフレームは閉塞区間16を介してオーナーノードへ伝送される。
【0034】
オーナーノードのフレーム検査部32は、RPLポートで受信されたフレームのFCS検査を実行して、FCS異常があれば検出する。FCS異常を検出した場合、オーナーノードのリング制御部46は、リング網12内の各装置に対して、公知のR−APS(SF)により故障通知を行う。なお、オーナーノードのブロック処理部36は閉塞状態であるため、CCMを含む全てのフレームの中継をブロックする。
【0035】
(2期目)
オーナーノードのリング制御部46は、WESTリングIF部20からリング網12の反時計回りに、2期目のR−APS(NR)を送出する。隣接ノードは、RPLポートと逆側のリングポートでこのR−APS(NR)を受信したとき、PRLポートを閉塞する。すなわち、隣接ノードのブロック制御部48は、RPLポートが開放状態のときに、EASTリングIF部22のポート30においてR−APS(NR)を受け付けたことを検出すると、ブロック処理部36に閉塞指示を通知することにより、RPLポートを閉塞状態へ戻す。
【0036】
(3期目)
オーナーノードのRPLポートでR−APS(NR)を未受信になった後、オーナーノードのリング制御部46が、WESTリングIF部20からリング網12の反時計回りに、3期目のR−APS(NR)を送出するときに、オーナーノードはRPLポートを開放する。すなわち、オーナーノードのリング制御部46は、オーナーノードのRPLポートでR−APS(NR)を受信する状態から受信しない状態に変化した後(言い換えれば、受信タイマがタイムアウトした場合)に、隣接ノードのRPLポートが閉塞状態であると判定する。そして、次のR−APS(NR)が送出されるタイミングで、ブロック制御部48がブロック処理部36へ開放指示を通知することにより、RPLポートを閉塞状態から開放状態へ切り替える。さらにエージング処理部44は、学習テーブル40のMAC学習情報を強制エージングする。この結果、オーナーノードのフレーム中継部42は、当該処理のトリガとなったR−APS(NR)に加え、各IF部で受け付けられたユーザフレームをフラッディングし、これらのフレームは閉塞区間16を介して隣接ノードへ伝送される。
【0037】
隣接ノードのフレーム検査部32は、RPLポートで受信されたフレームのFCS検査を実行して、FCS異常があれば検出する。FCS異常を検出した場合、隣接ノードのリング制御部46は、リング網12内の各装置に対して、公知のR−APS(SF)により故障通知を行う。なお、隣接ノードのブロック処理部36は閉塞状態であるため、CCMを含む全てのフレームの中継をブロックする。
【0038】
(4期目)
オーナーノードのリング制御部46は、WESTリングIF部20からリング網12の反時計回りに、4期目のR−APS(NR)を送出する。このときにオーナーノードはRPLポートを閉塞する。すなわち、オーナーノードのブロック制御部48は、R−APS(NR)の送出を検出すると、ブロック処理部36に閉塞指示を通知することにより、RPLポートを閉塞状態へ戻す。これにより初期状態に戻る。
【0039】
一部既述したが、オーナーノードおよび隣接ノードは、故障検出通知R−APS(SF)、強制切替通知R−APS(FS)、手動切替通知R−APS(MS)を受信した場合は、上記の処理を中止して初期状態へ戻る。それとともに、リングプロトコルで予め定められた動作を実行する。例えば、それまでのブロッキングポイントを開放する処理として、RPLポートを閉塞状態から開放状態へ切り替える。
【0040】
次にフローチャートを用いて、オーナーノード(通信装置10a)および隣接ノード(通信装置10b)の動作を説明する。
【0041】
図4は、隣接ノードの動作を示すフローチャートである。
図4には不図示であるが、隣接ノードは、MAC学習情報に応じたユーザフレームの中継処理や、CCMを用いたオーナーノードとの接続性監視処理、受信フレームのFCS検査処理を常時実行する。以下の状態フラグは、メモリ等の所定の記憶領域に格納されるデータであり、その初期値は0である。また状態フラグの値は、リング制御部46により更新されてもよい。
【0042】
EASTリングIF部22がR−APSフレームを受信すると(S10のY)、隣接ノードはS12以降のステップを実行する。EASTリングIF部22がR−APSフレームを未受信であれば(S10のN)、S12以降のステップをスキップして本図のフローを終了する。受信フレームがR−APS(NR)でなければ(S12のN)、状態フラグを0に変更し、リングプロトコルで予め規定された従来動作、例えばブロックポイント変更時の動作を実行する(S14)。受信フレームがR−APS(NR)であり(S12のY)、RPLポートが開放状態であれば(S16のN)、ブロック制御部48はRPLポートを閉塞状態にし、状態フラグを2に変更する(S18)。
【0043】
RPLポートが閉塞状態であり(S16のY)、状態フラグが0であれば(S20のY)、ブロック制御部48はRPLポートを開放状態にし、エージング処理部44は、MAC学習情報をエージングする。そして状態フラグを1に変更する(S22)。状態フラグが0以外であれば(S20のN)、ブロック制御部48はRPLポートの閉塞状態を維持し、すなわちブロック処理部36の閉塞状態を継続させる(S24)。このとき状態フラグが3であれば(S26のY)、状態フラグを0に変更し(S28)、状態フラグが3以外(例えば2)であれば(S26のN)、状態フラグを3に変更する(S30)。
【0044】
図5は、RPLポートの開閉状態と状態フラグとの関係を示す。ここでは
図4と
図5とを参照して、隣接ノードにおける関係を説明する。
初期状態では、RPLポートは閉塞状態、状態フラグは0である。
1回目のR−APS(NR)を受信した場合に
図4のS22を実行し、RPLポートは開放状態、状態フラグは0→1となる。
2回目のR−APS(NR)を受信した場合に
図4のS18を実行し、RPLポートは閉塞状態、状態フラグは1→2となる。
3回目のR−APS(NR)を受信した場合に
図4のS30を実行し、RPLポートは閉塞状態が維持され、状態フラグは2→3となる。
4回目のR−APS(NR)を受信した場合に
図4のS28を実行し、RPLポートは閉塞状態が維持され、状態フラグは3→0となって初期状態に戻る。
【0045】
図6は、オーナーノードの動作を示すフローチャートである。
図6には不図示であるが、オーナーノードは、MAC学習情報に応じたユーザフレームの中継処理や、CCMを用いた隣接ノードとの接続性監視処理、受信フレームのFCS検査処理を常時実行する。またR−APS(NR)以外のR−APSフレームを受け付けた場合は、
図4のS14と同様の動作を実行する。
【0046】
WESTリングIF部20が先のR−APS(NR)を送信してから予め定められた時間(典型的には5秒)が経過すると(S40のY)、オーナーノードはS42以降の処理を実行する。先のR−APS(NR)の送信から所定時間が未経過であれば(S40のN)、S42以降のステップをスキップして本図のフローを終了する。リング制御部46は、WESTリングIF部20からリング網12へR−APS(NR)を送出させる(S42)。RPLポートが開放状態であれば(S44のN)、ブロック制御部48はRPLポートを閉塞状態にし、状態フラグを0に更新する(S46)。
【0047】
RPLポートが閉塞状態であれば(S44のY)、リング制御部46はRPLポートにおけるR−APS(NR)受信タイマを起動して、R−APS(NR)受信待ちの状態とする(S48)。この受信タイマは、次のR−APS(NR)を送信すべきタイミングとなる時間(5秒)未満の時間でタイムアウトするよう設定される。例えば、受信タイマの待ち時間が3〜4秒に設定されてもよい。また受信タイマの待ち時間は、隣接ノードのRPLポートが開放状態になった場合に、オーナーノードのWESTリングIF部20から送信したR−APS(NR)が、オーナーノードのEASTリングIF部22で受信されると想定される時間以上であり、次のR−APS(NR)の送信タイミングとなる時間未満であってもよい。
【0048】
受信タイマがタイムアウトするまでの間にRPLポートでR−APS(NR)を受信した場合(S50のY)、ブロック制御部48はRPLポートの閉塞状態を維持し、状態フラグを1に変更する(S52)。S50がYとなるのは、隣接ノードのRPLポートが開放状態の場合である。その一方、受信タイマがタイムアウトするまでの間にRPLポートでR−APS(NR)を未受信の場合(S50のN)、状態フラグが1であれば(S54のY)、ブロック制御部48はRPLポートの閉塞状態を維持し、状態フラグを2に変更する(S56)。状態フラグが1以外(例えば2)であれば(S54のN)、ブロック制御部48はRPLポートを開放状態とし、エージング処理部44は、MAC学習情報をエージングする。そして状態フラグを3に変更する(S58)。
【0049】
図6と
図5とを参照して、オーナーノードにおけるRPLポートの開閉状態と状態フラグとの関係を説明する。
初期状態では、RPLポートは閉塞状態、状態フラグは0である。
1回目のR−APS(NR)を送信した場合に
図6のS52を実行し、RPLポートは閉塞状態が維持され、状態フラグは0→1となる。
2回目のR−APS(NR)を送信した場合に
図6のS56を実行し、RPLポートは閉塞状態が維持され、状態フラグは1→2となる。
3回目のR−APS(NR)を送信した場合に
図6のS58を実行し、RPLポートは開放状態となり、状態フラグは2→3となる。
4回目のR−APS(NR)を送信した場合に
図6のS46を実行し、RPLポートは閉塞状態となり、状態フラグは3→0となって初期状態に戻る。
【0050】
本実施の形態の通信装置10によると、オーナーノードのRPLポート14aと隣接ノードのRPLポート14bについて、一方を開放して他方を閉塞し、言い換えれば交互に開放状態として、閉塞区間16にCCM以外のフレーム(例えばユーザフレーム)を流入させる。これにより、リング網12におけるフレームのループを防止しつつ、CCM以外のフレームであり、任意のビット長および任意のビット配列(0,1の組み合わせ)のペイロードを有するフレームを閉塞区間16を介して伝送させ、FCS異常を検出することができ、CCMでは検出が困難であったビット依存性の故障の検出精度を高めることができる。また、リング網12の閉塞区間16における両方向のフレームの伝送について、ビット依存性の故障の検出精度を高めることができる。
【0051】
また、RPLポートを開放したノードでMAC学習情報をエージングすることにより、それまでRPLポートを回避して伝送されていたフレームを閉塞区間16へ流入させることができる。これにより、多様の形式のフレームを閉塞区間16へ流入させ、多様な形式のフレームを用いてFCS検査を実行させやすくなり、ビット依存性の故障の検出精度を一層高めることができる。
【0052】
以上、本発明を実施の形態をもとに説明した。この実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【0053】
上記の実施の形態では、オーナーノードによるR−APS(NR)の送信、隣接ノードによるR−APS(NR)の受信をトリガとしてRPLポート14を開放し、もしくは閉塞することとした。変形例としては、所定時間の経過を基準としてRPLポート14を開放し、もしくは閉塞してもよい。この場合、オーナーノードおよび隣接ノードにおけるシステム時刻は同一のNTPサーバに同期していることを前提とする。
【0054】
具体的には、オーナーノードおよび隣接ノードには、閉塞区間16の監視開始時刻として同一の値が予め設定される。そして、オーナーノードおよび隣接ノードは、監視開始時刻から所定時間(例えば5秒)が経過するごとに、
図4・
図5・
図6で示した状態フラグをインクリメントしつつ、状態フラグの値に応じた動作を実行する。例えばオーナーノードは、監視開始時刻に到達すると、状態フラグ0の動作として、
図6のS52の動作を実行してもよい。また監視開始時刻+5秒後には状態フラグ1の動作として、
図6のS56の動作を実行してもよい。同様に隣接ノードは、監視開始時刻に到達すると、状態フラグ0の動作として、
図4のS22の動作を実行してもよい。また監視開始時刻+5秒後には状態フラグ1の動作として、
図6のS18の動作を実行してもよい。これにより、オーナーノードおよび隣接ノードは実施の形態と同様の動作を実行し、実施の形態と同様の効果を奏する。
【0055】
請求項に記載の各構成要件が果たすべき機能は、実施の形態および変形例において示された各構成要素の単体もしくはそれらの連携によって実現されることも当業者には理解されるところである。例えば請求項に記載の通信装置は、オーナーノードと隣接ノードの両方に対応するものである。オーナーノードの場合、請求項に記載の第1ポートはオーナーノードのRPLポート14aに対応し、第2ポートは隣接ノードのRPLポート14bに対応する。隣接ノードの場合、請求項に記載の第1ポートは隣接ノードのRPLポート14bに対応し、第2ポートはオーナーノードのRPLポート14bに対応する。