説明

通信装置及びOAMフレーム送信方法

【課題】OAMフレームにカウンタ値を格納して送信するまでの間に、次のデータフレームが送信されてしまい、OAMフレーム内のカウンタ値と実際に送信されたデータフレームのカウント数が異なってしまう。
【解決手段】一態様による通信装置は、送信データフレーム数を示すカウンタ値を含む監視制御フレームを生成する生成部と、データフレームと生成部が生成した監視制御フレームとを送信する送信部とを有する。送信部は、送信したデータフレーム数をカウントするカウンタと、送信するフレームの送信順序を決定するスケジューラとを有する。生成部は前記カウンタのカウント値を、前記スケジューラが決定した送信順序に応じて修正して前記監視制御フレームを生成する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、通信ネットワークにおけるフレームロスメジャーメントに関し、特に、正確なフレームロスメジャーメントが可能な通信装置、インタフェースカード及びOAMフレーム送信方法に関する。
【背景技術】
【0002】
ローカルエリアネットワーク(LAN)の技術として開発されてきたイーサネット(登録商標)は、キャリアの大規模網でも使用されつつある。イーサネット(登録商標)には、従来、大規模網における保守運用(Operation Administration and Maintenance、以下OAM)に関する機能はほとんどなかったが、キャリア網での使用が増加するにつれて、OAM機能に対する要求が強くなっている。ITU−T SG13がY.1731として標準化したイーサネット・フレームロスメジャーメント(Ethernet Frame Loss Measurement、以下ETH−LM)は、送信パケット数や、受信パケット数を監視制御用のイーサネットフレームである、OAMフレームに格納して通知する。
【0003】
そして、通知を受けたOAMフレーム内の送信パケット数や、受信パケット数と、実際に受信したパケット数や、実際に送信したパケット数とを比較することで、パケットの喪失、すなわちフレームロスを測定する機能である。このETH−LMにはシングルエンド方式(Single-ended)とデュアルエンド方式(Dual-ended)の2種類の測定方法がある。
【0004】
これらは、使用するOAMフレームの種類、OAMフレームに格納して通知する情報、フレームロスの算出方法が異なるが、OAMフレームを送信する時に、それまでに送信したパケット(データフレーム)のカウント数(カウンタ値)を、そのOAMフレームに格納して送信する点は共通である。
【0005】
イーサネット(登録商標)におけるOAM機能の研究は種々行われている。例えば、特許文献1には、管理フレームを周期的に対向側に送信するときに、その管理フレーム内に送信側で使用している送信周期を明示して送信し、該フレームの送信周期を可変調整する発明が記載されている。
【特許文献1】特開2007−251541号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかし、データフレームは時間的に一定の間隔で送信されていないため、OAMフレームにカウンタ値を格納して送信するまでの間に、次のデータフレームが送信されてしまい、OAMフレーム内のカウンタ値と実際に送信されたデータフレームの数が異なってしまう問題がある。
【0007】
例えば、送信すべきデータフレームが多く、連続的にデータフレームを送信するような状況を考える。
【0008】
OAMフレームの送信処理として、送信済データフレームのカウンタ値を参照して、このカウンタ値を含むOAMフレームを組み立て、データフレームと同一の出力ポートから出力する方法を採ったとする。
【0009】
この場合、OAMフレームが出力されるまでに、データフレームが送信されると、OAMフレームに含まれるカウンタ値は、OAMフレームが出力されるまでに送信されたデータフレーム数よりも小さい値となってしまう問題がある。
【0010】
これを回避する方法として、OAMフレームの送出を待って次のデータフレームを送信することが考えられるが、ユーザデータが含まれるデータフレームの送出を最優先とすべきであり、この方法にも問題がある。
【課題を解決するための手段】
【0011】
上記の課題のうち少なくとも1つを解決するため、一態様による通信装置は、送信データフレーム数を示すカウンタ値を含む監視制御フレームを生成する生成部と、データフレームと前記生成部が生成した監視制御フレームとを送信する送信部とを有する。前記送信部は、送信したデータフレーム数をカウントするカウンタと、送信するフレームの送信順序を決定するスケジューラとを有する。前記生成部は前記カウンタのカウント値を、前記スケジューラが決定した送信順序に応じて修正して前記監視制御フレームを生成する。
【0012】
他の実施形態では、上記の通信装置は、前記送信部は、少なくとも、データフレームが入力される第1のFIFOと、前記生成部が生成した監視制御フレームが入力される第2のFIFOとを有していてもよい。
【0013】
さらに他の実施形態では、前記生成部は、前記スケジューラが決定した前記送信順序に基づき、前記監視制御フレームの送信までに送信されている前記データフレームの前記カウンタが示すカウント値からの変化分を求める。
【0014】
他の態様による監視制御フレーム送信方法は、送信したデータフレーム数をカウントする段階と、送信するデータフレームと監視制御フレームの送信順序を決定する段階と、カウンタしたデータフレーム数を含む監視制御フレームを生成する段階と、前記送信順序に基づき、送信する前記データフレームと前記監視制御フレームとを送信する段階とを有する。前記監視制御フレームに含める前記データフレーム数を前記送信順序に応じて修正してすることを特徴とする。
【発明の効果】
【0015】
OAMフレームを送信するとき、そのOAMフレームが送信される時点の正しいデータフレームのカウント値を設定してそのOAMフレームを送信することができる。
【発明を実施するための最良の形態】
【0016】
図面を参照して、実施形態を詳細に説明する。図面中、同一または対応する構成要素には同じ参照番号を付した。
【0017】
イーサネット(登録商標)を前提として実施形態を説明するが、これらの実施形態は同様の問題を有するイーサネット(登録商標)以外のパケットネットワーク(例えば、SONET、ファイバーチャネル等)にも適用できることは当業者には明らかである。
【0018】
まず、Y.1731で規定されているETH−LMの動作と問題点について、さらに詳しく説明する。
【0019】
[シングルエンド方式(Single ended)の場合]
図1は、Y.1731に基づくシングルエンド方式の通信装置を示す図である。図1に示した通信装置100は、各種フレームを送信するフレーム送信部110を有する。フレーム送信部110は、データフレームや、管理制御フレームであるOAMフレームを送信するフレーム送信回路111と、データフレーム送信時に送信したフレーム数をカウントアップするフレーム送信カウンタ(TxFCI)112と、OAM送信依頼を受け、OAM要求フレーム(LMM)や、OAM応答フレーム(LMR)を生成し、フレーム送信回路に送信依頼を行なうOAMフレーム生成部113とを有する。
【0020】
また、通信装置100は、入力されたフレームを受信するフレーム受信部120を有する。フレーム受信部120は、フレーム受信回路121と、フレーム受信カウンタ122と、OAMフレームチェック部123とを有する。フレーム受信回路121は、データフレームや、管理制御フレームであるOAMフレームを受信し、OAM要求フレーム(LMM)であれば、フレーム受信カウンタ(RxFCI)の値をLMMのRxFCI退避メモリ124に格納し、OAM応答フレーム(LMR)であれば、フレーム受信カウンタ(RxFCI)122の値をLMRのRxFCI退避メモリ125に格納しOAMフレームチェック部123に通知する。フレーム受信カウンタ(RxFCI)122は、データフレーム受信時に受信したデータフレーム数をカウントアップする。OAMフレームチェック部123は、OAMフレームを通知されると、そのフレームをチェックし、OAM要求フレーム(LMM)であれば、OAMフレーム生成部(例えば、フレーム送信部110のOAMフレーム生成部113)にOAM応答フレーム(LMR)の生成を依頼し、OAM応答フレーム(LMR)ならフレームロス測定を行なう。また、OAMフレームチェック部123は、前回のTxFCf、TxFCb、RxFCf、RxFCIの値、及び前々回のRxFCIの値を格納するメモリ126〜129を有する。
【0021】
なお、図1に示したフレーム送信カウンタ(TxFCI)112とフレーム受信カウンタ(RxFCI)122は、OAMフレームはカウントの対象とせず、データフレームのみをカウントの対象とする。
【0022】
図2は、Y.1731に基づくシングルエンド方式におけるOAMフレームを示す図である。図2(a)は、OAM要求フレーム(LMM)のフレームフォーマットを示し、図2(b)は、OAM応答フレーム(LMR)のフレームフォーマットを示す。特に本実施形態に関係する項目のみを説明する。図2(a)、(b)において、TxFCIはデータフレームの送信カウンタを示し、RxFCIはデータフレームの受信カウンタを示し、TxFCfはOAM要求フレーム(LMM)の場合は、OAM要求フレーム(LMM)送信時のTxFCIの値を示し、OAM応答フレーム(LMR)の場合は、OAM要求フレーム(LMM)内のTxFCfをコピーしたものであり、RxFCfはOAM要求フレーム(LMM)を受信した時の装置AのRxFCIの値を示し、TxFCbはOAM応答フレーム(LMR)を送信した時の装置AのTxFCIの値を示す。
【0023】
図3を参照して、シングルエンド方式におけるロス測定を説明する。図3は、ロス測定をしている通信システムを示す図である。図3に示した通信システム300は、装置A310と装置B320とを含む。装置A310と装置B320は、それぞれ図1に示した通信装置100に相当するものであるが、図面を分かりやすくするため、それぞれのフレーム受信カウンタ311、322(図1の122)とフレーム送信カウンタ312、321(図1の112)のみを示した。ここでは、装置B320が装置A310に対してロス測定を実施しているものとする。
【0024】
装置B320は、装置A310に対しOAM要求フレーム(LMM)351を送信する。このとき、OAMフレーム生成部(図1の113)にてOAM要求フレーム(LMM)351を生成し、フレーム送信カウンタ(TxFCI)321の値を読み出し、OAM要求フレーム(LMM)351のTxFCfに設定し、フレーム送信回路(図1の111)へ送信依頼を行なう。送信依頼が行なわれたフレーム送信回路はOAM要求フレーム(LMM)351を送信する。
【0025】
OAM要求フレーム(LMM)351を受信した装置A310は、フレーム受信回路(図1の121)で、フレーム受信カウンタ(RxFCI)311の値をLMMのRxFCI退避メモリ(図1の124)に格納し、OAMフレームチェック部(図1の123)に通知を行なう。通知を受けたOAMフレームチェック部は、OAMフレーム生成部(図1の113)にOAM応答フレーム(LMR)352の生成を依頼する。依頼を受けたOAMフレーム生成部はOAM応答フレーム352を生成し、フレーム送信カウンタ(TxFCI)312の値を読み出してTxFCbに設定し、LMMのRxFCI退避メモリ(図1の124)の値を読み出してRxFCfに設定し、受信したOAM要求フレーム(LMM)351に設定されていたTxFCfの値をOAM応答フレーム352のTxFCfに設定し、フレーム送信回路(図1の111)に送信依頼を行なう。送信依頼が行なわれたフレーム送信回路はOAM応答フレーム(LMR)352を送信する。
【0026】
OAM応答フレーム(LMR)352を受信した装置B320は、フレーム受信回路(図1の121)で、フレーム受信カウンタ(RxFCI)の値をLMRのRxFCI退避メモリ(図1の125)に格納し、OAMフレームチェック部(図1の123)に通知を行なう。通知を受けたOAMフレームチェック部は、以下の計算式で、ロス測定を行ない、その後、受信したOAM応答フレーム(LMR)352に設定されたTxFCf、TxFCb、RxFCfおよびLMRのRxFCI退避メモリ(図1の125)の値を前回の格納メモリ(図1の126〜129)に格納する。
【0027】
通信相手(Far-end)のロス:
|TxFCf(tc)−TxFCf(tp)|−|RxFCf(tc)−RxFCf(tp)|
自装置(Near-end)のロス:
|TxFCb(tc)−TxFCb(tp)|−|RxFCI(tc)−RxFCI(tp)|
ここで、tcは今回のOAMフレームの要求時またはOAMフレームの応答時の値を表し、tpは以前、たとえば前回のOAMフレームの要求時またはOAMフレームの応答時の値を表す。
【0028】
上記のとおり、far-endのロスは、OAM要求フレームを送出した装置からOAM要求フレームを受信した装置の方向でのデータフレーム数についての計算である。また、Near-endのロスは、その逆方向についてのデータフレーム数についての計算である。
【0029】
そして、今回のカウンタ値と前回のカウンタ値との差分を求めているため、各カウンタは、それぞれ送信、または受信したフレームの数を計数できれば十分である。
【0030】
図4を参照して、図3の装置A310と装置B320との間でロス測定が正常に行われる場合を説明する。図4(a)〜(e)は、装置B320から装置A310にデータフレーム1〜6が送信され、その間に装置B320から装置A310にOAM要求フレーム351が送信され、装置A310から装置B320にOAM応答フレーム352が送信される場合を時系列的に示している。
【0031】
図4(a)は、装置B320が装置A310にデータフレームを1つも送信していない状態を示す。装置A310、装置B320ともに、前回のTxFCf格納メモリ、前回のRxFCf格納メモリ、前回のTxFCb格納メモリ、前回のRxFCI格納メモリ、TxFCI、RxFCI、LMMのRxFCI退避メモリ、LMMのRxFCI退避メモリの初期状態において値は0になっている。
【0032】
図4(b)は、その後、装置B320が装置A310にデータフレーム1〜3を送信した状態を示す。装置B320のTxFCIが3にカウントアップされている。
【0033】
図4(c)は、その後、装置B320が装置A310にOAM要求フレーム(LMM)351を送信した状態を示す。この時、データフレーム3と4との間に空き時間があったので、OAM要求フレーム351を問題なく挿入できたものとする。装置B320のTxFCIが3なので、OAM要求フレーム(LMM)のTxFCfは3に設定された。
【0034】
図4(d)は、その後、装置A310がOAM要求フレーム(LMM)351を受信する直前の状態を示す図である。この時点で、装置A310はデータフレーム1〜3を受信しているので、RxFCIが3にカウントアップされている。また、装置B320はOAM要求フレーム(LMM)351の送信後にデータフレーム4〜6を送信しているのでTxFCIは6にカウントアップされている。
【0035】
図4(e)は、装置A310がOAM要求フレーム351を受信したため、それに答えてOAM応答フレーム352を送信した状態を示す。装置A310はOAM要求フレーム(LMM)351を受信したときにRxFCIの値(3)をLMMのRxFCI退避メモリに設定している。また、OAM応答フレーム(LMR)352のTxFCfはOAM要求フレーム(LMM)351のTxFCfが3だったので、3に設定されている。OAM応答フレーム(LMR)352のRxFCfは装置AのLMMのRxFCI退避メモリが3だったので、3に設定されている。OAM応答フレーム(LMR)352のTxFCbはOAM応答フレーム送信時の装置A310のTxFCIが0だったので、0に設定されている。
【0036】
装置B320は、OAM要求フレーム(LMR)352を受信すると、RxFCIの値(0)をLMRのRxFCI退避メモリに設定し、その後、OAMフレームチェック部で以下のようにパケットロスを計算する。
【0037】
相手装置(Far-end)のパケットロス:
|TxFCf(tc)−TxFCf(tp)|−|RxFCf(tc)−RxFCf(tp)|=
|受信したLMRのTxFCf値−前回のTxFCf値|−|受信したLMRのRxFCf値−前回のRxFCf値|=
|3−0|−|3−0|=0
自装置(Near-end)のパケットロス:
|TxFCb(tc)−TxFCb(tp)|−|RxFCI(tc)−RxFCI(tp)|=
|受信したLMRのTxFCb値−前回のTxFCb値|−|LMRのRxFCI退避値−前回のRxFCI値|=
|0−0|−|0−0|=0
この場合、パケットロスが発生していない状態で、計算結果が0であるから、パケットロスの計算は正常に行われたこととなる。
【0038】
図5を参照して、図3の装置A310と装置B320との間でロス測定が正常に行われない場合を説明する。図5(a)〜(e)は、装置B320から装置A310にデータフレーム1〜6が送信され、その間に装置B320から装置A310にOAM要求フレーム351が送信され、装置A310から装置B320にOAM応答フレーム352が送信される場合を時系列的に示している。
【0039】
図5(a)は、装置B320が装置A310にデータフレームを1つも送信していない状態を示す。装置A310、装置B320ともに、前回のTxFCf格納メモリ、前回のRxFCf格納メモリ、前回のTxFCb格納メモリ、前回のRxFCI格納メモリ、TxFCI、RxFCI、LMMのRxFCI退避メモリ、LMMのRxFCI退避メモリの値は初期状態で0になっている。
【0040】
図5(b)は、その後、装置B320が装置A310に、データフレーム1〜3を送信した状態を示す。装置B320のTxFCIが3にカウントアップされている。ここまでは、図4を参照して説明した状態と同じである。
【0041】
ここで、図5(c)は、その後、装置B320が装置A310に、OAM要求フレーム(LMM)351を送信した状態を示す。この時、データフレーム3と4との間に空き時間がなく、データフレーム4、5が先に送信され、OAM要求フレーム351をデータフレーム5の後に挿入できたものとする。装置B320において、OAM要求フレーム351を送信しようとした時に読み出したTxFCIが3なので、OAM要求フレーム(LMM)351のTxFCfは3に設定されている。しかし、OAM要求フレーム351を送信した時にはすでにデータフレーム4、5が送信され、装置B320のTxFCIは5にカウントアップされてしまっている。
【0042】
図5(d)は、その後、装置A310がOAM要求フレーム(LMM)351を受信する直前の状態を示す図である。この時点で、装置A310はデータフレーム1〜5を受信しているので、RxFCIが5にカウントアップされている。また、装置B320はOAM要求フレーム(LMM)351の送信後にデータフレーム6を送信しているので、TxFCIは6にカウントアップされている。
【0043】
図5(e)は、装置A310がOAM要求フレーム351を受信したため、それに答えてOAM応答フレーム(LMR)352を送信した状態を示す。装置A310はOAM要求フレーム(LMM)351を受信したときにRxFCIの値(3)をLMMのRxFCI退避メモリに設定している。また、OAM応答フレーム(LMR)352のTxFCfは、OAM要求フレーム(LMM)351のTxFCfが3だったので、3に設定されている。OAM応答フレーム(LMR)352のRxFCfは、装置AのLMMのRxFCI退避メモリが5だったので、5に設定されている。OAM応答フレーム(LMR)352のTxFCbは、OAM応答フレーム送信時の装置A310のTxFCIが0だったので、0に設定されている。
【0044】
装置B320は、OAM要求フレーム(LMR)352を受信すると、RxFCIの値(0)を、LMRのRxFCI退避メモリに設定し、その後、OAMフレームチェック部で以下のようにパケットロスを計算する。
【0045】
相手装置(Far-end)のパケットロス:
|TxFCf(tc)−TxFCf(tp)|−|RxFCf(tc)−RxFCf(tp)|=
|受信したLMRのTxFCf値−前回のTxFCf値|−|受信したLMRのRxFCf値−前回のRxFCf値|=
|3−0|−|5−0|=−2
自装置(Near-end)のパケットロス:
|TxFCb(tc)−TxFCb(tp)|−|RxFCI(tc)−RxFCI(tp)|=
|受信したLMRのTxFCb値−前回のTxFCb値|−|LMRのRxFCI退避値−前回のRxFCI値|=
|0−0|−|0−0|=0
この場合、パケットロスが発生していない状態であるにもかかわらず、相手装置のパケットロスの計算結果が0でなく、パケットロスの計算が正常に行われなかったこととなる。
【0046】
[デュアルエンド方式(Dual-ended)の場合]
図6は、Y.1731に基づくデュアルエンド方式の通信装置を示す図である。図6に示した通信装置600は、各種フレームを送信するためのフレーム送信部610を有する。フレーム送信部610は、データフレームや、管理制御フレームであるOAMフレームを送信するためのフレーム送信回路611と、データフレーム送信時に送信したフレーム数をカウントアップするフレーム送信カウンタ(TxFCI)612と、OAM送信依頼を受け、OAMフレーム(CCM)を生成し、フレーム送信回路に送信依頼を行なうOAMフレーム生成部613とを有する。
【0047】
また、通信装置600は、入力されたフレームを受信するフレーム受信部620を有する。フレーム受信部620は、フレーム受信回路621と、フレーム受信カウンタ622と、OAMフレームチェック部623とを有する。フレーム受信回路621は、データフレームや、管理制御フレームであるOAMフレームを受信し、OAMフレームであれば、フレーム受信カウンタ(RxFCI)622の値をRxFCI退避メモリに格納し、OAMフレーム内のTxFCfの値をTxFCf退避メモリ625に格納し、OAMフレームチェック部623に通知する。フレーム受信カウンタ622は、データフレーム受信時にカウントアップする。OAMフレームチェック部623は、OAMフレームを通知されると、フレームをチェックし、OAMフレーム(CCM)なら、ロス測定を行なう。また、OAMフレームチェック部623は、前回のTxFCf、TxFCb、RxFCb、RxFCIの値を格納するメモリ626〜629を有する。
【0048】
なお、図6に示したフレーム送信カウンタ(TxFCI)612とフレーム受信カウンタ(RxFCI)622は、OAMフレームはカウントの対象とせず、データフレームのみをカウントの対象とする。
【0049】
図2(c)は、Y.1731に基づくデュアルエンド方式におけるOAMフレームを示す図である。本実施形態に関係する項目のみを説明する。図2(c)において、TxFCIはデータフレームの送信カウンタを示し、RxFCIはデータフレームの受信カウンタを示し、TxFCfはOAMフレーム(CCM)送信時のTxFCIの値を示し、RxFCbは対向する装置から最後にOAMフレーム(CCM)を受信した時のRxFCIの値を示し、TxFCbは対向する装置から最後に受信したOAMフレーム(CCM)のTxFCfの値を示す。
【0050】
図7を参照して、デュアルエンド方式におけるロス測定を説明する。図7は、ロス測定をしている通信システムを示す図である。図7に示した通信システム700は、装置A710と装置B720とを含む。装置A710と装置B720は、それぞれ図6に示した通信装置600に相当するものであるが、図面を分かりやすくするため、それぞれのフレーム受信カウンタ711、722(図6の622)とフレーム送信カウンタ712、721(図6の612)のみを示した。一方の装置が起点となるシングルエンド方式と異なり、デュアルエンド方式では、両方の装置がCCMフレームを受け渡しすることで両装置同時にロス測定を実現する。ここでは装置B720をから装置A710方向の測定について説明する。
【0051】
装置B720は、装置A710に対しOAMフレーム(CCM)751を送信する。この時、OAMフレーム生成部(図6の613)にてOAMフレーム(CCM)751を生成し、フレーム送信カウンタ721の値を読み出し、OAMフレーム751のTxFCfに設定し、RxFCI退避メモリ(図6の624)の値を読み出し、OAMフレーム751のRxFCbに設定し、TxFCf退避メモリ(図6の625)の値を読み出し、OAMフレーム751のTxFCbに設定し、フレーム送信回路(図6の611)に送信依頼を行なう。送信依頼が行なわれたフレーム送信回路はOAMフレーム(CCM)751を送信する。
【0052】
OAMフレーム(CCM)751を受信した装置A710は、フレーム受信回路(図6の621)で、フレーム送信カウンタ(RxFCI)(図6の622)の値をRxFCI退避メモリ(図6の624)に格納し、受信したOAMフレーム(CCM)751のTxFCfの値をTxFCf退避メモリ(図6の625)に格納し、OAMフレームチェック部(図6の623)に通知を行なう。通知を受けたOAMフレームチェック部(図6の623)は、以下の計算式で、ロス測定を行ない、その後、OAMレーム(CCM)のTxFCf、TxFCb、RxFCbおよびRxFCI退避メモリの値を前回の格納メモリ(図6の626〜629)に格納する。
【0053】
通信相手(Far-end)のロス:
|TxFCb(tc)−TxFCb(tp)|−|RxFCb(tc)−RxFCb(tp)|
自装置(Near-end)のロス:
|TxFCf(tc)−TxFCf(tp)|−|RxFCI(tc)−RxFCI(tp)|
ここでtcは今回のOAMフレームの要求時またはOAMフレームの応答時の値を表し、tpは前回のOAMフレームの要求時またはOAMフレームの応答時の値を表す。
【0054】
図8を参照して、図7の装置A710と装置B720との間でロス測定が正常に行われる場合を説明する。図8(a)〜(e)は、装置B320から装置A310にデータフレーム1〜6が送信され、その間に装置B320から装置A310にOAMフレーム751が送信される場合を時系列的に示している。
【0055】
図8(a)は、装置B720が装置A710にデータフレームを1つも送信していない状態を示す。装置A710、装置B720ともに、前回のTxFCf格納メモリ、前回のRxFCf格納メモリ、前回のTxFCb格納メモリ、前回のRxFCI格納メモリ、TxFCI、RxFCI、RxFCI退避メモリ、TxFCI退避メモリの値は初期状態で0になっている。
【0056】
図8(b)は、その後、装置B720が装置A710に、データフレーム1〜3を送信した状態を示す。装置B720のTxFCIが3にカウントアップされている。
【0057】
図8(c)は、その後、装置B720が装置A710に、OAMフレーム(CCM)751を送信した状態を示す。この時、データフレーム3と4との間に空き時間があったので、OAMフレーム751を問題なく挿入できたものとする。装置B720のTxFCIが3なので、OAMフレーム(CCM)751のTxFCfは3に設定されている。
【0058】
図8(d)は、その後、装置A710がOAMフレーム(CCM)751を受信する直前の状態を示す図である。この時点で、装置A710はデータフレーム1〜3を受信しているので、RxFCIが3にカウントアップされている。また、装置B720はOAMフレーム(CCM)751の送信後にデータフレーム4〜6を送信しているのでTxFCIは6にカウントアップされている。
【0059】
図8(e)は、装置A710がOAMフレーム751を受信した後の状態を示す。装置A710はOAMフレーム(CCM)751を受信したときにRxFCIの値(3)をLMMのRxFCI退避メモリに設定している。また、OAMフレーム(CCM)のTxFCfの値(3)をTxFCf退避メモリに設定している。
【0060】
装置A310は、OAMフレーム(CCM)751を受信すると、OAMフレームチェック部で以下のようにパケットロスを計算する。
【0061】
相手装置(Far-end)のパケットロス:
|TxFCb(tc)−TxFCb(tp)|−|RxFCb(tc)−RxFCb(tp)|=
|受信したCCMのTxFCb値−前回のTxFCb値|−|受信したCCMのRxFCb値−前回のRxFCb値|=
|0−0|−|0−0|=0
自装置(Near-end)のパケットロス:
|TxFCf(tc)−TxFCf(tp)|−|RxFCI(tc)−RxFCI(tp)|=
|受信したCCMのTxFCf値−前回のTxFCf値|−|RxFCI退避値−前回のRxFCI値|=
|3−0|−|3−0|=0
この場合、パケットロスが発生していない状態で、計算結果が0であるから、パケットロスの計算は正常に行われたこととなる。
【0062】
図9を参照して、図7の装置A710と装置B720との間でロス測定が正常に行われない場合を説明する。図9(a)〜(e)は、装置B720から装置A710にデータフレーム1〜6が送信され、その間に装置B720から装置A710にOAMフレーム751が送信される場合を時系列的に示している。
【0063】
図9(a)は、装置B720が装置A710にデータフレームを1つも送信していない状態を示す。装置A710、装置B720ともに、前回のTxFCf格納メモリ、前回のRxFCf格納メモリ、前回のTxFCb格納メモリ、前回のRxFCI格納メモリ、TxFCI、RxFCI、LMMのRxFCI退避メモリ、RxFCI退避メモリ、TxFCI退避メモリの値は初期状態で0になっている。
【0064】
図9(b)は、その後、装置B720が装置A710に、データフレーム1〜3を送信した状態を示す。装置B720のTxFCIが3にカウントアップされている。ここまでは、図8を参照して説明した状態と同じである。
【0065】
ここで、図9(c)は、その後、装置B720が装置A710にOAMフレーム(CCM)751を送信した状態を示す。この時、データフレーム3と4との間に空き時間がなく、データフレーム4、5が先に送信され、OAMフレーム751をデータフレーム5の後に挿入できたものとする。装置B720はOAMフレーム751を送信しようとした時に読み出したTxFCIが3なので、OAMフレーム(CCM)751のTxFCfは3に設定されている。しかし、OAM要求フレーム751を送信した時にはすでにデータフレーム4、5が送信され、装置B720のTxFCIは5にカウントアップされてしまっている。
【0066】
図9(d)は、その後、装置A710がOAMフレーム(LMM)751を受信する直前の状態を示す図である。この時点で、装置A710はデータフレーム1〜5を受信しているので、RxFCIが5にカウントアップされている。また、装置B720はOAMフレーム(CCM)751の送信後にデータフレーム6を送信しているのでTxFCIは6にカウントアップされている。
【0067】
図9(e)は、装置A710がOAMフレーム751を受信した後の状態を示す。装置A710は、OAMフレーム(CCM)751を受信したときにRxFCIの値(5)をRxFCI退避メモリに設定している。また、OAMフレーム(CCM)751のTxFCfは、OAM要求フレーム(LMM)351のTxFCfが3だったので、3に設定されている。
【0068】
その後、装置A710は、OAMフレームチェック部で以下のようにパケットロスを計算する。前回のTxFCf退避メモリ、前回のRxFCf退避メモリ、前回のTxFCb退避メモリ、前回のRxFCI退避メモリの値は0なので、以下の結果となる。
【0069】
相手装置(Far-end)のパケットロス:
|TxFCb(tc)−TxFCb(tp)|−|RxFCb(tc)−RxFCb(tp)|=
|受信したCCMのTxFCb値−前回のTxFCb値|−|受信したCCMのRxFCb値−前回のRxFCb値|=
|0−0|−|0−0|=0
自装置(Near-end)のパケットロス:
|TxFCf(tc)−TxFCf(tp)|−|RxFCI(tc)−RxFCI(tp)|=
|受信したCCMのTxFCf値−前回のTxFCf値|−|RxFCI退避値−前回のRxFCI値|=
|3−0|−|5−0|=−2
この場合、パケットロスが発生していない状態にもかかわらず、自装置のパケットロスの計算結果が0でないから、パケットロスの計算が正常に行われなかったこととなる。
【0070】
図5、図9を参照して説明した通り、パケットロスの計算が正常に行われないという問題点を解決する必要がある。
【0071】
上記の問題を解決するため、一実施形態では、監視制御フレームであるOAMフレーム(例えば、図5に示したOAM要求(LMM)フレーム351及びOAM応答(LMR)フレーム352、または図9に示したOAM(CCM)フレーム751)を送信するとき、フレーム送出順をスケジューリングすることにより、生成するOAMフレームの送信時におけるデータフレームの送信カウンタ値を事前に算出し、OAMフレームの生成時から送信時までの送信カウンタ値の変化(一般的には増加)分を修正したカウンタ値を、この生成するフレームに格納しておく。すなわち、送信カウンタ値をフレーム送出順(送信順序)に応じて修正して、OAMフレームを生成する。
【0072】
図10を参照して、一実施形態による通信装置を説明する。図10は、一実施形態によるシングルエンド方式による通信装置を示す図である。図10には基本的には同一構成である通信装置A1000Aと通信装置B1000Bが示されている。通信装置A1000Aと通信装置B1000Bとで同一の構成要素には同一の参照数字を付した。
【0073】
図10では、装置B1000Bが装置A1000AにOAM要求(LMM)フレーム(以下、LMMフレームとも呼ぶ)を送信し、これの受信に応じて、装置A1000Aが装置B1000BにOAM応答(LMR)フレーム(以下、LMRフレームとも呼ぶ)を送信し、このOAM応答(LMR)フレームを受信した装置B1000Bがフレームロス計算を行うことを前提としている。
【0074】
一実施形態による通信装置B1000B(及び通信装置A1000A)は、LMMフレームを生成するLMM生成部1001、フレーム送信時にデータフレーム、LMM、LMRの各フレームをそれぞれ格納するFIFO、およびフレームのFIFO格納状態を管理するFIFO管理部1002とを有する。本実施形態では、LMMフレームとLMRフレームとにそれぞれ別々のFIFOを備えているが、別の実施形態では、LMMフレームのFIFOとLMRフレームのFIFOは共通であってもよい。
【0075】
通信装置B1000Bは、さらに、送信アルゴリズムに従いフレーム送出順序を決定するスケジューラ部1003を有する。このスケジューラ部1003は、FIFO管理部1002のFIFOに格納された各種フレームの送信順序を管理および決定するとともに、LMMフレームとLMRフレームの生成時から送信時までのカウンタの変化(増加)も管理する。
【0076】
通信装置B1000Bは、さらに、スケジューラ部1003からの指示を受けてフレーム送信するFIFO選択するFIFO読出制御部1004と、OAMフレームを除き送信されたフレームをカウントするTxFCIカウンタ1005と、フレーム受信時にデータフレーム、LMM、LMRの各フレームを種別毎にフィルタリングするLM識別部1006とを有する。
【0077】
通信装置B1000Bは、さらに、受信フレーム(OAMフレームは除く)をカウントするRxFCIカウンタ1007と、前述の計算式に従いフレームロス数を測定するフレームロス計算部1008を有する。このフレームロス計算部1008は、フレームロスの算出に必要な、前回LMRフレームを受信した時点でのTxFCf、RxFCf、TxFCb、RxFCIの値を保持するメモリも有する。
【0078】
通信装置B1000Bは、図示はしていないが、LMRフレームを生成するLMR生成部1009を有している。
【0079】
一方、一実施形態による装置A1000Aも基本的に装置B1000Bと同様の構成であるが、図を分かりやすくするため、装置A1000Aでは、LMM生成部1001、フレームロス計算部1008を図示せずに、LMR生成部1009を示している。
【0080】
引き続き図10を参照して、通信装置B1000Bが通信装置A1000Aに対してフレームロス測定を行う処理フローを説明する。
【0081】
上位システムからのフレームロス測定要求に応じて、装置B1000Bは装置A1000Aに、LMMフレームを送信する。一実施形態では、装置B1000Bは、一定周期(例えば100ms)ごとに装置A1000AにLMMフレームを送信して、サービス品質をモニタすることができる。他の実施形態では、LMMフレームの送信はたとえば所定時刻に行われてもよい。
【0082】
このとき、装置B1000Bでは、LMM生成部1001がLMMフレームの生成を開始する。LMM生成部1001は、スケジューラ部1003にLMMフレームを生成することを通知し、スケジューラ部1003は、LMM生成部1001が生成するLMMフレームの送信順序を送信順序決定アルゴリズムにしたがって決定する。本実施形態では、送信順序アルゴリズムは一例としてラウンドロビン方式である。ラウンドロビン方式は、データ→LMM→LMR→データ→・・・の順に送信するアルゴリズムである。すなわち、複数のFIFOについて、一つずつ巡回する形でフレームの送信が順次行われる方法である。LMM生成部1001が生成するLMMフレームは、FIFO管理部1002の中段のFIFOの「E」の位置に挿入される。他の実施形態では、送信順序決定アルゴリズムは重み付けラウンドロビン方式やストリクト・プライオリティ方式などでもよく、送信順序決定アルゴリズムは用途に応じて選択可能である。
【0083】
スケジューラ部1003は、フレームの送出順序(「送出順」)と、送出するフレーム(「フレーム」)と、そのフレーム送出時点でのTxFCIカウンタ1005のカウント値の増加分(「カウント」)とを管理している。例えば、図10に示した装置B1000Bのスケジューラ部1003は、1番目に送出するフレームがデータフレーム「A」であり、データフレーム「A」を送出するとTxFCIカウンタ1005のカウント値が「+1」だけ増加することを示している。また、2番目に送出するフレームがLMMフレーム「D」であり、LMMフレーム「D」を送出するとTxFCIカウンタ1005のカウント値が「0」だけ増加する(すなわち変化しない)ことを示している。
【0084】
ここで、TxFCIカウンタ1005は、データフレームが送出された時にカウントアップし、OAMフレーム(LMMフレーム、LMRフレーム、CCMフレーム)が送出された時はカウントアップしないことに留意する。これは、OAMフレームについてはカウントに含めないことになっているからである。
【0085】
装置B1000Bのスケジューラ部1003は、さらに、3番目に送出するフレームがLMRフレーム「F」であり、LMRフレーム「F」を送出するとTxFCIカウンタ1005のカウント値が「0」だけ増加する(すなわち変化しない)ことを示している。さらに、4番目に送出するフレームがデータフレーム「B」であり、データフレーム「B」を送出するとTxFCIカウンタ1005のカウント値が「+1」だけ増加することを示している。さらに、5番目に送出するフレームがLMMRフレーム「E」であり、LMMフレーム「B」を送出するとTxFCIカウンタ1005のカウント値が「0」だけ増加する(すなわち変化しない)ことを示している。以下、同様である。
【0086】
なお、スケジューラ部1003は、LMM生成部1001からLMMフレーム「E」の生成開始の通知があった時点で、LMMフレーム「E」を5番目に送出されるフレームとして管理し始めるものである。この時点では、LMMフレーム「E」はまだLMM生成部1001による生成が完了しておらず、当然、FIFO管理部1002のLMM送信FIFO(中段のFIFO)にも入力されていない。つまり、スケジューラ部1003は、LMM生成部1001からLMMフレームの生成開始の通知に応答して、生成されるはずのLMMフレーム「E」の送信順序を決定できる。
【0087】
スケジューラ部1003は、LMMフレーム「E」が5番目に送信されるまでに、データフレーム「A」と「B」とが送信され、TxFCIカウンタ1005のカウンタ値が「+2」(=「+1」+「+1」)されることを求め、LMM生成部1001に送る。
【0088】
また、TxFCIカウンタ1005は、LMM生成部1001からの求めに応じて、現時点でのカウンタ値を送る。
【0089】
LMM生成部1001は、生成するLMMフレームのTxFCfに、TxFCIカウンタ1005からのカウンタ値にスケジューラ部1003からのカウンタ値の変化分「+2」を加えて修正し、修正したカウンタ値を挿入する。
【0090】
LMM生成部1001により生成されたLMMフレームは、FIFO管理部1002内のLMM送信FIFO(中段のFIFO)に送られ、LMMフレーム「E」の位置に格納される(すなわち、LMMフレーム「E」として格納される)。
【0091】
FIFO読出制御部1004は、スケジューラ部1003から指示を受けて、スケジューラ部1003が管理する送信順序にしたがってFIFO管理部1002内の各FIFOからフレームを読込み、装置A1000Aに送信する。
【0092】
LMMフレームは、ネットワークを介して装置B1000Bから装置A1000Aに向けて送られる。
【0093】
一方、装置A1000Aにおいては、LM識別部1006が、装置B1000Bから受信したLMMフレームをデータフレーム、LMMフレーム、LMRフレームにフィルタリング(識別分離)する。ここでは受信したフレームがLMMフレームであるので、LMR生成部1009に送られる。また、受信したフレームがデータフレームである場合、RxFCIカウンタ1007でカウントされ、受信したフレームがLMRフレームである場合、フレームロス算出を行う。このフレームロス計算は、下で説明する、装置A1000AからLMRフレームを受信した装置B1000Bが行うフレームロス計算と同様である。
【0094】
装置A1000Aにおいて、LMR生成ブロック1009は、LM選別部1006から送られたLMMフレームを受けてLMRフレームの生成を開始する。LMMフレームのTxFCf値をLMRフレームのTxFCfにコピーし、RxFCfにはLMMフレームを受信したタイミングでRxFCIカウンタ1007から取得したカウント値を挿入する。
【0095】
装置Bのスケジューラ部と同様に、装置A1000Aのスケジューラ部1003は、LMR生成部1009からLMRフレームを生成通知を受けると、送信アルゴリズムに従い、生成されるLMRフレームの送信順序を決定する。本実施形態では、送信順序決定アルゴリズムはラウンドロビン方式である。LMR生成部1009が生成するLMRフレームは、FIFO管理部1002内のLMR送信FIFO(最上段のフレーム)の「N」の位置に挿入されることとなる。他の実施形態では、送信順序決定アルゴリズムは、重み付けラウンドロビン方式やストリクト・プライオリティ方式などでもよく、用途に応じて選択することができる。
【0096】
スケジューラ部1003は、フレームの送出順序(「送出順」)と、送出するフレーム(「フレーム」)と、そのフレーム送出時点でのTxFCIカウンタ1005のカウント値の増加分(「カウント」)とを管理している。例えば、図10に示した装置A1000Aのスケジューラ部1003は、1番目に送出するフレームがデータフレーム「I」であり、データフレーム「I」を送出するとTxFCIカウンタ1005のカウント値が「+1」だけ増加することを示している。また、2番目に送出するフレームがLMRフレーム「M」であり、LMRフレーム「M」を送出するとTxFCIカウンタ1005のカウント値が「0」だけ増加する(すなわち変化しない)ことを示している。ここで、TxFCIカウンタ1005は、データフレームが送出された時にカウントアップし、OAMフレーム(LMMフレーム、LMRフレーム、CCMフレーム)が送出された時はカウントアップしないことに留意する。
【0097】
装置A1000Aのスケジューラ部1003は、さらに、3番目に送出するフレームがデータフレーム「J」であり、データフレーム「J」を送出するとTxFCIカウンタ1005のカウント値が「+1」だけ増加することを示している。さらに、4番目に送出するフレームがデータフレーム「K」であり、データフレーム「K」を送出するとTxFCIカウンタ1005のカウント値が「+1」だけ増加することを示している。さらに、5番目に送出するフレームがデータフレーム「L」であり、データフレーム「L」を送出するとTxFCIカウンタ1005のカウント値が「+1」だけ増加することを示している。さらに、6番目に送出するフレームがLMRフレーム「N」であり、LMRフレーム「N」を送出するとTxFCIカウンタ1005のカウント値が「0」だけ増加する(すなわち変化しない)ことを示している。以下、同様である。
【0098】
なお、スケジューラ部1003は、LMR生成部1009からLMRフレーム「N」の生成開始の通知があった時点で、LMRフレーム「N」を6番目に送出されるフレームとして管理し始めるものである。この時点では、LMRフレーム「N」はまだLMR生成部1009による生成が完了しておらず、当然、FIFO管理部1002のLMR送信FIFO(最上段のFIFO)にも入力されていない。つまり、スケジューラ部1003は、LMR生成部1009からLMRフレームの生成開始の通知に応答して、生成されるはずのLMRフレーム「N」の送信順序を決定できる。
【0099】
スケジューラ部1003は、LMRフレーム「N」が6番目に送信されるまでに、データフレーム「I」、「J」、「K」及び「L」が送信され、TxFCIカウンタ1005のカウンタ値が「+4」(=「+1」+「+1」+「+1」+「+1」)されることを求め、LMR生成部1009に送る。
【0100】
また、TxFCIカウンタ1005は、LMR生成部1009からの求めに応じて、現時点でのカウンタ値を送る。
【0101】
LMM生成部1009は、生成するLMMフレームのTxFCbに、TxFCIカウンタ1005からのカウンタ値にスケジューラ部1003からのカウンタ値の増加分「+4」を加えて修正し、修正したカウンタ値を挿入する。
【0102】
LMR生成部1009により生成されたLMRフレームは、FIFO管理部1002内のLMR送信FIFO(最上段のFIFO)に送られ、LMRフレーム「N」の位置に格納される(すなわち、LMMフレーム「N」として格納される)。
【0103】
FIFO読出制御部1004は、スケジューラ部1003から指示を受けて、スケジューラ部1003が管理する送信順序にしたがってFIFO管理部1002内の各FIFOからフレームを読込み、装置B1000Bに送信する。
【0104】
LMMフレームは、ネットワークを介して装置A1000Aから装置B1000Bに向けて送られる。
【0105】
一方、装置B1000Bにおいては、LM識別部1006が、装置A1000Aから受信したLMMフレームをデータフレーム、LMMフレーム、LMRフレームにフィルタリング(識別分離)する。ここでは受信したフレームがLMMフレームであるので、フレームロス算出を行う。また、受信したフレームがデータフレームである場合、RxFCIカウンタ1007でカウントされ、フレームロス計算部1008内のメモリRxFCI(tc)に格納される。また、前回のRxFCI(tc)値はRxFCI(tp)に格納される。また、受信したフレームがLMMフレームである場合は、上で説明した、装置Aが装置BからLMMフレームを受信した場合と同様に、LMRフレームの生成を開始する。
【0106】
装置B1000Bでは、装置Aから受信したLMRフレームのTxFCf(tc)と、RxFCf(tc)と、TxFCb(tc)と、LMRを受信したタイミングでRxFCIカウンタ1007から取得したカウント値RxFCI(tc)と、メモリに格納されている前回LMRフレーム受信時の値TxFCf(tp)と、RxFCf(tp)と、TxFCb(tp)と、RxFCI(tp)とに基づき、前述の計算式により通信相手装置(Far-end)と自装置(Near-end)のフレームロスを算出する。
【0107】
上記の実施形態では、LMM生成部1001及び/またはLMR生成部1009は、TxFCIカウンタ1005からカウンタ値を受け取り、スケジューラ部1003からカウンタ値の変化分を受け取るようにした。他の実施形態では、スケジューラ部1003がTxFCIカウンタ1005からカウンタ値を受け取り、そのカウンタ値に変化分を加えた修正したカウンタ値をLMM生成部1001及び/またはLMR生成部1009に送ってもよい。
【0108】
かかる構成により、一実施形態によるシングルエンド方式の通信装置は、OAMフレームを送信するとき、そのOAMフレームが送信される時点の正しいデータフレームのカウント値を設定してそのOAMフレームを送信することができる。
【0109】
図11を参照して、他の実施形態による通信装置を説明する。図11は一実施形態によるデュアルエンド方式による通信装置を示す図である。図11には基本的に同一の構成である通信装置A1100Aと通信装置B1100Bが示されている。通信装置A1100Aと通信装置B1100Bとで同一の構成要素には同一の参照数字を付した。
【0110】
図11では、装置B1100Bが装置A1100AにOAM(CCM)フレーム(以下、CCMフレームと呼ぶ)を送信し、これの受信に応じて、装置A1100Aがフレームロス計算を行うとともに、装置B1100BにCCMフレームを送信し、このCCMフレームを受信した装置B1100Bがフレームロス計算を行うことを前提としている。
【0111】
一実施形態による通信装置B1100B(及び通信装置A1100A)は、CCMフレームを生成するCCM生成部1101と、フレーム送信時にデータフレーム、CCMの各種フレームを格納するFIFOを含み、フレームのFIFO格納状態を管理するFIFO管理部1102と、送信アルゴリズムに従いフレーム送出順序を決定するスケジューラ部1103とを有する。このスケジューラ部1103は、FIFO管理部1102内のFIFOに格納された各種フレームの送信順序を決定し、その送信を管理するとともに、CCMフレーム生成時から送信時までのカウンタ変化(増加)分を管理する。
【0112】
通信装置B1100Bは、さらに、スケジューラ部から指示を受けてフレーム送信するFIFO選択するFIFO読出制御部1104と、OAMフレームを除く送信フレームをカウントするTxFCIカウンタ1105と、フレーム受信時にデータフレーム、CCMフレームを種別毎にフィルタリングするCCM識別部1106と、OAMフレームを除く受信フレームをカウントするRxFCIカウンタ1107とを有する。
【0113】
通信装置B1100Bは、さらに、前述の計算式に従いフレームロス数を計算するフレームロス計算部1108を有する。このフレームロス計算部1108は、フレームロスの算出に必要な前回CCMフレームを受信した時点でのTxFCf、RxFCb、TxFCb、RxFCIの各パラメータの値を保持するメモリも含む。
【0114】
引き続き図11を参照して、通信装置Aが通信装置Bに対してフレームロス測定を行う処理フローを説明する。デュアルエンド方式の場合、両方の装置がCCMフレームを受け渡すことで同時にフレームロス測定を行うことから、装置Bから装置Aに対してフレームロス測定を行っても、装置Aから装置Bに対してフレームロス測定を行っても、行われる処理は同等である。
【0115】
装置Aから装置B方向の測定を行う処理フローを説明する。
【0116】
上位システムからのフレームロス測定要求に応じて、装置A1100Aは装置B1100Bに、CCMフレームを送信する。一実施形態では、装置A1100Aは、一定周期(例えば100ms)ごとに装置B1100BにCCMフレームを送信して、サービス品質をモニタすることができる。他の実施形態では、CMMフレームの送信は所定時間に行われてもよい。
【0117】
このとき、装置A1100Aでは、CCM生成部1101がCCMフレームの生成を開始する。装置Aの受信側では最後に装置Bから受信したCCMフレームに格納されていたTxFCfの値と、そのCCMフレームの受信時のRxFCIのカウンタ値を保持しているので、それぞれ生成したCCMフレームのTxFCbとRxFCbに格納する。CCM生成部1101は、スケジューラ部1103にCCMフレームを生成することを通知し、スケジューラ部1103は、生成したCCMフレームの送信順序を送信アルゴリズムにしたがって決定する。本実施形態では、送信順序決定アルゴリズムはラウンドロビン方式である。ラウンドロビン方式は、データ→CCM→データ→・・・の順に送信するアルゴリズムである。CCM生成部1101が生成するCCMフレームは、FIFO管理部1102の上段のCCM送信FIFOの「N」の位置に挿入される。他の実施形態では、送信順序決定アルゴリズムは重み付けラウンドロビン方式やストリクト・プライオリティ方式などでもよく、送信順序決定アルゴリズムは用途に応じて選択することができる。
【0118】
スケジューラ部1103は、フレームの送出順序(「送出順」)と、送出するフレーム(「フレーム」)と、そのフレーム送出時点でのTxFCIカウンタ1105のカウント値の増加分(「カウント」)とを管理している。例えば、図11に示した装置A1100Aのスケジューラ部1103は、1番目に送出するフレームがデータフレーム「I」であり、データフレーム「I」を送出するとTxFCIカウンタ1105のカウント値が「+1」だけ増加することを示している。また、2番目に送出するフレームがCCMフレーム「M」であり、CCMフレーム「M」を送出するとTxFCIカウンタ1105のカウント値が「0」だけ増加する(すなわち変化しない)ことを示している。ここで、TxFCIカウンタ1105は、データフレームが送出された時にカウントアップし、OAMフレーム(この場合、CCMフレーム)が送出された時はカウントアップしないことに留意する。
【0119】
装置A1100Aのスケジューラ部1103は、さらに、3番目に送出するフレームがデータフレーム「J」であり、データフレーム「J」を送出するとTxFCIカウンタ1105のカウント値が「+1」だけ増加することを示している。さらに、4番目に送出するフレームがデータフレーム「K」であり、データフレーム「K」を送出するとTxFCIカウンタ1105のカウント値が「+1」だけ増加することを示している。さらに、5番目に送出するフレームがデータフレーム「L」であり、データフレーム「L」を送出するとTxFCIカウンタ1105のカウント値が「+1」だけ増加することを示している。さらに、6番目に送出するフレームがCCMフレーム「N」であり、CCMフレーム「N」を送出するとTxFCIカウンタ1105のカウント値が「0」だけ増加する(すなわち変化しない)ことを示している。以下、同様である。
【0120】
なお、スケジューラ部1103は、CCM生成部1101からCCMフレーム「N」の生成開始の通知があった時点で、CCMフレーム「N」を6番目に送出されるフレームとして管理し始めるものである。この時点では、CCMフレーム「N」はまだCCM生成部1101による生成が完了しておらず、当然、FIFO管理部1102のCCM送信FIFO(上段のFIFO)にも入力されていない。つまり、スケジューラ部1103は、CCM生成部1101からCCMフレームの生成開始の通知に応答して、生成されるはずのCCMフレーム「N」の送信順序を決定できる。
【0121】
スケジューラ部1103は、CCMフレーム「N」が6番目に送信されるまでに、データフレーム「I」、「J」、「K」及び「L」が送信され、TxFCIカウンタ1005のカウンタ値が「+4」(=「+1」+「+1」+「+1」+「+1」)されることを求め、CCM生成部1101に送る。
【0122】
また、TxFCIカウンタ1105は、CCM生成部1101からの求めに応じて、現時点でのカウンタ値を送る。
【0123】
CCM生成部1101は、生成するCCMフレームのTxFCfに、TxFCIカウンタ1105からのカウンタ値にスケジューラ部1103からのカウンタ値の増加分「+4」を加えて修正し、修正したカウンタ値を挿入する。
【0124】
CCM生成部1101により生成されたCCMフレームは、FIFO管理部1102内のCCM送信FIFO(上段のFIFO)に送られ、CCMフレーム「N」の位置に格納される(すなわち、CCMフレーム「N」として格納される)。
【0125】
FIFO読出制御部1104は、スケジューラ部1103から指示を受けて、スケジューラ部1103が管理する送信順序にしたがってFIFO管理部1102内の各FIFOからフレームを読込み、装置B1100Bに送信する。
【0126】
CCMフレームは、ネットワークを介して装置A1100Aから装置B1100Bに向けて送られる。
【0127】
一方、装置B1100Bにおいては、LM識別部1106が、装置Aから受信したCCMフレームをデータフレームとCCMフレームにフィルタリング(識別分離)する。ここでは受信したフレームがCCMフレームであるので、フレームロス計算部1108に送られる。算出を行う。また、受信したフレームがデータフレームである場合、RxFCIカウンタ1107でカウントされ、フレームロス計算部1108内のメモリRxFCI(tc)に格納される。また、前回のRxFCI(tc)値はRxFCI(tp)に格納される。
【0128】
フレームロス計算部1108は、CCMフレームを受信すると、TxFCf(tc)、RxFCb(tc)、TxFCb(tc)と内部のメモリに格納しているTxFCf(tp)、RxFCb(tp)、TxFCb(tp)、及び取得したRxFCI(tc)、RxFCI(tp)に基づき、前述の計算式により通信相手装置(Far-end)と自装置(Near-end)のフレームロス数を算出する。
【0129】
上記の実施形態では、CCM生成部1101は、TxFCIカウンタ1105からカウンタ値を受け取り、スケジューラ部1103からカウンタ値の変化分を受け取るようにした。他の実施形態では、スケジューラ部1103がTxFCIカウンタ1105からカウンタ値を受け取り、そのカウンタ値に変化分を加えて修正したカウンタ値をCCM生成部1101に送ってもよい。
【0130】
かかる構成により、一実施形態によるデュアルエンド方式の通信装置は、OAMフレームを送信するとき、そのOAMフレームが送信される時点の正しいデータフレームのカウント値を設定してそのOAMフレームを送信することができる。
【0131】
図12は、一実施形態によるOAMフレーム送信方法を示すフローチャートである。通信装置は、上位システムからのフレームロス測定要求に応じて、本方法を開始する。ステップS1において、カウンタが、送信したデータフレーム数をカウントする。ステップS2において、スケジューラ(例えば、図10のスケジューラ1003や図11のスケジューラ1103)が、送信するデータフレームとOAMフレームの送信順序を決定する。
【0132】
ステップS3において、OAMフレーム生成部(例えば、図10のLMM生成部1001やLMR生成部1009、または図11のCCM生成部1101)が、カウントしたデータフレーム数を含む監視制御フレームを生成する。ただし、監視制御フレームに含めるデータフレーム数は送信順序に応じて修正される。修正の詳細は図10及び図11を参照して説明した通りである。最後に、ステップS4において、送信順序に基づき、送信するデータフレームとOAMフレームとを送信する。
【0133】
上記のOAMフレーム送信方法の各ステップをマイクロプロセッサやマイクロコントローラに実行させるコンピュータプログラムとして実施することもできる。
【0134】
図13は、一実施形態によるシェルフ型通信装置を示す図である。図13に示したシェルフ型通信装置1300は、例えば28個のスロットを有している。このスロットには、図10を参照して説明した一実施形態による通信装置に相当するラインカード1301、及び/または図11を参照して説明した一実施形態による通信装置に相当するラインカード1301を複数(この場合、24枚)挿入することができる。かかるシェルフ型通信装置には、ラインカード1301の他に、ネットワークマネジメントインタフェース終端やDCC終端の機能を有するMCカード1302や、480Gb/sSTSスイッチや480Gb/sパケットスイッチの機能を有するSWカード1303を挿入する専用スロットが設けられている。さらに、これらのカードを冷却するためのファン1304が複数設けられている。
【0135】
以上、実施形態について詳述したが、本発明は特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形及び変更が可能である。
【0136】
なお、一部の実施形態を整理すると以下の通りである。
(付記1)
送信データフレーム数を示すカウンタ値を含む監視制御フレームを生成する生成部と、
データフレームと前記生成部が生成した監視制御フレームとを送信する送信部とを有し、
前記送信部は、送信したデータフレーム数をカウントするカウンタと、
送信するフレームの送信順序を決定するスケジューラとを有し、
前記生成部は前記カウンタのカウント値を、前記スケジューラが決定した送信順序に応じて修正して前記監視制御フレームを生成することを特徴とする通信装置。
(付記2)
前記送信部は、少なくとも、データフレームが入力される第1のFIFOと、前記生成部が生成した監視制御フレームが入力される第2のFIFOとをさらに有することを特徴とする、付記1に記載の通信装置。
(付記3)
前記生成部は、前記スケジューラが決定した前記送信順序に基づき、前記監視制御フレームの送信までに送信されている前記データフレームの前記カウンタが示すカウント値からの変化分を求めることを特徴とする、付記1または2に記載の通信装置。
(付記4)
通信相手装置から受信した監視制御フレームに基づきフレームロスを計算するフレームロス計算部をさらに有することを特徴とする、付記1乃至3いずれか一項に記載の通信装置。
(付記5)
前記監視制御フレームはフレームロス測定に係わる監視制御フレームであることを特徴とする、付記1乃至4いずれか一項に記載の通信装置。
(付記6)
前記第1のFIFOからのデータフレームの送信と、前記第2のFIFOからの前記監視制御フレームの送信とを制御する読出制御部をさらに有することを特徴とする、付記2に記載の通信装置。
(付記7)
前記スケジューラは、ラウンドロビン方式、重み付けラウンドロビン方式、ストリクト・プライオリティ方式のうちのひとつである送信順決定アルゴリズムにより、前記送信順序を決定することを特徴とする、付記1乃至6に記載の通信装置。
(付記8)
付記1乃至7に記載の通信装置はラインカードタイプであり、
対応する複数のスロットに挿入した複数の当該ラインカードタイプの通信装置を有することを特徴とするシェルフ型通信装置。
(付記9)
送信したデータフレーム数をカウントする段階と、
送信するデータフレームと監視制御フレームの送信順序を決定する段階と、
カウンタしたデータフレーム数を含む監視制御フレームを生成する段階と、
前記送信順序に基づき、送信する前記データフレームと前記監視制御フレームとを送信する段階とを有し、
前記監視制御フレームに含める前記データフレーム数を前記送信順序に応じて修正してすることを特徴とする監視制御フレーム送信方法。
(付記10)
前記データフレームと前記監視制御フレームとを相異なるFIFOに入力する段階をさらに有することを特徴とする、付記9に記載の方法。
(付記11)
前記送信順序に基づき、前記監視制御フレームの送信時において送信されているだろう前記データフレームのカウント値の変化分を求める段階とをさらに有することを特徴とする、付記9または10に記載の方法。
(付記12)
通信相手装置から受信した監視制御フレームに基づきフレームロスを計算する段階をさらに有することを特徴とする、付記9乃至11いずれか一項に記載の方法。
(付記13)
前記監視制御フレームはフレームロス測定に係わる監視制御フレームであることを特徴とする、付記9乃至12いずれか一項に記載の方法。
(付記14)
前記相異なるFIFOからの前記データフレームと前記監視制御フレームの出力を制御する段階をさらに有することを特徴とする、付記10に記載の方法。
(付記15)
前記データフレームと前記監視制御フレームとの送信の管理は、ラウンドロビン方式、重み付けラウンドロビン方式、ストリクト・プライオリティ方式のうちのひとつである送信順決定アルゴリズムにより行われることを特徴とする、付記11に記載の方法。
(付記16)
コンピュータに、
送信したデータフレーム数をカウントする段階と、
送信するデータフレームと監視制御フレームの送信順序を決定する段階と、
カウンタしたデータフレーム数を含む監視制御フレームを生成する段階と、
前記送信順序に基づき、送信する前記データフレームと前記監視制御フレームとを送信する段階とを実行させ、
前記監視制御フレームに含める前記データフレーム数を前記送信順序に応じて修正してすることを特徴とするコンピュータプログラム。
【図面の簡単な説明】
【0137】
【図1】Y.1731に基づくシングルエンド方式の通信装置を示すブロック図である。
【図2】Y.1731に基づくOAMフレームを示す図である。
【図3】シングルエンド方式おけるロス測定を説明する図である。
【図4】ロス測定が正常に行われる場合を説明する図である。
【図5】ロス測定が正常に行われない場合を説明する図である。
【図6】Y.1731に基づくデュアルエンド方式の通信装置を示すブロック図である。
【図7】デュアルエンド方式おけるロス測定を説明する図である。
【図8】ロス測定が正常に行われる場合を説明する図である。
【図9】ロス測定が正常に行われない場合を説明する図である。
【図10】一実施形態によるシングルエンド方式の通信装置を示すブロック図である。
【図11】一実施形態によるデュアルエンド方式の通信装置を示すブロック図である。
【図12】OAMフレーム送信方法を示すフローチャートである。
【図13】一実施形態による通信システムを示す図である。
【符号の説明】
【0138】
100 通信装置
110 フレーム送信部
111 フレーム送信回路
112 フレーム送信カウンタ
113 OAMフレーム生成部
120 フレーム受信部
121 フレーム受信回路
122 フレーム受信カウンタ
123 OAMフレームチェック部
124 LMMのRxFCI退避メモリ
125 LMRのRxFCI退避メモリ
126〜129 格納メモリ
300 通信システム
310 通信装置A
311 RxFCIカウンタ
312 TxFCIカウンタ
320 通信装置B
321 TxFCIカウンタ
322 RxFCIカウンタ
600 通信装置
610 フレーム送信部
611 フレーム送信回路
612 フレーム送信カウンタ
613 OAMフレーム生成部
620 フレーム受信部
621 フレーム受信回路
622 フレーム受信カウンタ
623 OAMフレームチェック部
624 RxFCI退避メモリ
625 TxFCI退避メモリ
626〜629 格納メモリ
700 通信システム
710 通信装置A
711 RxFCIカウンタ
712 TxFCIカウンタ
720 通信装置B
721 TxFCIカウンタ
722 RxFCIカウンタ
1000A、1000B 通信装置A、B
1001 LMM生成部
1002 FIFO管理部
1003 スケジューラ部
1004 FIFO読出部
1005 TxFCIカウンタ
1006 LM識別部
1007 RxFCIカウンタ
1008 フレームロス計算部
1009 LMR生成部
1000A、1000B 通信装置A、B
1101 CCM生成部
1102 FIFO管理部
1103 スケジューラ部
1104 FIFO読出部
1105 TxFCIカウンタ
1106 LM識別部
1107 RxFCIカウンタ
1108 フレームロス計算部
1300 シェルフ型通信装置
1301 ラインカード
1302 MCカード
1303 SWカード
1304 ファン

