説明

パケット多重化装置

【課題】回線速度が高速化され、多ビット展開によってより大きなデータ幅のパケットを多重化する場合であっても、パケット間に適切なインターパケットギャップを挿入することができるパケット多重化装置を提供する。
【解決手段】第1〜第nバッファ部1−1〜1−nは、FIFO前段処理部2と、受信パケットFIFO3−1〜3−nと、パケット到着情報生成部4と、パケットレングス測定部5と、受信パケットFIFO読み出し制御部6と、パケット間隔調整制御部7と、パケット間隔調整部8−1〜8−nと、バッファ部内MUX部9とをそれぞれ有している。パケット間隔調整部8−1〜8−nは、各系統の受信パケットFIFO3−1〜3−nからパケットを受けて、そのパケットの先頭バイト位置を、パケット間隔情報のIPGに対応させて調整する。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、異なる複数の通信回線を介してそれぞれ受信した複数のパケット(高速データパケット)を多重化するパケット多重化装置に関する。
【背景技術】
【0002】
一般的なパケット通信用のパケット多重化装置では、異なる複数の通信回線を介してそれぞれ受信した複数のパケットを、受信した順番に多重化する際に、前のパケットと次のパケットとの間にパケットの区切りを表すための適切な制御信号ビット列を、適切な場所に挿入することが要望されている。この制御信号ビット列には、パケットの開始や終了の情報や、パケットレングス(フレームレングス)の情報が含まれている。パケットを扱う装置では、これらの情報を基にして、パケットの各種制御が行われる。
【0003】
ここで、本来、パケット通信は、シリアル信号での通信方式を前提としており、制御信号ビット列も、シリアル信号での通信方式を前提に規格上規定されている(例えば、非特許文献1参照)。なお、本願の発明に関連する先行技術文献としては、非特許文献1の他に、例えば、特許文献1〜3がある。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平6−152651号公報
【特許文献2】特開2002−247073号公報
【特許文献3】特開2004−289567号公報
【非特許文献】
【0005】
【非特許文献1】石田修他著「改訂版10ギガビットEthernet教科書」impress,2005年4月1日,p181−186
【発明の概要】
【発明が解決しようとする課題】
【0006】
従来のパケット多重化装置では、回線速度が低速であることを前提とした構成であるため、受信したシリアル信号のパケットを多ビット展開し、パラレル信号化したとしてもデータ幅は小さく、前のパケットから次のパケットまでの間の間隔にも余裕があった。このため、制御信号ビット列の一種であるインターパケットギャップ(以下、「IPG」とする。)を、クロック単位でパケット間に挿入するIPG調整を行うことができ、そのIPG調整の方式について特に考慮する必要がなかった。
【0007】
ここで、図5に、従来のパケット多重化装置のIPG調整の一例を示す。この図5に示すように、従来のパケット多重化装置では、パラレル化後のデータバス幅がIPGを超えない場合に、パケット間隔をクロック単位で調整し、IPGの平均値をIPGの規定値となるように制御することが可能であった。
【0008】
しかしながら、回線速度が高速化したにも関わらず、デバイスの動作速度の向上が望めない場合には、より大きなデータ幅にパケットを多ビット展開し、パラレル信号として信号処理を行う必要がある。この信号処理の際に、デバイス内のバスにおけるデータバス幅がIPGを上回った場合を考慮すると、仮にパケット間の間隔を適切なIPGに調整した場合には、上記したクロック単位の調整が不可能となる。
【0009】
また、図5に示すような従来のパケット多重化装置のIPG調整では、1クロックを最小単位としてパケットを順番に処理するため、図6に示すように、パラレル化されたデータバス幅において最小時間で内部処理を行ったとしても、IPGの平均値が規定値以上になってしまう場合がある。仮に、従来装置の構成において目的を達しようとするならば、この問題を回避するために、より高速なデバイスを用いて、より高速で動作させることによって多ビット展開によるパラレル信号幅を抑制し、データバス幅をIPGよりも小さく抑える必要がある。しかしながら、現在のハードウェアの動作クロックは頭打ち状態であり、現在以上の大幅なクロックアップは望めない。
【0010】
この発明は、上記のような課題を解決するためになされたものであり、回線速度が高速化され、多ビット展開によってより大きなデータ幅のパケットを多重化する場合であっても、パケット間に適切なインターパケットギャップを挿入することができるパケット多重化装置を得ることを目的とする。
【課題を解決するための手段】
【0011】
この発明のパケット多重化装置は、受信したパケットを記憶する受信パケット記憶手段を有し、異なる複数の通信回線にそれぞれ対応する複数のバッファ部と、前記バッファ部がパケットを受信した際に、受信したパケットの前記通信回線の情報と、受信したパケットのパケットレングス情報とをパケット情報として取得するパケット情報取得部と、前記パケット情報取得部が取得した前記パケット情報に基づいて、前記複数のバッファ部のいずれかに属する前記受信パケット記憶手段を読み出し対象として決定するとともに、前記受信パケット記憶手段についての読み出し時間と、多重化した際の前後のパケットの間隔であるインターパケットギャップとを算出するバッファ部動作演算部と、前記バッファ部動作演算部によって算出された読み出し時間で、前記バッファ部動作演算部によって決定された読み出し対象の前記受信パケット記憶手段からパケットを読み出し、前記バッファ部動作演算部によって算出されたインターパケットギャップに対応するように、読み出したパケットの先頭バイト位置を調整するパケット間隔調整部と、前記パケット間隔調整部による位置調整後のパケットを複数取得し、取得した複数のパケットを多重化して送信パケット列とするバッファ部外多重化処理部とを備えるものである。
【発明の効果】
【0012】
この発明のパケット多重化装置によれば、バッファ部動作演算部が、読み出し対象の受信パケット記憶手段を決定するとともに、受信パケット記憶手段の読み出し時間とインターパケットギャップとを算出し、パケット間隔調整部が、バッファ部動作演算部によって算出された読み出し時間で、バッファ部動作演算部によって決定された読み出し対象の受信パケット記憶手段からパケットを読み出し、バッファ部動作演算部によって算出されたインターパケットギャップに対応するように、読み出したパケットの先頭バイト位置を調整するので、回線速度が高速化され、多ビット展開によってより大きなデータ幅のパケットを多重化する場合であっても、パケット間に適切なインターパケットギャップを挿入することができる。
【図面の簡単な説明】
【0013】
【図1】この発明の実施の形態1によるパケット多重化装置を示す構成図である。
【図2】図1のFIFO前段処理部の概要を説明するための説明図である。
【図3】図1のパケット間隔調整部によるIPG調整方式を説明するための説明図である。
【図4】図1の読み出しイネーブル信号生成部の動作を示すフローチャートである。
【図5】従来のパケット多重化装置のIPG調整の一例を説明するための説明図である。
【図6】従来のパケット多重化装置のIPG調整の一例を説明するための説明図である。
【発明を実施するための形態】
【0014】
以下、この発明を実施するための形態について、図面を参照して説明する。
実施の形態1.
図1は、この発明の実施の形態1によるパケット多重化装置(パケット多重化回路)を示す構成図である。図2は、図1のFIFO前段処理部2の概要を説明するための説明図である。
図1,2において、実施の形態1のパケット多重化装置は、イーサネットフレーム(パケット)を多重化するレイヤ2スイッチに用いられ、全n系統の通信回線のそれぞれから信号を受け、これらの信号を多重化して、40Gbps/100Gbps(あるいはそれ以上)のビットレートで出力可能な装置である。
【0015】
また、実施の形態1のパケット多重化装置は、イーサネット(登録商標)の規格上パケット毎のクロック偏差を吸収するために設ける96ビット(12Byte)長以上(プリアンブルを含めれば+8Byte)のIPGを、受信したパケットの多重化を行う際に前後のパケット間に挿入し、その挿入した状態で送信パケット列をワイヤレートで出力可能な装置である。
【0016】
ここで、IPGは、96ビット(12Byte)長以上(プリアンブルを含めれば+8Byte)であれば規格を満たしている。実施の形態1のパケット多重化装置は、n系統の通信回線からのパケットを受信し、これらのパケットを多重化する際に、出力データバス幅による帯域を全て使用する場合を想定する。この場合、出力データバス幅に対応したワイヤレートを実現するためには、例えばパケット間に最短の96ビット長のIPGを挿入された状態でパケットが連続して到着するとき(n系統の通信回線からのパケットが全てワイヤレートで到着するとき)、パケットの送信側において挿入するIPGも最短である96ビット長のIPGでなければならない。このため、実施の形態1のパケット多重化装置の構成は、パケットが連続して到着する場合に、96ビット長のIPGを挿入することが可能な構成である。
【0017】
また、実施の形態1のパケット多重化装置は、第1〜第n通信回線(以下、「入力1〜入力n」ともいう。)のそれぞれに一対一で対応する第1〜第nバッファ部1−1〜1−nと、バッファ部動作演算部としてのキューイング制御部10と、バッファ部外多重化処理部としてのバッファ部外MUX部(MUX回路、MUX:Multiplexer)20とを有している。ここでは、第1〜第nバッファ部1−1〜1−nのうちの第1バッファ部1−1を中心に説明する。なお、第1〜第nバッファ部1−1〜1−nの複数のバッファ部1に対して、1つのキューイング制御部10が用いられる。
【0018】
第1〜第nバッファ部1−1〜1−nは、FIFO前段処理部2と、受信パケット記憶手段としての複数の受信パケットFIFO(FIFOメモリ、FIFO:First In First Out)3−1〜3−nと、パケット到着情報生成部(パケット到着完了信号生成部)4と、パケットレングス測定部(パケットレングス計算部)5と、受信パケットFIFO読み出し制御部6と、パケット間隔調整制御部7と、パケット間隔調整部8−1〜8−nと、バッファ部内多重化処理部としてのバッファ部内MUX部9とをそれぞれ有している。
【0019】
キューイング制御部10は、全バッファ部1の全受信パケットFIFO3に対して、キューイング制御を行う。また、キューイング制御部10は、キュー待ちFIFO(FIFOメモリ)11と、読み出しイネーブル信号生成部12と、IPG計算部13とを有している。
【0020】
FIFO前段処理部2は、図2に示すように、パラレル展開部2A、FIFO振り分け部2B及び振り分け制御部2Cを有している。パラレル展開部2Aは、入力1の受信系統から受けたパケットを、内部処理可能な動作速度に対応するデータバス幅に展開する。FIFO振り分け部2Bは、パラレル展開部2Aによって展開されたパケットを、n系統に分配して受信パケットFIFO3−1〜3−nへ送る。
【0021】
ここで、FIFO振り分け部2Bによって分配されたパケットは、受信パケットFIFO3−1〜3−nの全系統に到着するが、パケット単位で、受信パケットFIFO3−1〜3−nのうちの1系統の受信パケットFIFO3に書き込まれる。このような動作を実現するために、振り分け制御部2Cは、書き込みイネーブル信号(書き込み命令)を生成し、その生成した書き込みイネーブル信号を、書き込み対象の受信パケットFIFO3に送ることによって、書き込み対象の受信パケットFIFO3にパケットを書き込む(記憶させる)。例えば、振り分け制御部2Cは、第1受信パケットFIFO3−1、第2受信パケットFIFO3−2・・・第n受信パケットFIFO3−nの順にパケットを書き込む。
【0022】
パケット到着情報生成部4は、入力1からのパケットの受信状況を監視し、パケットが各バッファ部1−1〜1−nに到着したことに応じて、受信完了時刻やバッファ部1の識別情報等を示すパケット到着情報を生成する。パケットレングス測定部5は、入力1のパケットのパケットレングスを測定し、パケットレングス情報を生成する。ここで、パケット到着情報生成部4及びパケットレングス測定部5は、パケットレングス情報及びパケット到着情報をパケット情報として取得するパケット情報取得部を構成している。
【0023】
パケットレングス情報及びパケット到着情報は、キュー待ちFIFO11に送られ、互いに対応付けられて、キュー待ちFIFO11に格納される。ここで、キュー待ちFIFO11は、全てのバッファ部1−1〜1−nのパケット到着情報生成部4及びパケットレングス測定部5から、それぞれパケットレングス情報及びパケット到着情報を受ける。
【0024】
読み出しイネーブル信号生成部12は、キュー待ちFIFO11に格納された一組のパケットレングス情報及びパケット到着情報を読み出す。また、読み出しイネーブル信号生成部12は、パケット到着情報から、対象のパケットがどの入力系統のものであるかを判断し、パケットレングス情報から、対象のパケットを受信パケットFIFO3から読み出す時間を算出し、その読み出し時間に応じた読み出しイネーブル信号(読み出し命令)を生成する。
【0025】
IPG計算部13は、パケットレングス情報及びパケット到着情報に基づいて、IPGの平均値が規定のIPGとなるように、対象のパケットとそのパケットの前又は後のパケットとの間に挿入するIPGを算出し、その算出したIPGの情報を含むパケット間隔情報を生成する。
【0026】
読み出しイネーブル信号生成部12によって生成された読み出しイネーブル信号は、受信パケットFIFO読み出し制御部6及びパケット間隔調整制御部7に送られる。これと同様に、IPG計算部13によって生成されたパケット間隔情報は、受信パケットFIFO読み出し制御部6及びパケット間隔調整制御部7に送られる。
【0027】
受信パケットFIFO読み出し制御部6は、読み出しイネーブル信号に基づいて、受信パケットFIFO3−1〜3−nからのパケットの読み出しを制御する。受信パケットFIFO3−1〜3−nから読み出されたパケットは、それぞれパケット間隔調整部8−1〜8−nへ送られる。
【0028】
パケット間隔調整制御部7は、パケットの読み出し対象となる受信パケットFIFO3−1〜3−nに対応するパケット間隔調整部8−1〜8−nに、パケット間隔情報を送る。パケット間隔調整部8−1〜8−nは、各系統の受信パケットFIFO3−1〜3−nからパケットを受けて、そのパケットの先頭バイト位置を、パケット間隔情報のIPGに対応させて調整する(IPG調整を行う)。
【0029】
バッファ部内MUX部9は、パケット間隔調整部8−1〜8−nによるIPG調整後の複数のパケットを、多重化してパケット列とする。これとともに、バッファ部内MUX部9は、多重化したパケット列に対して、パラレル/シリアル変換する。バッファ部外MUX部20は、全てのバッファ部1−1〜1−nのバッファ部内MUX部9から出力されたシリアル信号のパケット列を多重化して、送信パケット列とする。
【0030】
次に、パケット間隔調整部8−1〜8−nによるIPG調整方式について説明する。図3は、図1のパケット間隔調整部8−1〜8−nによるIPG調整方式を説明するための説明図である。ここでは、パケットP1,P2が2連続で到着した場合を考える。まず、これらのパケットP1,P2は、FIFO前段処理部2のFIFO振り分け部2B及び振り分け制御部2Cによってn系統(図3では、説明のため2系統に簡略化して示している)に分配される。そして、分配されたパケットP1,P2は、それぞれの系統に設けられた受信用パケットFIFO3−1,3−2にそれぞれ書き込まれる。
【0031】
そして、キューイング制御部10によるキューイング制御によって受信用パケットFIFO3−1,3−2からパケットが読み出され、その読み出されたパケットは、パケット間隔調整部8−1,8−2にそれぞれ入力され、パケット間隔調整部8−1,8−2によって、パケットが先頭バイト位置の移動を伴う変形操作を受ける。
【0032】
ここで、パケット間隔調整制御部7は、パケットP1のパケットレングスをデータバス幅で割った余り分(図3中の丸印)と規定のIPGとを加算して得られた値を記憶し、この値からパケットP2に対して行う変形操作の先頭バイト位置を決定する。なお、パケットP2から、そのパケットP2の次のパケットへも同様の余り分の受け渡し(余り分のシフト)を行うが、上記した「余り+IPG」の「余り」については、パケット間隔調整部8による変形操作後のパケットから算出される値が用いられる。
【0033】
このような変形操作を受けたパケットP1,P2は、パケット間隔調整部8−1,8−2から、バッファ部内MUX部9へ出力され、バッファ部内MUX部9によって多重化されて、1系統のパケット列に組み立てられる。なお、パケットP1,P2は、既にパケット間隔調整部8−1,8−2によって先頭バイト位置を適切な場所に移動されている状態であるため、バッファ部内MUX部9として単なるOR回路を用いてもよい。多重化された状態では、図3に示すように、パラレル信号のパケットP1,P2の間の間隔は、規定のIPGとなる。また、シリアル化後のパケットP1,P2の間の間隔も、規定のIPGとなる。
【0034】
次に、図4は、図1の読み出しイネーブル信号生成部12の動作を示すフローチャートである。ここでは、パケット到着情報及びパケットレングス情報がキュー待ちFIFO11に格納されている状態からスタートするものと想定して説明する。図4において、まず、キュー待ちFIFO11に最初にパケット到着情報及びパケットレングス情報が書き込まれた際に、読み出しイネーブル信号生成部12は、キュー待ちFIFO11のEMPTY状態(空き状態)が解除されるのを待って、キュー待ちFIFO11から最初の一組のパケット到着情報及びパケットレングス情報を読み出す(ステップS1,S3)。
【0035】
そして、読み出しイネーブル信号生成部12は、パケット到着情報に基づいて、該当するバッファ部1の受信パケットFIFO3への読み出しイネーブル信号をポジティブ化する(ステップS2)。
【0036】
これと並行して、読み出しイネーブル信号生成部12は、パケットレングス情報に基づいて、読み出しイネーブル信号をポジティブ化する時間を決めるための読み出し時間カウンタに、パケットレングス及びデータバス幅から算出したカウント値をセットする(ステップS4)。ここで、読み出しイネーブル信号生成部12は、読み出し時間カウンタにカウント値をセットするが、この際にはパケット間隔が適切な規定IPGに調整された状態の出力信号を想定したカウント値をセットする。
【0037】
そして、読み出しイネーブル信号生成部12は、読み出し時間カウンタのカウント値を、1クロックにつき1減算する(ステップS5,S6)。読み出し時間カウンタが回りきると、その時点(カウンタ値=0の時点)で、読み出しイネーブル信号生成部12は、現在読み出しているパケットの次のパケットが読み出し待ちかどうかを確認する(ステップS7)。
【0038】
ここで、現在読み出しているパケットの次のパケットが読み出し待ちである場合(次のパケットの到着が完了している場合)には、パケット到着情報及びパケットレングス情報がキュー待ちFIFO11に格納されているはずであり、読み出しイネーブル信号生成部12は、キュー待ちFIFO11から新たなパケット到着情報及びパケットレングス情報を読み出し(ステップS8,S1,S2)、同様の動作を繰り返す。
【0039】
他方、現在読み出しているパケットの次のパケットが読み出し待ちでない場合(次のパケットの到着が完了していない場合)には、読み出しイネーブル信号生成部12は、受信パケットFIFO3への読み出しイネーブル信号をネガティブ化し、次のパケットの到着が完了するまで待機状態となり(ステップS7)、同様の動作を繰り返す。
【0040】
上記のような実施の形態1のパケット多重化装置によれば、パケット間隔調整部8−1〜8−nが、読み出しイネーブル信号生成部12によって算出された読み出し時間で、読み出しイネーブル信号生成部12によって決定された読み出し対象の受信パケットFIFO3−1〜3−nからパケットを読み出し、IPG計算部13によって算出されたIPGに対応するように、読み出したパケットの先頭バイト位置を調整する。この構成により、回線速度が高速化され、多ビット展開によってより大きなデータ幅のパケットを多重化する場合であっても、パケット間に適切なインターパケットギャップを挿入することができる。
【0041】
ここで、従来のパケット多重化装置では、動作クロックを抑えるために、IPGを超えるデータバス幅へ受信したパケットをパラレル展開する場合には、1クロック分のデータバス幅で既にIPGを超えており、ワイヤレートを実現できなかった。これに対して、実施の形態1のパケット多重化装置を用いることによって、適切なサイズのIPGが適切な位置に挿入されたパケットをワイヤレートで出力することが可能となる。この結果、低速なデバイスを用いてパケット多重化装置を構成することが可能となる。従って、動作クロックを抑えた状態で高速なパケットを高い効率で多重化できるパケット多重化装置を構成することができ、現行のデバイスをそのまま使用することによるコスト削減、及び柔軟な設計が可能となる。
【符号の説明】
【0042】
1,1−1〜1−n 第1〜第nバッファ部、2 FIFO前段処理部、2A パラレル展開部、2B FIFO振り分け部、2C 振り分け制御部、3,3−1〜3−n 受信パケットFIFO(受信パケット記憶手段)、4 パケット到着情報生成部、5 パケットレングス測定部、6 受信パケットFIFO読み出し制御部、7 パケット間隔調整制御部、8−1〜8−n パケット間隔調整部、9 バッファ部内MUX部(バッファ部内多重化処理部)、10 キューイング制御部(バッファ部動作演算部)、11 キュー待ちFIFO、12 イネーブル信号生成部、13 IPG計算部、20 バッファ部外MUX部(バッファ部外多重化処理部)。

