説明

伝送装置および伝送方法

【課題】非同期網からの受信データを所定フレームに収容する際のコード変換に伴うデータ量の増加分を予測可能にして、同期網の回線使用効率を向上させる。
【解決手段】非同期網からの受信データを収容したフレームを複数のセグメントに分割し、該分割した各セグメントの未使用コードを検出する。各セグメント内にある特定コードを、上記検出した各セグメントの未使用コードにそれぞれ変換し、該コード変換後のフレーム間のギャップ部分に、無効を示すコードとして上記特定コードを挿入することにより、同期網を伝送可能なフレームを生成する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、非同期網から受信したフレームを同期網を利用して伝送するための伝送装置および伝送方法に関する。
【背景技術】
【0002】
従来、イーサネット(登録商標、以下同様)を始めとするLAN(Local Area Network)等の非同期網からのデータを、SONET(Synchronous Optical Network)またはSDH(Synchronous Digital Hierarchy)等の同期回線を利用して伝送する技術として、POS(PPP Over SONET/SDH)方式のデータ伝送がよく知られている。
【0003】
図1は、POS方式による通信ネットワークの構成の一例を示した図である。
図1において、POS伝送装置1A,1Bでは、IETF(Internet Engineering Task Force)のRFC(Request For Comments)1662に準拠して、クライアント装置2A,2Bから送られてくるパケットデータがフレーム単位でHDLC(High-level Data Link Control)フレームのデータフィールドにカプセル化される。そして、該HDLCフレームがSONET/SDH等に対応したフレーム構造のペイロードにマッピングされて、広帯域な同期網を利用したデータ伝送が行われる。
【0004】
このようなPOS方式のデータ処理に関連した従来技術としては、例えば、下記の特許文献1において、MACフレームをHDLCフレームにカプセル化する技術が開示されている。また、下記の特許文献2には、HDLCフォーマットのデータをUDP/IPフォーマットのパケットに変換する技術が開示されている。
【0005】
上記のようなクライアント側からのデータのHDLCフレーム化処理においては、図2に示すように、フレーム間のギャップ部分を、“0x7E”(0xは16進数表記を示し、以下同様とする)のコードを使用したフラグで埋めてシリアル化することにより、フラグ間のデータがPPPフレームとして認識されるようにしている。このとき、PPPフレーム内にフラグと同じコード“0x7E”が存在すると、フレームの誤認識が生じてしまう。
【0006】
このような誤認識を回避するため、図3に示すように、PPPフレーム内のコード“0x7E”を予め定義したコード“0x7D,0x5E”に変換する処理が行われる。なお、“0x7D”はエスケープコードであり、コード変換範囲はデータフィールドおよびFCSフィールド(図2)である。これと同様に、PPPフレーム内に“0x7D”が存在するとエスケープコードと誤認識してしまうため、PPPフレーム内のコード“0x7D”を予め定義したコード“0x7D,0x5D”に変換する処理も行われる。このようなコード変換処理は、IETFのRFC1662等に規定されている。
【0007】
また、上記のようなPOS方式の他にも、例えば、OTN(Optical Transport Network)に関して、ITU−T.G709(OTN)、ITU−T.G7041(GFP)などには、イーサネットフレームをOTNフレームに収容する方法が規定されている。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2005−86619号公報
【特許文献2】特開2008−219215号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
前述したような従来のHDLCフレームによるにカプセル化におけるコード変換処理では、非同期網側(クライアント側)からのデータ内に“0x7E”や“0x7D”などの変換対象となる特定コードがどの程度の割合で存在するかによって、変換後のHDLCフレームのデータ量が変動する。例えば、非同期網側からのデータの全てが変換対象コードであるような場合を想定すると、1バイトの変換対象コードがエスケープコードを含めた2バイトのコードに変換されるため、変換後のHDLCフレームのデータ量は2倍に増大する。
【0010】
このように非同期網側からのデータの中身に依存してコード変換後のデータ量が変動すると、SONET/SDH等の同期網を伝送されるデータがどれ位の帯域を消費するのかを予測することが困難になる。上記想定にあるような最悪ケースを考慮すると、非同期網側からのデータのビットレートに対して2倍の帯域を同期網側に用意しなければ、帯域不足でデータを失う可能性があり、その結果、同期網の回線使用効率の低下が問題になる。
【0011】
本発明は上記の点に着目してなされたもので、非同期網からの受信データを所定フレームに収容する際のコード変換に伴うデータ量の増加分を予測可能にして、同期網の回線使用効率を向上させることのできる伝送装置および伝送方法を提供することを目的とする。
【課題を解決するための手段】
【0012】
本願の開示する伝送装置の一態様は、非同期網からの受信データを所定フォーマットのフレームに収容し、該フレーム内にある特定コードを異なるコードに変換して、同期網を伝送可能なフレームを生成する伝送装置であって、前記受信データを収容した前記フレームを複数のセグメントに分割するセグメント分割手段と、前記セグメント分割手段で分割された各セグメントにおける未使用コードを検出する未使用コード検出手段と、前記未使用コード検出手段の検出結果を示す未使用コード情報を対応するセグメントにそれぞれ付加する未使用コード付加手段と、前記セグメント分割手段で分割された各セグメント内にある前記特定コードを、前記未使用コード検出手段で検出された各セグメントの未使用コードにそれぞれ変換するコード変換手段と、前記未使用コード付加手段により未使用コード情報が付加された各セグメントを含む前記フレームの間のギャップ部分に、無効を示すコードとして前記特定コードを挿入することにより、同期網を伝送可能なフレームを生成する無効コード挿入手段と、を備える。
【発明の効果】
【0013】
上記伝送装置によれば、非同期網からの受信データを所定フレームに収容する際のコード変換に伴うデータ量の増加分を予測可能にして、同期網の回線使用効率を向上させることができる。
【図面の簡単な説明】
【0014】
【図1】POS方式による通信ネットワークの構成の一例を示した図である。
【図2】フレーム間のギャップ部分をフラグで埋めたデータを示す図である。
【図3】従来のコード変換の一例を示す図である。
【図4】第1実施形態による伝送装置の構成の一例を示すブロック図である。
【図5】第1実施形態に用いるコード変換ユニットの構成の一例を示すブロック図である。
【図6】第1実施形態に用いるコード逆変換ユニットの構成の一例を示すブロック図である。
【図7】図5のコード変換ユニットにおける処理の流れを説明する図である。
【図8】第1実施形態における未使用コードの検出方法を説明する図である。
【図9】図6のコード逆変換ユニットにおける処理の流れを説明する図である。
【図10】第2実施形態による伝送装置の構成の一例を示すブロック図である。
【図11】第2実施形態におけるコード変換処理の手順を示すフローチャートである。
【図12】第2実施形態におけるコード逆変換処理の手順を示すフローチャートである。
【発明を実施するための形態】
【0015】
以下、本発明の実施形態について添付図面を参照しながら詳細に説明する。
図4は、第1実施形態による伝送装置の構成を示すブロック図である。図4に示す伝送装置1は、例えば、非同期網インターフェイス11と、同期網インターフェイス12とを備える。また、非同期網インターフェイス11は、コード変換ユニット20およびコード逆変換ユニット30を含む。上記伝送装置1は、前述の図1に示した従来の通信ネットワークにおけるPOS伝送装置1A,1Bに対応するものであり、イーサネットを始めとするLAN等の非同期網からのデータを、SONET/SDH等の同期回線を利用して伝送可能にするためのPOS方式に対応した伝送装置である。
【0016】
図5は、上記コード変換ユニット20の構成の一例を示すブロック図である。
図5に示すように、コード変換ユニット20は、非同期網からのデータが受信器201に与えられる。受信器201は、クライアント装置(図1)から送信されLAN等の非同期網を伝搬したデータ(例えば、イーサネットフレーム)を受信し、該受信データ(フレーム)をフレーム検査回路202に出力する。この受信器201の具体例としは、一般的なイーサネットレシーバ等の使用が可能である。
【0017】
フレーム検査回路202は、受信器201で受信されたフレームに含まれるFCS(Frame Check Sequence)フィールドの情報を基に、該フレームのプリアンブル(Preamble)、SFD(Start Frame Delimiter)およびFCSを除いたデータフィールドに対するFCSチェックを行い、該データフィールドの正常性(エラーの有無)を確認する。上記FCSチェックは、例えばIEEE802.3で定義されるような方法に従って行うことが可能である。フレーム検査回路202は、FCSチェック結果が正常の場合に、プリアンブル、SFDおよびFCSを削除したデータフィールドだけのフレームを生成し、該フレームを後段のフレーム長計算回路203、FCS演算回路204および遅延回路205にそれぞれ出力する。なお、FCSチェック結果がエラーの場合には、受信フレームは破棄される。
【0018】
フレーム長計算回路203は、フレーム検査回路202から出力されるフレームの長さを計算し、その計算結果をFCS演算回路204およびフレーム生成回路206にそれぞれ伝える。
【0019】
FCS演算回路204は、フレーム検査回路202から出力されるフレームのデータフィールドに、フレーム長計算回路203で計算されたフレーム長を加えた範囲に対するFCSの演算を行い、その演算結果を遅延回路205およびフレーム生成回路206にそれぞれ伝える。上記FCSの演算は、例えばIEEE802.3で定義される方法に従って行うことが可能である。
【0020】
遅延回路205は、フレーム検査回路202からの出力フレームを、フレーム長計算回路203およびFCS演算回路204での各処理に要する時間に応じて遅延させてフレーム生成回路206に出力する。
【0021】
フレーム生成回路206は、遅延回路205から出力されるフレームのデータフィールドの先頭にフレーム長計算回路203で計算されたフレーム長を示す情報を付加すると共
に、該データフィールドの末尾にFCS演算回路204で演算されたFCSの値を付加したフレームを生成し、該フレームをセグメント分割回路207およびカウンタ208にそれぞれ出力する。
【0022】
セグメント分割回路207は、フレーム生成回路206で生成されたフレームについて、フレーム長フィールド以降のデータ(バイト列)を、所定の長さを基準にして先頭から順に区切ることで複数のセグメントに分割する。セグメントの長さの基準としては、例えば、8ビットのコードを変換する場合を想定すると、mを自然数として、(256−m)バイトに設定することが可能である。mの値は、コード変換の対象となる特定コードの種類の数に対応させて予め設定される。セグメント分割回路207によりフレーム長フィールド以降のデータがセグメント化されたフレームは、未使用コード検出回路209および遅延回路210に出力される。なお、上記セグメント化の詳細については後述する。
【0023】
カウンタ208は、フレーム生成回路206で生成されたフレームのフレーム長フィールド以降のバイト数をカウントする。このカウンタ208のカウント値に従って、セグメント分割回路207におけるフレームデータのセグメント化が行われる。
【0024】
未使用コード検出回路209は、セグメント分割回路207で分割された各セグメントのデータについて、セグメント毎に未使用コードを検出し、その検出結果を未使用コード情報付加回路211およびコード変換回路212に伝える。
【0025】
遅延回路210は、セグメント分割回路207から出力されるフレームを、未使用コード検出回路209での処理に要する時間に応じて遅延させてコード変換回路212に出力する。
【0026】
未使用コード情報付加回路211は、遅延回路210から出力されるフレームの各セグメントの先頭に、未使用コード検出回路209でセグメント毎に検出された未使用コードを示す情報をそれぞれ付加する。未使用コード情報が挿入されたフレームは、コード変換回路212に出力される。
【0027】
コード変換回路212は、未使用コード情報付加回路211から出力されるフレームについて、各セグメント内に存在する、フラグと同一のコード“0x7E”や、エスケープコードと同一のコード“0x7D”等の変換対象コードを、未使用コード検出回路209で検出された当該セグメントの未使用コードに変換し、コード変換後のフレームを送信バッファ213に出力する。
【0028】
送信バッファ213は、コード変換回路212から出力されるフレームを一時的に保存し、同期網インターフェイス12から伝えられるペイロードタイミングに合わせて、保存したフレームを無効コード挿入回路214に出力する。
【0029】
無効コード挿入回路214は、送信バッファ213からのフレームの出力が無い場合に、無効コードとしてフラグ“0x7E”を挿入する。これにより、送信バッファ213から出力されるフレーム間のギャップ部分をフラグで埋めてシリアル化したデータが、無効コード挿入回路214から同期網インターフェイス12に出力される。
【0030】
上述したコード変換ユニット20におけるフレーム検査回路202からGAPカード挿入回路214までの範囲(図5中の波線内)に含まれる全ての回路要素については、FPGA(Field Programmable Gate Array)やASIC(Application Specific Integrated
Circuit)等の集積回路により実現することが可能である。
【0031】
図6は、図4に示したコード逆変換ユニット30の構成の一例を示すブロック図である。
図6に示すように、コード逆変換ユニット30は、同期網からのフレームが同期網インターフェイス12(図4)を介して有効データ抽出回路301に与えられる。有効データ抽出回路301は、同期網インターフェイス12からのデータおよびペイロードタイミングを基に、コードがフラグ“0x7E”に該当する領域を削除して有効データ(HDLCフレーム)を抽出し、該有効データを受信バッファ302に出力する。
【0032】
受信バッファ302は、有効データ抽出回路301から出力される有効データを一時的に保存し、所要のタイミングで保存データをセグメント再分割回路303およびカウンタ304に出力する。
【0033】
セグメント再分割回路303は、受信バッファ302から出力される有効データ(HDLCフレーム)よりフレーム長情報を抽出し、該フレーム長情報を基に、フレーム長フィールド以降のデータ(バイト列)におけるセグメントの区切り位置を計算する。また、セグメント再分割回路303は、セグメントの区切り位置の計算結果に従って、各セグメントの先頭にある未使用コード情報を抽出する。そして、セグメント再分割回路303は、上記計算結果に従ってフレーム長フィールド以降のデータを複数のセグメントに再分割したフレームを、各セグメントの未使用コード情報と一緒にコード逆変換回路305へ出力する。
【0034】
カウンタ304は、受信バッファ302から出力される有効データ(HDLCフレーム)のフレーム長フィールド以降のバイト数をカウントする。このカウンタ304のカウント値に従って、セグメント再分割回路303におけるフレームデータのセグメント化が行われる。
【0035】
コード逆変換回路305は、セグメント再分割回路303からの未使用コード情報を基に、各セグメント内の未使用コードに一致するコードを逆変換して、“0x7E”または“0x7D”等の元のコードを復元する。また、コード逆変換回路305は、各セグメントの先頭にある未使用コード情報を削除する。これにより、コード逆変換回路305は、コード変換前の元のフレームを復元し、該フレームをフレーム検査回路306および遅延回路307にそれぞれ出力する。
【0036】
フレーム検査回路306は、コード逆変換回路305から出力されるフレームに含まれるFCSフィールドの情報を基に、フレーム長フィールドおよびデータフィールドに対するFCSチェックを行い、該各フィールドの正常性(エラーの有無)を確認する。上記FCSチェックも、例えばIEEE802.3で定義されるような方法に従って行うことが可能である。フレーム検査回路306におけるFCSチェック結果は、遅延回路307に伝えられる。
【0037】
遅延回路307は、コード逆変換回路305から出力されるフレームを、フレーム検査回路306でのFCSチェックに要する時間に応じて遅延させ、当該FCSチェック結果が正常の場合に、遅延フレームをFCS演算回路308およびフレーム生成回路309にそれぞれ出力する。このとき、遅延回路307は、遅延フレームに含まれるフレーム長フィールドおよびFCSフィールドを削除し、データフィールドのみを出力する。なお、当該FCSチェック結果がエラーの場合には、遅延フレームは破棄される。
【0038】
FCS演算回路308は、遅延回路307から出力されるデータフィールドに対するFCSの演算を行い、その演算結果をフレーム生成回路309に伝える。このFCSの演算も、例えばIEEE802.3で定義される方法に従って行うことが可能である。
【0039】
フレーム生成回路309は、遅延回路307から出力されるデータフィールドの先頭にイーサネットフレーム等に対応したプリアンブルおよびSFDを付加すると共に、該データフィールドの末尾にFCS演算回路308で演算されたFCSの値を付加したフレームを生成し、該フレームを送信器310に出力する。
【0040】
上述したコード逆変換ユニット30における有効データ抽出回路301からフレーム生成回路309までの範囲(図6中の波線内)に含まれる全ての回路要素については、FPGAやASIC等の集積回路により実現することが可能である。
【0041】
送信器310は、フレーム生成回路309で生成されたフレームを非同期網に送信する。この送信器310の具体例としは、一般的なイーサネットトランスミッタ等の使用が可能である。非同期網に送信されたフレームは、前述の図1に示したようなクライアント装置2A,2Bに向けて伝送される。
【0042】
次に、第1実施形態の動作について説明する。
上記のような構成を備えたPOS方式による伝送装置1では、クライアント装置から送信され非同期網を伝送されたイーサネットフレーム等のデータが、非同期網インターフェイス11のコード変換ユニット20に与えられる。
【0043】
図7は、コード変換ユニット20における処理の流れを説明する図である。
コード変換ユニット20では、非同期網からのデータが受信器201で受信される。この受信データは、図7の(A1)に示すように、プリアンブルおよびSFDが収容される8バイトのフィールドと、データ(宛先アドレス、送信元アドレスおよびタイプ等の情報を含む)が収容される60〜1532バイトのフィールドと、FCSが収容される4バイトのフィールドとが順に配置されたフレーム構造を有する。
【0044】
受信器201で受信されたデータ(フレーム)は、フレーム検査回路202に与えられ、FCSフィールドの情報を基にFCSチェックが行われる。このFCSチェックによりデータフィールドが正常であることが確認されると、図7の(A2)に示すように、余分なプリアンブル、SFDおよびFCSを削除して、必要なデータフィールドだけにしたフレームが、フレーム検査回路202からフレーム長計算回路203、FCS演算回路204および遅延回路205にそれぞれ出力される。
【0045】
フレーム長計算回路203では、フレーム検査回路202から出力されるフレームの長さが計算される。なお、非同期網からの受信フレームが、例えば、IEEE形式のイーサネットフレームである場合、Type/Lengthフィールドにフレーム長情報が収容されているので、その情報を利用することでフレーム長の計算を省略することが可能である。一方、一般に普及しているDIX形式のイーサネットフレームの場合には、フレーム長情報が収容されていないため、フレーム受信時にフレーム長の計算が必要である。
【0046】
フレーム長計算回路203により計算されたフレーム長情報は、FCS演算回路204およびフレーム生成回路206にそれぞれ伝えられる。FCS演算回路204では、フレーム長計算回路203で計算されたフレーム長情報を当該フレームのデータフィールドに付加したときのFCSの値が演算され、その演算結果がフレーム生成回路206に伝えられる。
【0047】
フレーム生成回路206では、図7の(A3)に示すように、遅延回路205で遅延されたフレームのデータフィールドの先頭に、フレーム長情報を収容した2バイトのフィールドが付加されると共に、図7の(A4)に示すように、上記データフィールドの末尾に
、FCSの値を収容した4バイトのフィールドが付加される。これにより、非同期網からのデータ(フレーム)をHDLCフレームにカプセル化した新たなフレームが生成され、該フレームがセグメント分割回路207およびカウンタ208に与えられる。
【0048】
なお、フレーム長フィールドについては、フラグと同一のコード“0x7E”が出現しないようにするために、例えば、フレーム長フィールドの最上位ビットおよび最下位ビットを“1”にそれぞれ固定し、フレーム長情報を1ビットだけ上位方向にシフトさせて収容するのが好ましい。一般的にイーサネットフレームのフレーム長は64〜1536バイトであるため、該フレーム長を示す2バイトのコードは“0x0040”〜“0x0600”となる。つまり、フレーム長フィールドの2バイトのうち、実際には上位5ビットが使用されない。このため、上記のようにフレーム長情報を1ビットだけ上位方向にシフトして収容するようにしても問題が生じることはない。
【0049】
セグメント分割回路207では、フレーム生成回路206で生成されたフレームにおけるフレーム長フィールド以降のデータ(バイト列)が、図7の(A5)に示すように、先頭から順に(256−m)バイト単位で区切られることで、複数のセグメントに分割される。ここでは、先頭からN個までの各セグメントが(256−m)バイトの長さを有し、最後の1つのセグメントがMバイト(余った分に相当)の長さを有する。
【0050】
上記データのセグメント化におけるmの値は、フラグと同一のコード“0x7E”やエスケープコードと同一コード“0x7D”等の変換対象となるコードの種類の数に対応した値(自然数)が予め設定される。例えば、m=2の場合、1つのセグメント内において最大で254種類のコードが使用され得るので、少なくとも2種類の未使用コードが存在することになり、2種類の変換対象コードに対応することができる。つまり、mの値としては、変換対象コードの種類の数と同数を設定しておけばよい。
【0051】
上記のようにしてセグメント分割回路207でセグメント化されたフレームは、未使用コード検出回路209および遅延回路210に与えられる。未使用コード検出回路209では、各セグメントのデータについて、セグメント毎に未使用コードが検出される。未使用コードの具体的な検出方法としては、例えば図8に示すように、0〜255番のアドレスに対応した記憶領域を有する256ビットのメモリを用意しておき、セグメント内のデータ(コード)をアドレスポインタとして、各コードに対応する番号のアドレスに“1”を立てる処理を実行する。ただし、変換対象コード(“0x7E”および“0x7D”等)に相当するアドレスは変換に使用できないので、該アドレスは固定的に“1”を立てておく。1つのセグメントについて上記の処理を繰り返すことにより、未使用コードが256ビットのメモリ中の“0”として現れることになる。このため、アドレスの番号が小さい記憶領域から順に“0”を検索して行き、ヒットしたアドレスの番号を未使用コードの値として順次検出する。図8の例では、最初にヒットしたアドレスが2番であるので、“0x02”が1つ目の未使用コードとして検出される。
【0052】
上記のようにして未使用コード検出回路209で検出された各セグメントの未使用コードは、未使用コード情報付加回路211およびコード変換回路212に伝えられる。未使用コード情報付加回路211では、図7の(A7)に示すように、未使用コード検出回路209で検出された各セグメントの未使用コード情報(mバイト)が、遅延回路210から出力されるフレームの対応するセグメントの先頭にそれぞれ付加される。
【0053】
未使用コード情報付加回路211により未使用コード情報が付加されたフレームは、コード変換回路212に与えられる。コード変換回路212では、図7の(A8)に示すように、未使用コード情報付加回路211からの出力フレームの各セグメント内に存在する変換対象コードが、未使用コード検出回路209で検出された当該セグメントに対応する
未使用コードに変換される。例えば、変換対象コードが“0x7E”および“0x7D”の2種類の場合に、ある1つのセグメントにおける未使用コードが“0x33”および“0x77”であったとすると、該セグメント内に存在する“0x7E”は“0x33”にコード変換され、かつ、“0x7D”は“0x77”にコード変換される。なお、変換対象コードと未使用コードの対応関係については、例えば、変換対象コードに序列をつけておき、該序列に従い各特定コードに対して未使用コードを値が小さいものから順に割り当てるなどの規則を定めておくことによって、未使用コードに対応した変換対象コードを一意に決めることが可能である。
【0054】
上記のような未使用コードを利用したコード変換をセグメント毎に行うことにより、変換後のフレームのデータ量は、非同期網からの受信データの内容(変換対象コードがどの程度の割合で含まれているか)には関係なく一定となる。換言すれば、コード変換後のフレームのデータ量は、非同期網からの受信データのフレーム長にのみ依存して変動することになる。
【0055】
コード変換回路212によりコード変換されたフレームは、送信バッファ213に一時的に保存され、同期網インターフェイス12から伝えられるペイロードタイミングに合わせて、無効コード挿入回路214に与えられる。無効コード挿入回路214では、図7の(A9)に示すように、送信バッファ213から出力される隣り合うフレーム間のギャップ部分に、無効コードとしてフラグ“0x7E”が挿入される。図示の例では、ギャップ部分がnバイトの“0x7E”で埋められている。これにより、図7の(A10)に示すような同期網を伝送可能なフレームが生成され、該フレームが同期網インターフェイス12を介して同期網に送信される。
【0056】
上記のようにして伝送装置1から同期網に送信されたフレームは、該同期網に接続する他の伝送装置1内の同期網インターフェイス12で受信され、該受信フレームがコード逆変換ユニット30に与えられる。
【0057】
図9は、コード逆変換ユニット30における処理の流れを説明する図である。
コード逆変換ユニット30では、図9の(B1)に示すような同期網からの受信フレームが有効データ抽出回路301に与えられる。有効データ抽出回路301では、図9の(B2)に示すように、同期網インターフェイス12から受信フレームと一緒に伝えられるペイロードタイミングに合わせて、コードがフラグ“0x7E”に一致するギャップ部分が分離される。これにより、フレーム長フィールドの先頭からデータフィールド(FCSを含む)の末尾までの範囲が有効データ(HDLCフレーム)として抽出され、該有効データが受信バッファ302を介してセグメント再分割回路303およびカウンタ304に与えられる。
【0058】
セグメント再分割回路303では、図9の(B3)に示すように、有効データ抽出回路301からの有効データ(HDLCフレーム)よりフレーム長情報が抽出され、該フレーム長情報を基に、フレーム長フィールド以降のデータ(バイト列)におけるセグメントの区切り位置が計算される。そして、その計算結果に従って、フレーム長フィールド以降のデータが複数(N+1個)のセグメントに分割されると共に、該各セグメントの先頭にある未使用コード情報が抽出される。
【0059】
セグメント再分割回路303によりセグメント化されたフレームおよび各セグメントの未使用コード情報は、コード逆変換回路305に与えられえる。コード逆変換回路305では、図9の(B4)に示すように、セグメント再分割回路303からのフレームの各セグメントについて、未使用コード情報に一致するコードが含まれていた場合に、そのコードを逆変換する。例えば、前述した図7の(A8)において説明したコード変換例につい
ての逆変換を考えると、未使用コード情報が“0x33”および“0x77”のセグメントについて、該セグメント内に存在するコード“0x33”は、フラグと同一のコード“0x7E”に逆変換され、また、該セグメント内に存在するコード“0x77”は、エスケープコードと同一のコード“0x7D”に逆変換される。
【0060】
そして、各セグメントの未使用コードに一致するコードの逆変換が完了すると、図9の(B5)に示すように、各々のセグメントの先頭にある未使用コード情報が削除される。これにより、図9の(B6)に示すように、コード変換前の元のフレームが復元され、該フレームがコード逆変換回路305からフレーム検査回路306および遅延回路307にそれぞれ与えられる。
【0061】
フレーム検査回路306では、図9の(B7)に示すように、コード逆変換回路305で復元されたフレームについて、FCSフィールドの情報を基にFCSチェックが行わる。このFCSチェックによりフレーム長フィールドおよびデータフィールドが正常であることが確認されると、遅延回路307で遅延されると共にフレーム長フィールドおよびFCSフィールドが削除されてデータフィールドのみとされた、図9の(B8)に示すようなフレームがFCS演算回路308およびフレーム生成回路309にそれぞれ与えられる。
【0062】
FCS演算回路308では、遅延回路307から出力されるデータフィールドに対するFCSの演算が行われ、その演算結果がフレーム生成回路309に伝えられる。フレーム生成回路309では、図9の(B9)に示すように、遅延回路307から出力されるデータフィールドの先頭に、プリアンブルおよびSFDが付加されると共に、該データフィールドの末尾にFCS演算回路308で演算されたFCSの値が付加される。これにより、非同期網を伝送可能なフレームが生成され、該フレームが送信器310を介して非同期網に送信される。
【0063】
以上説明したように第1実施形態の伝送装置1によれば、同期網側に送信するコード変換後のフレームのデータ量が、非同期網側からの受信データの中身には依存せず、フレーム長にのみ依存するようになる。このため、非同期網を伝送されるデータの帯域をクライアント装置で制限するなどしておけば、伝送装置1におけるコード変換後のデータ量を容易に予測できるようになるため、同期網の回線使用効率を向上させることが可能である。
【0064】
次に、第2実施形態について説明する。
図10は、第2実施形態による伝送装置の構成を示すブロック図である。
図10に示す伝送装置1’は、前述した第1実施形態においてコード変換ユニット20およびコード逆変換ユニット30のハードウェア構成で処理していたコード変換/逆変換をソフトウェア的に処理するようにしたものであり、非同期網インターフェイス11’の構成が第1実施形態の場合とは相違する。
【0065】
非同期網インターフェイス11’は、例えば、LANコントローラ41、CPU42、メモリ43および送受信バッファ44を備える。LANコントローラ41は、非同期網の伝送路と、CPU42が具備するPCIバス等のインターフェイスとの間における、電気レベルおよび論理レベルの変換を行う。このLANコントローラ41は、例えば、DMA(Direct Memory Access)方式により、非同期網側からフレームを受信すると、CPU42に割込みを上げて、該フレームをメモリ43へ転送する。
【0066】
CPU42は、予め定められたアルゴリズムに従って、コード変換/逆変換の処理を実行する。メモリ43は、非同期網側および同期網側からの送受信フレームを一時的に蓄積すると共に、コード変換/逆変換の処理の途中で生成されるデータを収容することが可能
である。
【0067】
送受信バッファ44は、同期網インターフェイス12と、CPU42が具備するPCIバス等のインターフェイスとの間における、電気レベルおよび論理レベルの変換を行う。この送受信バッファ44は、例えば、DMA方式により、同期網インターフェイス12からのフレームを受信するとCPU42に割込みを上げて、該フレームをメモリ43へ転送する。また、送受信バッファ44は、同期網に送信するフレームをCPU42から受け取ると、同期網インターフェイス12から伝えられるペイロードタイミングに合わせて、該フレームを同期網インターフェイス12に出力すると共に、同期網に送信するフレームが無い場合は、無効コードとしてフラグ“0x7E”を同期網インターフェイス12に出力する。
【0068】
次に、第2実施形態の伝送装置1’の動作について、非同期インターフェイス11’のCPU42を中心にして実行されるコード変換処理およびコード逆変換処理の手順を詳しく説明する。
【0069】
図11は、コード変換処理の手順を示すフローチャートである。
非同期インターフェイス11’では、非同期網からのフレームがLANコントローラ41で受信されると、LANコントローラ41がCPU42に割込みを上げることにより、受信フレームがメモリ43へDMA転送される(図11のS101)。
【0070】
続いて、CPU42が、非同期網からの受信フレームについて、FCSフィールドの情報を基にFCSチェックを行い、データフィールドの正常性を判定する(S102)。FCSチェック結果が正常の場合、CPU42は、上記受信フレームのプリアンブル、SFDおよびFCSを削除してデータフィールドだけにしたフレームの長さを計算する(S103)。一方、FCSチェック結果がエラーの場合、CPU42は、上記受信フレームを破棄して(S104)、次の受信フレームがDMA転送されるのを待つ。
【0071】
上記S103でフレーム長が計算されると、CPU42は、データフィールドの先頭にフレーム長情報を付加したフレームについてのFCSの値を演算する(S105)。そして、CPU42は、演算したFCSの値を上記データフィールドの末尾に付加することにより、非同期網からのフレームをHDLCフレームにカプセル化した新たなフレームを生成する。
【0072】
続いて、CPU42は、上記フレームにおけるフレーム長フィールド以降のデータ(バイト列)を、先頭から順に(256−m)バイト単位で区切ることで、複数のセグメントに分割する(S106)。データのセグメント化が完了すると、CPU42は、各セグメントのデータについて、セグメント毎に未使用コードを検出し(S107)、その未使用コード情報を当該セグメントの先頭に付加する(S108)。
【0073】
そして、CPU42は、1つのセグメント内に存在する“0x7E”や“0x7D”等の変換対象コードを、該セグメントの未使用コードに変換する(S109)。上記S107〜S109の各処理は、全てのセグメントのコード変換が完了するまで繰り返し行われる(S110)。全てのセグメントのコード変換が完了したフレームは、送受信バッファ44にDMA転送される(S111)。
【0074】
送受信バッファ44は、同期網インターフェイス12から伝えられるペイロードタイミングに合わせて、CPU42側からDMA転送されるフレームを同期網インターフェイス12に出力すると共に、同期網に送信するフレームが無い場合は、無効コードとしてフラグ“0x7E”を同期網インターフェイス12に出力する。
【0075】
図12は、コード逆変換処理の手順を示すフローチャートである。
非同期インターフェイス11’では、同期網インターフェイス12からのフレームが送受信バッファ44に与えられると、送受信バッファ44がCPU42に割込みを上げることにより、同期網側からの受信フレームがメモリ43へDMA転送される(図12のS201)。
【0076】
続いて、CPU42が、同期網インターフェイス12から受信フレームと一緒に伝えられるペイロードタイミングに合わせて、コードがフラグ“0x7E”に一致するギャップ部分を分離することにより、フレーム長フィールドの先頭からデータフィールド(FCSを含む)の末尾までの範囲を有効データ(HDLCフレーム)として抽出する(S202)。
【0077】
受信フレームの有効データが抽出されると、CPU42は、該有効データより抽出したフレーム長情報を基に、フレーム長フィールド以降のデータ(バイト列)におけるセグメントの区切り位置を計算する(S203)。そして、その計算結果に従って、フレーム長フィールド以降のデータを複数のセグメントに分割すると共に、該各セグメントの先頭にある未使用コード情報を抽出する。
【0078】
データのセグメント化および未使用コード情報の抽出が完了すると、CPU42は、各セグメントについて、未使用コード情報に一致するコードが含まれていた場合に、そのコードを逆変換する(S203)。そして、CPU42は、各々のセグメントの先頭にある未使用コード情報を削除する(S204)。上記S203,S204の各処理は、全てのセグメントのコード逆変換が完了するまで繰り返し行われる(S205)。これにより、コード変換前の元のフレームが復元される。
【0079】
続いて、CPU42は、復元されたフレームについて、FCSフィールドの情報を基にFCSチェックを行い、フレーム長フィールドおよびデータフィールドの正常性を判定する(S206)。FCSチェック結果が正常の場合、CPU42は、上記フレームのフレーム長フィールドおよびFCSフィールドを削除してデータフィールドのみとしたフレームを生成する(S207)。一方、FCSチェック結果がエラーの場合、CPU42は、上記フレームを破棄して(S209)、次の受信フレームがDMA転送されるのを待つ。
【0080】
データフィールドのみのフレームが生成されると、CPU42は、該データフィールドに対するFCSの演算を行う。そして、CPU42は、データフィールドの先頭にプリアンブルおよびSFDを付加すると共に、該データフィールドの末尾にFCSの演算値を付加することにより、非同期網を伝送可能なフレームを復元する(S210)。復元されたフレームは、LANコントローラ41にDMA転送され(S211)、LANコントローラ41から非同期網に送信される。
【0081】
上記のように第2実施形態の伝送装置1’によれば、コード変換/逆変換をソフトウェア的に処理するようにしても、上述した第1実施形態の場合と同様の作用効果を実現することが可能であると共に、非同期網インターフェイスのハードウェア構成の簡略化が可能である。
【0082】
なお、上述した第1および第2実施形態では、イーサネット等からのフレームをSONET/SDH等に転送する一例を説明したが、例えば、イーサネットフレームをOTN(Optical Transport Network)に転送する場合にも本発明は有効である。
【0083】
具体的には、ITU−T.G709の17.6項で定義されているシリアルストリーム
の収容方法について、上述した各実施形態の場合と同様にして、イーサネットフレームのコード変換を行うと共に、フレーム間ギャップを“0x7E”等で埋める処理を行うことで、イーサネットフレームをシリアルデータ化する。そして、当該シリアルデータをOPUk(Optical Channel Payload Unit)のペイロードに格納してOTN側に転送する。また、OTN側からの受信フレームについては、OPUkペイロードを抽出した後に、“0x7E”等の無効コードを削除する。そして、得られたフレームに対して上述した各実施形態の場合と同様のコード逆変換を行い、イーサネットフレームを復元する。
【0084】
ただし、上記のようなOTNへの応用に関しては、GFP(Generic Frame Procedure)を使用したイーサネットフレームの収容方法もOTNに規定されているが、GFPフレームの有効領域を検出する方法が上記シリアルストリームの場合とは異なるため、本発明を適用することができない点、注意を要する。
【0085】
また、上述した第1および第2実施形態では、変換対象コードの具体例として、フラグと同一のコード“0x7E”と、エスケープコードと同一コード“0x7D”とを挙げたが、これら以外のコードでも特定の制御コードに該当するものであれば、変換対象コードとして取り扱うことが可能である。
【0086】
以上の各実施形態に関して、さらに以下の付記を開示する。
(付記1) 非同期網からの受信データを所定フォーマットのフレームに収容し、該フレーム内にある特定コードを異なるコードに変換して、同期網を伝送可能なフレームを生成する伝送装置であって、
前記受信データを収容した前記フレームを複数のセグメントに分割するセグメント分割手段と、
前記セグメント分割手段で分割された各セグメントにおける未使用コードを検出する未使用コード検出手段と、
前記未使用コード検出手段の検出結果を示す未使用コード情報を対応するセグメントにそれぞれ付加する未使用コード付加手段と、
前記セグメント分割手段で分割された各セグメント内にある前記特定コードを、前記未使用コード検出手段で検出された各セグメントの未使用コードにそれぞれ変換するコード変換手段と、
前記未使用コード付加手段により未使用コード情報が付加された各セグメントを含む前記フレームの間のギャップ部分に、無効を示すコードとして前記特定コードを挿入することにより、同期網を伝送可能なフレームを生成する無効コード挿入手段と、
を備えたことを特徴とする伝送装置。
【0087】
(付記2) 付記1に記載の伝送装置であって、
前記セグメント分割手段は、前記受信データを収容した前記フレームを、前記特定コードの種類の数に応じて設定した長さを基準にして先頭から順に区切ることで、複数のセグメントに分割することを特徴とする伝送装置。
【0088】
(付記3) 付記1または2に記載の伝送装置であって、
前記コード変換手段は、少なくともフラグと同一のコードおよびエスケープコードと同一のコードを前記未使用コードに変換することを特徴とする伝送装置。
【0089】
(付記4) 付記1〜3のいずれか1つに記載の伝送装置であって、
同期網を伝送されたフレームを受信し、該フレームより前記無効を示すコードに該当する領域を削除して有効データを抽出する有効データ抽出手段と、
前記有効データ抽出手段で抽出された有効データを前記複数のセグメントに再分割するセグメント再分割手段と、
前記セグメント再分割手段で分割された各セグメントに含まれる前記未使用コード情報を基に、各々のセグメント内の未使用コードに一致するコードの逆変換を行い、かつ、前記未使用コード情報を削除するコード逆変換手段と、を備え、
前記コード逆変換手段により復元されるコード変換前のフレームを用いて、非同期網を伝送可能なフレームを生成することを特徴とする伝送装置。
【0090】
(付記5) 付記4に記載の伝送装置であって、
前記受信データより抽出したデータフィールドの長さを計算し、その計算結果を示すフレーム長情報を前記データフィールドの先頭に付加すると共に、該フレーム長情報が付加されたデータフィールドのFCSを演算し、その演算結果を示すFCS情報を前記データフィールドの末尾に付加したフレームを生成することで、前記受信データを所定フォーマットのフレームに収容するフレーム生成手段を備え、
前記セグメント分割手段は、前記フレーム生成手段で生成されたフレームにおける前記フレーム長情報以降のデータを複数のセグメントに分割し、
前記セグメント再分割手段は、前記有効データ抽出手段で抽出された有効データに含まれる前記フレーム長情報を基に、該有効データにおける前記フレーム長情報以降のデータを前記複数のセグメントに再分割することを特徴とする伝送装置。
【0091】
(付記6) 付記5に記載の伝送装置であって、
前記コード変換手段は、複数の前記特定コードに序列をつけておき、該序列に従い各特定コードに対して、前記未使用コード検出手段で検出された各セグメントの複数の未使用コードを値が小さいものから順に割り当てることを特徴とする伝送装置。
【0092】
(付記7) 非同期網からの受信データを所定フォーマットのフレームに収容し、該フレーム内にある特定コードを異なるコードに変換して、同期網を伝送可能なフレームを生成する伝送方法であって、
前記受信データを収容した前記フレームを複数のセグメントに分割し、
該分割した各セグメントの未使用コードを検出し、その検出結果を示す未使用コード情報を対応するセグメントにそれぞれ付加し、
前記各セグメント内にある前記特定コードを、前記検出した各セグメントの未使用コードにそれぞれ変換し、
前記未使用コード情報を付加した各セグメントを含む前記フレームの間のギャップ部分に、無効を示すコードとして前記特定コードを挿入することにより、同期網を伝送可能なフレームを生成する、ことを特徴とする伝送方法。
【0093】
(付記8) 付記7に記載の伝送方法であって、
同期網を伝送されたフレームを受信し、該フレームより前記無効を示すコードに該当する領域を削除して有効データを抽出し、
該抽出した有効データを前記複数のセグメントに再分割し、
該再分割した各セグメントに含まれる前記未使用コード情報を基に、各々のセグメント内の未使用コードに一致するコードの逆変換を行い、かつ、前記未使用コード情報を削除することで、コード変換前のフレームを復元し、
該復元したフレームを用いて、非同期網を伝送可能なフレームを生成することを特徴とする伝送方法。
【符号の説明】
【0094】
1,1’…伝送装置
11,11’…非同期網インターフェイス
12…同期網インターフェイス
20…コード変換ユニット
30…コード逆変換ユニット
41…LANコントローラ
42…CPU
43…メモリ
44…送受信バッファ
201…受信器
202,306…フレーム検査回路
203…フレーム長計算回路
204…FCS演算回路
205,210…遅延回路
206,309…フレーム生成回路
207…セグメント分割回路
208,304…カウンタ
209…未使用コード検出回路
211…未使用コード情報付加回路
212…コード変換回路
213…送信バッファ
214…無効コード挿入回路
301…有効データ抽出回路
302…受信バッファ
303…セグメント再分割回路
305…コード逆変換回路
308…FCS演算回路
310…送信器