【特許請求の範囲】
【請求項1】
送信データフレーム数を示すカウンタ値を含む監視制御フレームを生成する生成部と、
データフレームと前記生成部が生成した監視制御フレームとを送信する送信部とを有し、
前記送信部は、送信したデータフレーム数をカウントするカウンタと、
送信するフレームの送信順序を決定するスケジューラとを有し、
前記生成部は前記カウンタのカウント値を、前記スケジューラが決定した送信順序に応じて修正して前記監視制御フレームを生成することを特徴とする通信装置。
【請求項2】
前記送信部は、少なくとも、データフレームが入力される第1のFIFOと、前記生成部が生成した監視制御フレームが入力される第2のFIFOとをさらに有することを特徴とする、請求項1に記載の通信装置。
【請求項3】
前記生成部は、前記スケジューラが決定した前記送信順序に基づき、前記監視制御フレームの送信までに送信されている前記データフレームの前記カウンタが示すカウント値からの変化分を求めることを特徴とする、請求項1または2に記載の通信装置。
【請求項4】
送信したデータフレーム数をカウントする段階と、
送信するデータフレームと監視制御フレームの送信順序を決定する段階と、
カウントしたデータフレーム数を含む監視制御フレームを生成する段階と、
前記送信順序に基づき、送信する前記データフレームと前記監視制御フレームとを送信する段階とを有し、
前記監視制御フレームに含める前記データフレーム数を前記送信順序に応じて修正してすることを特徴とする監視制御フレーム送信方法。
【請求項5】
コンピュータに、
送信したデータフレーム数をカウントする段階と、
送信するデータフレームと監視制御フレームの送信順序を決定する段階と、
カウントしたデータフレーム数を含む監視制御フレームを生成する段階と、
前記送信順序に基づき、送信する前記データフレームと前記監視制御フレームとを送信する段階とを実行させ、
前記監視制御フレームに含める前記データフレーム数を前記送信順序に応じて修正してすることを特徴とするコンピュータプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate


【公開番号】特開2010−28654(P2010−28654A)
【公開日】平成22年2月4日(2010.2.4)
【国際特許分類】
【出願番号】特願2008−189912(P2008−189912)
【出願日】平成20年7月23日(2008.7.23)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.ETHERNET
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】