【特許請求の範囲】
【請求項1】
受信したパケットを記憶する受信パケット記憶手段を有し、異なる複数の通信回線にそれぞれ対応する複数のバッファ部と、
前記バッファ部がパケットを受信した際に、受信したパケットの前記通信回線の情報と、受信したパケットのパケットレングス情報とをパケット情報として取得するパケット情報取得部と、
前記パケット情報取得部が取得した前記パケット情報に基づいて、前記複数のバッファ部のいずれかに属する前記受信パケット記憶手段を読み出し対象として決定するとともに、前記受信パケット記憶手段についての読み出し時間と、多重化した際の前後のパケットの間隔であるインターパケットギャップとを算出するバッファ部動作演算部と、
前記バッファ部動作演算部によって算出された読み出し時間で、前記バッファ部動作演算部によって決定された読み出し対象の前記受信パケット記憶手段からパケットを読み出し、前記バッファ部動作演算部によって算出されたインターパケットギャップに対応するように、読み出したパケットの先頭バイト位置を調整するパケット間隔調整部と、
前記パケット間隔調整部による位置調整後のパケットを複数取得し、取得した複数のパケットを多重化して送信パケット列とするバッファ部外多重化処理部と
を備えることを特徴とするパケット多重化装置。
【請求項2】
前記複数のバッファ部は、
前記パケット記憶手段を複数有し、
前記バッファ部が受信した複数のパケットを前記複数のパケット記憶手段にパケット単位で振り分ける振り分け部をさらに有し、
前記バッファ部動作演算部は、前記パケット情報取得部が取得した前記パケット情報に基づいて、前記複数のバッファ部のいずれかに属する前記複数の受信パケット記憶手段のうちの1つを読み出し対象として決定する
ことを特徴とする請求項1記載のパケット多重化装置。
【請求項3】
前記パケット間隔調整部は、前記複数のパケット記憶手段に一対一で対応するように、前記複数のバッファ部のそれぞれに複数設けられ、自身に対応する前記パケット記憶手段から読み出したパケットの先頭バイト位置を調整し、
前記複数のパケット間隔調整部による間隔調整後の複数のパケットを多重化するバッファ部内多重化処理部
をさらに備えることを特徴とする請求項2記載のパケット多重化装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2012−4823(P2012−4823A)
【公開日】平成24年1月5日(2012.1.5)
【国際特許分類】
【出願番号】特願2010−137556(P2010−137556)
【出願日】平成22年6月16日(2010.6.16)
【国等の委託研究の成果に係る記載事項】(出願人による申告)平成21年度、独立行政法人情報通信研究機構、「λアクセス技術の研究開発」委託研究、産業技術力強化法第19条の適用を受ける特許出願
【出願人】(000006013)三菱電機株式会社 (33,312)
【Fターム(参考)】