【特許請求の範囲】
【請求項1】
非同期網からの受信データを所定フォーマットのフレームに収容し、該フレーム内にある特定コードを異なるコードに変換して、同期網を伝送可能なフレームを生成する伝送装置であって、
前記受信データを収容した前記フレームを複数のセグメントに分割するセグメント分割手段と、
前記セグメント分割手段で分割された各セグメントにおける未使用コードを検出する未使用コード検出手段と、
前記未使用コード検出手段の検出結果を示す未使用コード情報を対応するセグメントにそれぞれ付加する未使用コード付加手段と、
前記セグメント分割手段で分割された各セグメント内にある前記特定コードを、前記未使用コード検出手段で検出された各セグメントの未使用コードにそれぞれ変換するコード変換手段と、
前記未使用コード付加手段により未使用コード情報が付加された各セグメントを含む前記フレームの間のギャップ部分に、無効を示すコードとして前記特定コードを挿入することにより、同期網を伝送可能なフレームを生成する無効コード挿入手段と、
を備えたことを特徴とする伝送装置。
【請求項2】
請求項1に記載の伝送装置であって、
前記セグメント分割手段は、前記受信データを収容した前記フレームを、前記特定コードの種類の数に応じて設定した長さを基準にして先頭から順に区切ることで、複数のセグメントに分割することを特徴とする伝送装置。
【請求項3】
請求項1または2に記載の伝送装置であって、
前記コード変換手段は、少なくともフラグと同一のコードおよびエスケープコードと同一のコードを前記未使用コードに変換することを特徴とする伝送装置。
【請求項4】
請求項1〜3のいずれか1つに記載の伝送装置であって、
同期網を伝送されたフレームを受信し、該フレームより前記無効を示すコードに該当する領域を削除して有効データを抽出する有効データ抽出手段と、
前記有効データ抽出手段で抽出された有効データを前記複数のセグメントに再分割するセグメント再分割手段と、
前記セグメント再分割手段で分割された各セグメントに含まれる前記未使用コード情報を基に、各々のセグメント内の未使用コードに一致するコードの逆変換を行い、かつ、前記未使用コード情報を削除するコード逆変換手段と、を備え、
前記コード逆変換手段により復元されるコード変換前のフレームを用いて、非同期網を伝送可能なフレームを生成することを特徴とする伝送装置。
【請求項5】
非同期網からの受信データを所定フォーマットのフレームに収容し、該フレーム内にある特定コードを異なるコードに変換して、同期網を伝送可能なフレームを生成する伝送方法であって、
前記受信データを収容した前記フレームを複数のセグメントに分割し、
該分割した各セグメントの未使用コードを検出し、その検出結果を示す未使用コード情報を対応するセグメントにそれぞれ付加し、
前記各セグメント内にある前記特定コードを、前記検出した各セグメントの未使用コードにそれぞれ変換し、
前記未使用コード情報を付加した各セグメントを含む前記フレームの間のギャップ部分に、無効を示すコードとして前記特定コードを挿入することにより、同期網を伝送可能なフレームを生成する、ことを特徴とする伝送方法。
【請求項6】
請求項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