(57)【要約】【課題】データ転送装置におけるＱｏｓ制御の精度をより向上させることのできる、データ転送装置を提供する。【解決手段】接続された一方の通信ネットワークを介して送信元装置より受信した通信データを、接続された他方の通信ネットワークを介して通信データを送信先装置へ転送するデータ転送装置であって、受信した通信データを解析して得た転送種別情報に基づいて、転送の際の送信フレーム長を予測する送信フレーム長予測手段と、送信フレーム長に基づいて、転送する通信データの送信帯域制御を行なう送信帯域制御手段とを備える。【選択図】図１
2007214779.tif 000002
【特許請求の範囲】
【請求項１】
接続された一方の通信ネットワークを介して送信元装置より受信した通信データを、接続された他方の通信ネットワークを介して前記通信データを送信先装置へ転送するデータ転送装置であって、
少なくとも前記受信した通信データを解析して得た転送種別情報に基づいて、前記転送の際の送信フレーム長を予測する送信フレーム長予測手段と、
少なくとも前記送信フレーム長に基づいて、前記転送する通信データの送信帯域制御を行なう送信帯域制御手段と、
を備えることを特徴とするデータ転送装置。
【請求項２】
前記転送種別情報が、挿入ヘッダの有無を示す情報を含み、
前記受信した通信データを解析して、前記挿入ヘッダの有無を検出する受信時挿入ヘッダ検出手段と、
前記受信した通信データを解析して、前記送信先装置への送信に利用される前記通信ネットワークの送信論理インタフェースを判定する送信論理インタフェース判定手段と、
予め前記送信論理インタフェース別に前記受信した通信データの転送時の挿入ヘッダの挿入有無の判定情報を記憶する、挿入ヘッダ挿入判定情報記憶手段と、を備え、
前記送信フレーム長予測手段は、受け取った転送種別情報に含まれる、送信論理インタフェースを識別する識別子に基づいて、前記挿入ヘッダ挿入判定情報記憶手段が記憶する、前記判定した送信論理インタフェースから送信先装置へ送信する際の挿入ヘッダの有無を読み出し、それら受信した通信データの挿入ヘッダの有無と、前記判定した送信論理インタフェースから前記送信先装置へ送信する際の挿入ヘッダの有無と、に基づいて、前記通信データのフレーム長の所定バイト数の加算もしくは減算を行なう
ことを特徴とする請求項１に記載のデータ転送装置。
【請求項３】
前記挿入ヘッダは、ＶＬＡＮタグ、ＰＰＰｏＥカプセル化、のうちの何れか一方または両方である
ことを特徴とする請求項２に記載のデータ転送装置。
【請求項４】
前記転送種別情報が、ＩＰｓｅｃカプセル化の有無とＩＰｓｅｃＳＡを示す情報を含み、
前記受信した通信データを解析して、前記送信先装置への送信に利用される前記通信ネットワークの送信論理インタフェースを判定する送信論理インタフェース判定手段と、
前記送信論理インタフェース別に前記受信した通信データの送信時のＩＰｓｅｃカプセル化の有無とＩＰｓｅｃＳＡを示す情報を記憶する、ＩＰｓｅｃカプセル化情報記憶手段と、を備え、
前記送信フレーム長予測手段は、受け取った転送種別情報に含まれる、送信論理インタフェースを識別する識別子に基づいて、ＩＰｓｅｃカプセル化情報記憶手段が記憶する、前記送信論理インタフェースからの送信時のＩＰｓｅｃカプセル化の有無と、ＩＰｓｅｃカプセル化有時のＩＰｓｅｃＳＡを示す情報に含まれる認証アルゴリズムおよび暗号アルゴリズムを読み出し、前記読み出した送信時のＩＰｓｅｃカプセル化の有無と、ＩＰｓｅｃカプセル化有時の認証アルゴリズムおよび暗号アルゴリズムと、前記転送種別情報に含まれる受信した通信データのＩＰパケット長と、に基づいて、前記通信データのフレーム長に所定のバイト数を加算もしくは減算する
ことを特徴とする請求項１から請求項３のいずれかに記載のデータ転送装置。
【請求項５】
前記送信フレーム長予測手段は、
プリアンブル、ＦＣＳ、最小ＩＦＧのデータ量のうち選択された何れか1つまたは複数、または、あて先ＭＡＣアドレスからＦＣＳ直前までのデータを示す基本のフレーム長に任意に指定したバイト数を加算して、前記送信フレーム長を計算する
ことを特徴とする請求項１から請求項４に記載のデータ転送装置。
【請求項６】
前記送信帯域制御手段は、
前記受信した通信データのフレームの転送先あるいは当該フレームの分類に応じたキューに、前記フレームから生成され内部の処理に使用され、かつ、少なくとも送信フレーム長予測手段が予測した送信フレーム長を含むジョブ情報を入力し、
前記キューの各々からのジョブ情報の出力を制御し、
前記キューの各々から前記ジョブ情報を取り出す際に、前記送信フレーム長を用いて、前記ジョブ情報を取り出すキューの選択またはその取り出すタイミングを制御する
ことを特徴とする請求項１から請求項５に記載のデータ転送装置。
【請求項７】
前記送信帯域制御手段は、
前記キューの各々からのジョブ情報を取り出す際に、重み付け公平制御を含む制御を行い、
前記重み付け公平制御の重み付け演算の指標として、前記送信フレーム長を用いる
ことを特徴とする請求項１から請求項６に記載のデータ転送装置。
【請求項８】
前記送信帯域制御手段は、
前記キューの各々からのジョブ情報を取り出す際に、帯域平滑化制御を含む制御を行い、
前記帯域平滑化制御の帯域演算の指標として、前記送信フレーム長を用いる
ことを特徴とする請求項１から請求項７に記載のデータ転送装置。
【請求項９】
前記受信した通信データを解析し、少なくとも前記転送種別情報を生成する通信データ解析手段と、
通信データメモリを有し、受信した通信データを含む受信通信データ情報を前記通信データメモリに書き込み、前記送信帯域制御手段による制御に基づいて、前記転送する通信データに対応する受信通信データ情報を前記通信データメモリから読み出す、通信データバッファリング手段と、
前記通信データバッファリング手段が読み出した前記受信通信データ情報に含まれる前記転送する通信データと、前記転送種別情報を含むフレーム生成情報に基づいて、前記転送する通信データの送信フレームを生成する送信フレーム生成手段と、
を備えることを特徴とする請求項１に記載のデータ転送装置。
【請求項１０】
接続された一方の通信ネットワークを介して送信元装置より受信した通信データを、接続された他方の通信ネットワークを介して前記通信データを送信先装置へ転送するデータ転送装置におけるデータ転送方法であって、
少なくとも前記受信した通信データを解析して得た転送種別情報に基づいて、前記転送の際の送信フレーム長を予測し、
少なくとも前記送信フレーム長に基づいて、前記転送する通信データの送信帯域制御を行なう
ことを特徴とするデータ転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、接続された一方の通信ネットワークを介して送信元装置より受信した通信データを、接続された他方の通信ネットワークを介して送信先装置へ転送する際に、Ｑｏｓ制御を行なうデータ転送装置およびデータ転送方法に関する。
【背景技術】
【０００２】
近年、接続された一方の通信ネットワークを介して送信元装置より受信した通信データを、接続された他方の通信ネットワークを介して送信先装置へ転送するデータ転送装置において、高速にデータ転送処理が行なわれることが求められている。この転送処理の中で、データ転送装置は、各インタフェースで受信したデータを、インタフェースで共有する共有バッファに蓄積し、各受信したデータの転送先の決定や、Ｑｏｓ制御に必要な情報のみをジョブ情報として抽出し、当該各受信したデータの転送先の決定や、Ｑｏｓ制御の処理を行なっている。なお、従来のデータ転送装置としてギガビットイーサネット（登録商標）スイッチの技術が公開されている（非特許文献１参照）。
【非特許文献１】“１チップ  １０Ｇビット  イーサネット（登録商標）スイッチ  ＭＢ８７Ｑ３０５０”、「online」、「平成１７年７月２８日検索」、インターネット＜ＵＲＬ：http://edevice.fujitsu.com/jp/catalog/find/21-6j/pdf/16-19.pdf＞
【発明の開示】
【発明が解決しようとする課題】
【０００３】
上述のようなデータ転送装置では、受信した通信データ全てを順じ各処理部に転送しながら転送先の決定や、Ｑｏｓ制御の処理を行なう場合に比べて、ジョブ情報のようなデータ量が小さい情報のみを用いて各演算処理部に順じ受け渡して、各演算を行なうため、より高速にデータ転送処理を行なうことができる。また、各演算処理部は、処理中に通信データ全体を一時保留させるバッファの変わりに、データ量の小さいジョブ情報を一時保留させるバッファのみを各演算処理部に備えるだけでよく、また通信データについては１つの共有バッファを備えるだけでよいので、バッファを制御する回路を削減する事ができる。
【０００４】
このようなデータ転送装置においては、従来、受信した通信データのパケット長を用いて、Ｑｏｓ制御の処理を行なっていた。しかしながら、通常、通信データはデータ転送装置内の各演算処理部が送信フレーム長の増減を伴う各種演算を行ない、転送先確定後にフレーム長の増減の生じた送信フレームを加工して転送先装置へ転送する。従って、受信時の通信データのフレーム長の情報を用いてＱｏｓ制御を行なうと、過去に受信したときの情報に基づいてＱｏｓ制御を行なうことになるので、各演算処理部による影響、すなわち、各演算処理部によって生じるフレーム長の増減が考慮されていないため、Ｑｏｓの精度が劣化する。
【０００５】
そこでこの発明は、データ転送装置におけるＱｏｓ制御の精度をより向上させることのできる、データ転送装置およびデータ転送方法を提供することを目的としている。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明は、接続された一方の通信ネットワークを介して送信元装置より受信した通信データを、接続された他方の通信ネットワークを介して前記通信データを送信先装置へ転送するデータ転送装置であって、少なくとも前記受信した通信データを解析して得た転送種別情報に基づいて、前記転送の際の送信フレーム長を予測する送信フレーム長予測手段と、少なくとも前記送信フレーム長に基づいて、前記転送する通信データの送信帯域制御を行なう送信帯域制御手段と、を備えることを特徴とするデータ転送装置である。
【０００７】
また本発明は、前記転送種別情報が、挿入ヘッダの有無を示す情報を含み、前記受信した通信データを解析して、前記挿入ヘッダの有無を検出する受信時挿入ヘッダ検出手段と、前記受信した通信データを解析して、前記送信先装置への送信に利用される前記通信ネットワークの送信論理インタフェースを判定する送信論理インタフェース判定手段と、予め前記送信論理インタフェース別に前記受信した通信データの転送時の挿入ヘッダの挿入有無の判定情報を記憶する、挿入ヘッダ挿入判定情報記憶手段と、を備え、前記送信フレーム長予測手段は、受け取った転送種別情報に含まれる、送信論理インタフェースを識別する識別子に基づいて、前記挿入ヘッダ挿入判定情報記憶手段が記憶する、前記判定した送信論理インタフェースから送信先装置へ送信する際の挿入ヘッダの有無を読み出し、それら受信した通信データの挿入ヘッダの有無と、前記判定した送信論理インタフェースから前記送信先装置へ送信する際の挿入ヘッダの有無と、に基づいて、前記通信データのフレーム長の所定バイト数の加算もしくは減算を行なうことを特徴とする。
【０００８】
また本発明は、前記転送時挿抜ヘッダは、ＶＬＡＮタグ、ＰＰＰｏＥカプセル化、のうちの何れか一方または両方であることを特徴とする。
【０００９】
また本発明は、前記転送種別情報が、ＩＰｓｅｃカプセル化の有無とＩＰｓｅｃＳＡを示す情報を含み、前記受信した通信データを解析して、前記送信先装置への送信に利用される前記通信ネットワークの送信論理インタフェースを判定する送信論理インタフェース判定手段と、前記送信論理インタフェース別に前記受信した通信データの送信時のＩＰｓｅｃカプセル化の有無とＩＰｓｅｃＳＡを示す情報を記憶する、ＩＰｓｅｃカプセル化情報記憶手段と、を備え、前記送信フレーム長予測手段は、受け取った転送種別情報に含まれる、送信論理インタフェースを識別する識別子に基づいて、ＩＰｓｅｃカプセル化情報記憶手段が記憶する、前記送信論理インタフェースからの送信時のＩＰｓｅｃカプセル化の有無と、ＩＰｓｅｃカプセル化有時のＩＰｓｅｃＳＡを示す情報に含まれる認証アルゴリズムおよび暗号アルゴリズムを読み出し、前記読み出した送信時のＩＰｓｅｃカプセル化の有無と、ＩＰｓｅｃカプセル化有時の認証アルゴリズムおよび暗号アルゴリズムと、前記転送種別情報に含まれる受信した通信データのＩＰパケット長と、に基づいて、前記通信データのフレーム長に所定のバイト数を加算もしくは減算することを特徴とする。
【００１０】
また本発明は、上述のデータ転送装置において、前記送信フレーム長予測手段は、プリアンブル、ＦＣＳ、最小ＩＦＧのデータ量のうち選択された何れか1つまたは複数、または、あて先ＭＡＣアドレスからＦＣＳ直前までのデータを示す基本のフレーム長に任意に指定したバイト数を加算して、前記送信フレーム長を計算することを特徴とする。
【００１１】
また本発明は、上述のデータ転送装置において、前記送信帯域制御手段が、前記受信した通信データのフレームの転送先あるいは当該フレームの分類に応じたキューに、前記フレームから生成され内部の処理に使用され、かつ、少なくとも送信フレーム長予測手段が予測した送信フレーム長を含むジョブ情報を入力し、前記キューの各々からのジョブ情報の出力を制御し、前記キューの各々から前記ジョブ情報を取り出す際に、前記送信フレーム長を用いて、前記ジョブ情報を取り出すキューの選択またはその取り出すタイミングを制御することを特徴とする。
【００１２】
また本発明は、上述のデータ転送装置において、前記送信帯域制御手段が、前記キューの各々からのジョブ情報を取り出す際に、重み付け公平制御を含む制御を行い、前記重み付け公平制御の重み付け演算の指標として、前記送信フレーム長を用いることを特徴とする。
【００１３】
また本発明は、上述のデータ転送装置において、前記送信帯域制御手段が、前記キューの各々からのジョブ情報を取り出す際に、帯域平滑化制御を含む制御を行い、前記帯域平滑化制御の帯域演算の指標として、前記送信フレーム長を用いることを特徴とする。
【００１４】
また本発明は、上述のデータ転送装置が、前記受信した通信データを解析し、少なくとも前記転送種別情報を生成する通信データ解析手段と、通信データメモリを有し、受信した通信データを含む受信通信データ情報を前記通信データメモリに書き込み、前記送信帯域制御手段による制御に基づいて、前記転送する通信データに対応する受信通信データ情報を前記通信データメモリから読み出す、通信データバッファリング手段と、前記通信データバッファリング手段が読み出した前記受信通信データ情報に含まれる前記転送する通信データと、前記転送種別情報を含むフレーム生成情報に基づいて、前記転送する通信データの送信フレームを生成する送信フレーム生成手段と、を備えることを特徴とする。
【００１５】
また本発明は、接続された一方の通信ネットワークを介して送信元装置より受信した通信データを、接続された他方の通信ネットワークを介して前記通信データを送信先装置へ転送するデータ転送装置におけるデータ転送方法であって、前記受信した通信データを解析して得た転送種別情報に基づいて、前記転送の際の送信フレーム長を予測し、少なくとも前記送信フレーム長に基づいて、前記転送する通信データの送信帯域制御を行なうことを特徴とするデータ転送方法である。
【発明の効果】
【００１６】
本発明によれば、転送処理におけるＱｏｓの制御において、受信フレームではなく、転送時の送信フレームのフレーム長を用いてＱｏｓ制御を行なっている。つまり、転送先へ転送するフレーム長を反映したＱｏｓ制御を行なっているので、従来の様に、受信時の過去の情報を用いてＱｏｓ制御を行なう場合に比べて、より精度良いＱｏｓの制御を行なうことができる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明の実施形態を図面を参照して説明する。
図１は、本発明の第１実施形態によるデータ転送装置の構成を示す概略ブロック図である。
この図において、データ転送装置１は、ＧＭＩＩ（Gigabit Medium Independent Interface）やＭＩＩ(Medium Independent Interface)の規格のインタフェースを介してＷＡＮに接続する物理Ｉ／Ｆ（Interface）１００、ＬＡＮに接続する物理Ｉ／Ｆ１１０を備え、ＬＡＮ側から送信されるパケットをＷＡＮ側へ転送し、また、ＷＡＮ側から送信されるパケットをＬＡＮ側へ転送する。本実施形態のデータ転送装置１では、ＯＳＩの第３層にあたるネットワーク層では、ＩＰｖ４あるいはＩＰｖ６のパケットの送受信を行い、ＯＳＩの第２層にあたるデータリンク層では、イーサネット（登録商標）のフレームの送受信を行う。以下、第２層に係る処理については送受信されるものについてはフレームと記載し、第３層に係る処理について送受信されるデータ、すなわちフレームからＭＡＣヘッダが除かれたものについてはパケットと記載する。
【００１８】
データ転送装置１は、転送処理の高速化を図るため半導体素子で構成される通信処理回路２と、ＣＰＵ（中央処理部：Central Processing Unit）４と、ＤＤＲ−ＳＤＲＡＭ（Double Data Rate-Synchronous Dynamic Random Access Memory）３とを備えている。なおＤＤＲ−ＳＤＲＡＭ３以外のメモリでも対応可能である。また通信処理回路２とＣＰＵ４とメモリ（ＤＤＲ−ＳＤＲＡＭ３など）と物理Ｉ／Ｆ１００，１１０は、別チップの構成となっているが、通信処理回路と他のいくつかを同一チップ上に組み合わせたものであってもよい。
【００１９】
ＤＤＲ−ＳＤＲＡＭ３（通信データメモリ）は、半導体記憶素子であり、一定容量値、例えば２キロバイトごとに領域分割され、フレーム長が長いフレームであっても、短いフレームであっても分割した１つの領域を割り当てて記憶する。なお、分割されたそれぞれの領域は、ハンドル管理部１８が付与するハンドル番号に対応付けられる。
【００２０】
ＣＰＵ４は、主に通信処理回路２で転送処理を行うことができないフレームを通信処理回路２から受信し、受信したフレームに対する転送先を検出する等の処理を予め内部で動作するソフトウェアに基づいて行う。ＣＰＵ４が備えるドライバ４ａは、通信処理回路２がＣＰＵ４に入力するパケットのＣＰＵ４の内部のメモリへの書き込み及び読み出しを行い、また、通信処理回路２の各機能部の動作を制御する情報の設定を各機能部に対して行う。
【００２１】
通信処理回路２において、ＷＡＮ用ＭＡＣ(Media Access Control)Ｉ／Ｆ１１は、ＷＡＮに接続される物理Ｉ／Ｆ１００へ接続する接続インタフェースである。ＬＡＮ用ＭＡＣＩ／Ｆ１２は、ＬＡＮに接続される物理Ｉ／Ｆ１１０へ接続する接続インタフェースである。ＷＡＮ用ＭＡＣＩ／Ｆ１１及び、ＬＡＮ用ＭＡＣＩ／Ｆ１２は、上記したＧＭＩＩ及びＭＩＩに準拠した規格を有し、送受信するイーサネット（登録商標）のフレーム（以下、フレームと記載）に対してＩＥＥＥ８０２．３準拠のＭＡＣ処理を行い、また、物理Ｉ／Ｆ１００あるいは１１０との間で送受信されるフレームに対してＣＲＣ（Cyclic Redundancy Check）処理などを行う。
【００２２】
ＩＰｓｅｃ（Internet Protocol Security）部は、ＷＡＮ用ＭＡＣＩ／Ｆ１１に接続され、ＲＦＣ(Request for Comments)２４０６準拠のＩＰｓｅｃ処理に基づく暗号化処理をＷＡＮに送信するパケットに対して行い、また、ＷＡＮから受信するパケットに対して復号化処理を行う。ここで、ＲＦＣ２４０６準拠のＩＰｓｅｃ処理とは、ＲＦＣ２４０３／２４０４準拠のＨＭＡＣ−ＭＤ５（Keyed Hashing for Message Authentication Code-Message Digest 5）やＨＭＡＣ−ＳＨＡ−１（HMAC-Secure Hash Algorithm-1）の認証機能や、ＲＦＣ２４１０／２４５１のＮＵＬＬ，ＣＢＣ−ＡＥＳ（Cipher Block Chaining - Advanced Encryption Standard）の暗号機能などによるＩＰｖ４及びＩＰｖ６パケットに対する暗号化及び復号化処理である。
【００２３】
書き込みスケジューラ部１４は、ＩＰｓｅｃ部１３と、ＬＡＮ用ＭＡＣＩ／Ｆ１２と、ＣＰＵ４に接続するＣＰＵＩ／Ｆ１５とに接続され、ラウンドロビン方式により、ＩＰｓｅｃ部１３と、ＬＡＮ用ＭＡＣＩ／Ｆ１２と、ＣＰＵＩ／Ｆ１５の順に、これら３つの機能部によって情報が付加されたフレーム（以下、前記３つの機能部によって情報が付加されたフレームをフレーム情報と記載）を出力する。
【００２４】
ＣＰＵＩ／Ｆ１５は、通信処理回路２の各機能部と、書き込みスケジューラ部１４と、メモリコントローラ部１７とＣＰＵ４とに接続され、メモリコントローラ部１７から出力されるフレーム情報をＣＰＵ４に入力する。また、ＣＰＵ４から出力されるフレームを書き込みスケジューラ部１４に入力する。また、ＣＰＵ４が通信処理回路２の各機能部に対して設定を行う際、ＣＰＵＩ／Ｆ１５は、設定情報を該当する機能部に入力する。
【００２５】
ＤＤＲ−ＳＤＲＡＭＩ／Ｆ１９は、メモリコントローラ部１７とＤＤＲ−ＳＤＲＡＭ３に接続され、メモリコントローラ部１７とＤＤＲ−ＳＤＲＡＭ３の間でフレームの入出力を行う。
【００２６】
フレーム生成部１６は、予めＣＰＵ４のドライバ４ａから設定される情報に基づいて、メモリコントローラ部１７から出力されるフレームに対して送信先の論理インタフェースに応じたＶＬＡＮ（Virtual Local Aria Network）タグやＰＰＰｏＥ（Point to Point Protocol over Ethernet（登録商標））ヘッダの挿入を行い、当該挿入を行ったフレームを出力する。また、フレーム生成部１６は、宛先ＭＡＣアドレスの付け替え、ＮＡＴ(Network Address Translation)／ＮＡＰＴ（Network Address Port Translation）のためのＩＰアドレス及びポート番号の付け替えを行う。また、フレーム生成部１６は、ＩＰｓｅｃ部１３に出力するフレーム対してＩＰｓｅｃＳＡ（Security Association）の情報の付加を行う。また、フレーム生成部１６は、ＤＳＣＰ（DiffServ Code Point）のＩＰパケットのヘッダへの付加、ＶＬＡＮ  ｐｒｉｏｒｉｔｙのフレームのヘッダへの付加を行う。ＤＳＣＰやＶＬＡＮ  ｐｒｉｏｒｉｔｙは、優先制御の際に参照される品質クラス情報となる。ここで、品質クラス情報とは、転送されるフレームに含まれる情報の種別を分類する分類情報であり、分類情報によって示される情報の種別が例えば音声の場合には、当該分類種別を有するフレームには遅延が少ない高い品質の通信処理が適用されることになる。
【００２７】
ハンドル管理部１８は、ＱｏＳ（Quality of Service）部７０と、メモリコントローラ部１７とに接続され、ＤＤＲ−ＳＤＲＡＭ３の分割された領域のそれぞれに対応するハンドル番号に基づいてＤＤＲ−ＳＤＲＡＭ３の分割された領域の空塞管理を行う。ここで、空塞管理とは、メモリコントローラ部１７へは空きハンドル番号を出力して使用中のハンドル番号として管理し、ＱｏＳ部７０から入力されるフレーム破棄により返却対象となるハンドル番号や、送信により返却対象となるハンドル番号については領域が空きとなるため、空きのハンドル番号として管理する。また、ハンドル管理部１８は、マルチキャストフレームの場合には、マルチキャストの回数分送信が終了するまで、フレームを削除できないため、ＱｏＳ部７０が、メモリコントローラ部１７にジョブ情報を出力した情報を図１に示すＱｏＳ部７０からメモリコントローラ部１７へ直接接続する接続線から分岐する線により参照して、送信開始時に定められるマルチキャストの回数を管理する。
【００２８】
メモリコントローラ部１７は、書き込みスケジューラ部１４と、フレーム生成部１６と、ＤＤＲ−ＳＤＲＡＭＩ／Ｆ１９と、パーサ部３０と、ハンドル管理部１８と、ＱｏＳ部７０とに接続されている。メモリコントローラ部１７は、書き込みスケジューラ部１４から入力されるフレーム情報に対し、ハンドル管理部１８から付与された空きハンドルのハンドル番号に対応するＤＤＲ−ＳＤＲＡＭ３の分割された領域に、ＤＤＲ−ＳＤＲＡＭＩ／Ｆ１９を介してＤＤＲ−ＳＤＲＡＭ３に書き込む。また、メモリコントローラ部１７は、書き込みスケジューラ部１４から入力されるフレーム情報に対し、ハンドル管理部１８から付与されたハンドル番号を付加してパーサ部３０に出力する。また、メモリコントローラ部１７は、後述するＱｏＳ部７０から出力されるジョブ情報に含まれるハンドル番号に対応するＤＤＲ−ＳＤＲＡＭ３の領域からＤＤＲ−ＳＤＲＭＩ／Ｆ１９を介してフレーム情報を読み出し、読み出したフレーム情報に対してジョブ情報に基づく情報を付加し、フレーム生成部１６に出力、あるいはＣＰＵＩ／Ｆ１５を介してＣＰＵ４に出力する。
【００２９】
パーサ部３０は、メモリコントローラ部１７によりハンドル番号が付加されたフレーム情報に対して解析を行い、フレーム情報から転送処理に係る情報であるヘッダ情報などを抽出し、解析結果情報としてメモリコントローラ部１７が付加したハンドル番号等の情報とともに出力する。
【００３０】
検索部４０は、パーサ部３０から入力される解析結果情報に基づいて、予めＣＰＵ４により検索部４０の内部に設定される転送条件情報を参照し、転送条件情報に基づいて、当該フレームを破棄するか、通過させるか、ＣＰＵ４へ転送、すなわちＣＰＵ４へ入力するかを示すフィルタ検索結果情報、及び品質クラスなどの情報を示す分類検索結果、ＶＬＡＮタグの有無やＰＰＰｏＥ（Point to Point Protoco over Ethernet（登録商標））カプセル化の有無（挿入ヘッダの有無）やＩＰｓｅｃ（Internet Protocol Security）カプセル化の有無などの転送時のフレームの種別を判定する為の転送種別情報などを検出する。なお、転送種別情報は、ＶＬＡＮタグ、ＰＰＰｏＥカプセル化、ＩＰｓｅｃカプセル化の、各有無を直接指定する情報でなくともよく、これらの情報を、複数個記憶するテーブルを設け、このテーブルが記憶したこれらの情報のうち、何れを使用するかを示す、前記テーブルのエントリ番号であってもよい。そして、検索部４０は検出したフィルタ検索結果情報、分類検索結果、転送種別情報と、パーサ部３０から入力される解析結果情報の一部の情報、例えばフレーム長等とをＣＰＵ転送判定部６１に出力する。ここで、転送条件情報に含まれる条件としては、ＭＡＣアドレス、ＩＰアドレス、ポート番号などがあり、解析結果情報に含まれるフレームのヘッダ情報がこれらの転送条件情報に一致するか否かの検索が行われる。またパーサ部３０と検索部４０とにより通信データ解析手段を構成している。
【００３１】
ＣＰＵ転送判定部６１は、検索部４０においてＣＰＵ４へ転送する要因があるとして検出されたフレームに対して、ＣＰＵ転送要因を示す情報、すなわちＣＰＵ転送要因フラグを付与し、ＣＰＵ４へ転送するか、あるいは破棄するかを判定し、判定した判定結果情報を、検索部４０から出力されるジョブ情報に格納して出力する。
【００３２】
キュー選択部６２は、ＣＰＵ転送判定部６１から入力されるジョブ情報に含まれる品質クラス情報や送信先の論理Ｉ／Ｆの情報に基づいてＱｏＳ部７０がキューを選択する際に参照するキュー番号を検出し、ＣＰＵ転送判定部６１から出力されるジョブ情報に、検出したキュー番号を格納したジョブ情報を出力する。
【００３３】
ＱｏＳ部７０は、キュー選択部６２から出力されるジョブ情報に含まれる転送種別情報に基づいて転送するフレーム長（送信フレーム長）を計算して、当該ジョブ情報に格納し、またジョブ情報に格納されるキュー番号に基づいて、生成したジョブ情報を該当するキューに記録する。また、ＱｏＳ部７０は、キューに記録されているジョブ情報を優先度に基づいて読み出し、メモリコントローラ部１７へ出力（送信帯域制御手段による制御）する。この時、優先度を計算するために送信フレーム長が利用される。また、メモリコントローラ部１７へ出力する際に、ハンドル番号を返却するためハンドル管理部１８へ出力する。なお本実施形態においては、キュー選択部６２とＱｏＳ部７０とにより送信帯域制御手段を構成しており、またメモリコントローラ部１７とハンドル管理部１８とにより通信データバッファリング手段を構成している。
【００３４】
ここで、ジョブ情報とは、ＷＡＮ用ＭＡＣＩ／Ｆ１１やＬＡＮ用ＭＡＣＩ／Ｆ１２から送信されるフレームに対しては、受信フレーム長、受信フレームのＶＬＡＮタグの有無、受信フレームのＰＰＰｏＥカプセル化の有無、送信フレーム長、送信論理Ｉ／Ｆ番号、宛先ＭＡＣアドレス、ＮＡＴ／ＮＡＰＴ指定、ＤＳＣＰやＶＬＡＮ  ｐｒｉｏｒｉｔｙ等の情報に対応する品質クラス、ハンドル番号、転送種別情報｛ＶＬＡＮタグの有無やＰＰＰｏＥカプセル化の有無（挿入ヘッダの有無）を格納している｝、ＩＰｓｅｃカプセル化の有無等の情報から構成されている。また、ＣＰＵ４に転送されるフレームに対しては、ジョブ情報は、受信フレーム長、送信フレーム長、受信論理Ｉ／Ｆ、ＣＰＵ転送理由、品質クラス、ハンドル番号等の情報から構成される。
【００３５】
なお、ＣＰＵ転送判定部６１において破棄すると判定されたフレームついてはＣＰＵ転送判定部６１あるいはＱｏＳ部７０のいずれかにより破棄されることとなる。
【００３６】
図２は、通信処理回路に係るＱｏＳ部の内部構成を詳細に示す図である。この図は、ＣＰＵ４に入力されるフレームに対する優先制御を実行するための構成であるフレーム解析部３１、フレーム検索部４１、キュー入力部６０、ＱｏＳ部７０の機能部の関係を示したブロック図である。
【００３７】
フレーム解析部３１は、パーサ部３０の内部に備えられる機能部であり、メモリコントローラ部１７から入力されるフレーム情報がＣＰＵ転送要因を有するフレームであるか否かを予め内部に記憶しているフレーム解析条件情報に基づいて解析し、解析結果情報をハンドル番号等の付加情報とともにフレーム検索部４１に出力する。
【００３８】
フレーム検索部４１は、上述した転送条件情報に対応するフィルタ・分類検索テーブル４２を内部に備えており、フレーム解析部３１から入力される解析結果情報及び付加情報に基づいて、フィルタ・分類検索テーブル４２から当該解析結果情報及び当該付加情報に一致する検索条件を検索し、検索条件に対応するフィルタ検索結果情報及び分類検索結果情報を検出する。またフレーム検索部４１は、上述の解析結果情報に基づいて、ＶＬＡＮタグの有無やＰＰＰｏＥカプセル化の有無やＩＰｓｅｃカプセル化の有無などの転送時のフレームの種別を示す転送種別情報などを検出する。またフレーム検索部４１は受信フレームを転送する際に利用する送信論理インタフェースを検出する。そして、フレーム検索部４１は、検出したフィルタ検索結果情報及び分類検索結果情報と、フレーム解析部３１から入力される解析結果情報及び付加情報と、検出した転送種別情報および受信フレームの転送時に利用する送信論理インタフェースとを少なくとも含むジョブ情報を出力する。
【００３９】
なお、フレーム検索部４１は、フレーム解析部３１において、ＣＰＵ転送要因有りとして解析された情報に対しては、検索処理は行わず図２に示すフレーム解析部３１からＣＰＵ転送判定部６１に繋がる破線で示されるように転送のみを行う。
【００４０】
キュー入力部６０は、上述したＣＰＵ転送判定部６１とキュー選択部６２とを備えており、内部にＣＰＵ転送要因・キュー選択テーブル６５を有している。キュー入力部６０に係るＣＰＵ転送判定部６１は、ＣＰＵ転送要因を有するフレームについて、ＣＰＵ転送要因のそれぞれに対して予め割り当てられる一意に識別可能なＣＰＵ転送要因フラグをジョブ情報に付与する。また、ＣＰＵ転送判定部６１は、付与したＣＰＵ転送要因フラグに基づいて、ＣＰＵ転送判定部６１がＣＰＵ転送要因・キュー選択テーブル６５を参照し、ＣＰＵ転送用のキュー番号の割り当てを行い、割り当てたキュー番号を、フレーム検索部４１あるいはフレーム解析部３１から入力されるジョブ情報に格納して出力する。
【００４１】
ＱｏＳ部７０は、送信フレーム長計算部７４と、ジョブ情報分配部７５と、ＬＡＮ転送用キュー７１と、ＷＡＮ転送用キュー７２と、ＣＰＵ転送用キュー７３と、キュー出力部７６とを備えている。またこの他、破棄判定部なども構成として備えている。ＬＡＮ転送用キュー７１、ＷＡＮ転送用キュー７２、ＣＰＵ転送用キュー７３は、それぞれ複数のキュー７１−１〜７１−Ｌ、キュー７２−１〜７２−Ｍ、キュー７３−１〜７３−Ｎを有しており、ＦＩＦＯ（First In First Out）の方式でジョブ情報の蓄積を行う。
【００４２】
送信フレーム長計算部７４は、ジョブ情報に格納されている、ＶＬＡＮタグの有無やＰＰＰｏＥカプセル化の有無（挿入ヘッダの有無）やＩＰｓｅｃカプセル化の有無などの転送時のフレームの種別を示す転送種別情報や、送信先装置へ転送する際の送信論理インタフェース番号や、予めメモリなどに記憶している送信先装置への転送時の挿入ヘッダの挿入有無や、予めメモリなどに記憶している送信先装置への転送時のＩＰｓｅｃカプセル化の有無に基づいて、転送時の送信フレーム長を計算する処理を行なう。この送信フレーム長は、後述する処理により、ジョブ情報のキューからの出力のスケジューリング（重み付け公平制御）や、レートリミット（上限帯域制限）や、シェ−ピング（帯域平滑化）などのＱｏｓ制御の処理に利用されるものである。またジョブ情報分配部７５は、ジョブ情報内のキュー番号に基づいてＣＰＵ転送用キュー７３の該当するキュー７３−１〜７３−Ｎにジョブ情報を記録する。
【００４３】
キュー出力部７６は、ＬＡＮ転送用キュー７１、ＷＡＮ転送用キュー７２、ＣＰＵ転送用キュー７３のそれぞれについて、ＦＩＦＯ方式に従って優先度の高いキューに蓄積されているジョブ情報であって、最先に入力されたジョブ情報を読み出し、メモリコントローラ部１７へ出力するとともに、当該ジョブ情報のハンドル番号をハンドル管理部１８に出力する。
【００４４】
なお、ＬＡＮ及びＷＡＮに向けて転送される情報については、キュー選択部６２が入力される送信先の論理Ｉ／Ｆと、品質クラス情報に含まれるＰｒｉｍａｒｙ／Ｓｅｃｏｎｄａｒｙの仮想キュー番号とから物理キュー番号を選択し、ジョブ情報分配部７５は、当該物理キュー番号に応じたＬＡＮ転送用キュー７１及びＷＡＮ転送用キュー７２にジョブ情報を入力する。ここで、キュー出力部７６ではＰｒｉｍａｒｙキューへの入力を試み、入力できない場合はＳｃｏｎｄａｒｙキューへの入力を試み、それでも入力できない場合には破棄を行う為のものである。また仮想キュー番号は、物理的キュー（ＦＩＦＯ回路）が送信物理Ｉ／Ｆと結合されているので、分類結果として物理的なキューを決定する（どのＦＩＦＯ回路にジョブ情報を入力するかを決定する）と、フィルタ・分類検索でルーティング検索まで実施したことになってしまう、という問題を解決する（フィルタ・分類検索とルーティング検索を分離する）ためのものである。
【００４５】
図３は送信フレーム長の予測処理の処理フローを示す図である。
次に、図３を参照し、送信フレーム長の予測処理について説明する。
送信フレーム長計算部７４は、ジョブ情報を受付けると、当該ジョブ情報に含まれる送信論理Ｉ／Ｆ番号を読み取る（ステップＳ１）。そして、この送信論理Ｉ／Ｆ番号に対応付けられて、送信論理Ｉ／Ｆテーブルに記録されている、ＶＬＡＮタグの有無の情報、ＰＰＰｏＥカプセル化有無の情報、ＩＰｓｅｃカプセル化の有無の情報と、ＩＰｓｅｃカプセル化有りの情報を読み取った場合には送信ＳＡ番号を読み取る（ステップＳ２）。
【００４６】
図４は送信論理Ｉ／Ｆテーブルを示す図である。この送信論理Ｉ／Ｆテーブルは、予めメモリなどに格納されている。送信論理Ｉ／Ｆテーブルはユーザによって設定、登録された情報であり、送信論理Ｉ／Ｆ番号ごとに、ＶＬＡＮやＰＰＰｏＥを行なう場合の各種情報を記憶している。送信フレーム長計算部７４は、ジョブ情報に基づいて、受信フレーム長、受信フレームのＶＬＡＮタグの有無、受信フレームのＰＰＰｏＥカプセル化の有無、の情報を読み取る（ステップＳ３）。
【００４７】
次に、送信フレーム長計算部７４は、受信フレームのＶＬＡＮタグの有無およびＰＰＰｏＥカプセル化の有無の各情報と、送信論理Ｉ／Ｆテーブルから読み取った、ＶＬＡＮタグの有無及びＰＰＰｏＥカプセル化の有無及びＩＰｓｅｃカプセル化の有無の情報に基づいて、付加データ量を導出する（ステップＳ４）。
【００４８】
図５は付加データ量計算テーブルを示す図である。この図が示すように、受信フレームのＶＬＡＮタグの有無、受信フレームのＰＰＰｏＥカプセル化の有無、送信フレームのＶＬＡＮタグの有無、送信フレームのＰＰＰｏＥカプセル化の有無、の各情報に対応付けられて、付加データ量（加算値：バイト数）が記録されている。送信フレーム長計算部７４は、予めメモリなどに記録された付加データ量計算テーブルを参照して、付加データ量を導出しても良いし、また受信フレームのＶＬＡＮタグの有無、受信フレームのＰＰＰｏＥカプセル化の有無、送信フレームのＰＰＰｏＥカプセル化有無、送信フレームのＩＰｓｅｃカプセル化の有無、の組合せに応じて、付加データ量が導出できる演算回路を有して、この演算回路により付加データ量を導出するようにしても良い。
【００４９】
次に送信フレーム長計算部７４は、ＩＰｓｅｃカプセル化の有無をジョブ情報から読み取る。そして、ＩＰｓｅｃカプセル化の有無を判定し（ステップＳ５）、ＩＰｓｅｃカプセル化を行なわない場合には、送信フレーム長＝受信フレーム長＋ＶＬＡＮタグの有無とＰＰＰｏＥカプセル化の有無に基づいて掲載した付加データ量により算出し（ステップＳ６）、その送信フレーム長の情報をジョブ情報に格納して終了する。またＩＰｓｅｃカプセル化を行なう場合には、ＩＰｓｅｃカプセル化に伴うパケット長加算値（付加データ量）の計算を行なって（ステップＳ７）、送信フレーム長＝受信フレーム＋ＶＬＡＮタグの有無とＰＰＰｏＥカプセル化の有無に基づいて掲載した付加データ量＋ＩＰｓｅｃカプセル化に伴う付加データ量により計算し（ステップＳ８）、その送信フレーム長の情報をジョブ情報に格納して終了する。
【００５０】
図７は、ＩＰｓｅｃカプセル化に伴うパケット長加算値の計算の概要を示す図である。
上記ステップＳ７におけるＩＰｓｅｃカプセル化に伴うパケット長加算値（付加データ量）の計算は、まず、ジョブ情報に含まれる送信ＳＡ番号を用いて、送信ＳＡテーブルより、暗号アルゴリズム種類の情報と、認証アルゴリズム種類の情報の何れかまたは両方を読み取る（ステップＳ７１）。図６は送信ＳＡテーブルを示す図である。この図が示すように送信ＳＡテーブルには、送信ＳＡ番号に対応付けられて暗号アルゴリズム種類の情報と、認証アルゴリズム種類の情報を記憶している。なお、ＩＰｓｅｃカプセル化に伴うパケット長加算値は、外側ヘッダ＋ＥＳＰヘッダ＋ＩＶ長＋ＩＣＶ長＋トレーラ長となる。ＩＶ長は暗号アルゴリズムによって規定された値である。またＩＣＶ長は認証アルゴリズムによって予め規定された値である。またトレーラ長は、元のパケット長と暗号アルゴリズムによって計算される。
【００５１】
そして送信フレーム長計算部７４は、受信パケット長の計算を行い（ステップＳ７２）、受信パケット長と、暗号アルゴリズム種類の情報と、認証アルゴリズム種類の情報とに基づいて、定められたデータ量により、パケット長加算値を計算する（ステップＳ７３）。なお、送信ＳＡ（Security Authority）番号とは、ＩＰｓｅｃ通信を行なう場合のフレームを識別するための情報である。また送信ＳＡテーブルは、予めユーザなどにより設定登録されており、メモリなどに記録されている。
【００５２】
次に送信フレーム長計算部７４は、付加データ増加の算出処理を行なう。イーサネット（登録商標）インタフェースから送信する送信フレームのフレーム長として、プリアンブル、ＦＣＳ（Frame Check Sequence）、最小ＩＦＧ（最小フレーム間ギャップ）のバイト量を加算する。なお、これらプリアンブル、ＦＣＳ、最小ＩＦＧの値を外部から設定可能なパラメータとして、これら情報の何れか1つまたは複数を付加するか否かの情報をユーザから受付ける処理部を備えるようにしてもよい。なお、プリアンブル、ＦＣＳ、最小ＩＦＧの加算は、ＩＰｓｅｃカプセル化の有無に関係なく、全てのフレーム送信に対して行なうものである。送信物理Ｉ／Ｆがイーサネット（登録商標）である場合、送信フレームにプリアンブルとＦＣＳが付与される。さらに、送信フレームと、その直前／直後に送信する送信フレームとの間隔は、最小ＩＦＧ以上となる。従って、フレームデータの送信期間に加えて、プリアンブル・ＦＣＳ・最小ＩＦＧの送信期間中も、他のフレームを送信することができない期間となる。つまり、プリアンブル、ＦＣＳ、最小ＩＦＧも、フレームデータの送信期間と同じく、フレームの占有期間とみなすことができる。
【００５３】
次にジョブ情報分配部７５が、送信フレーム長計算部７４から受付けたジョブ情報に格納されているキュー番号等に基づいて、ジョブ情報をキューに入力する。そして、キュー出力部７６が、ジョブ情報に含まれる送信フレーム長に基づいて、ジョブ情報出力時のスケジューリング（重み付け公平制御）やレートリミット（上限帯域制限）やシェ−ピング（帯域平滑化）を行なう。これらの処理は、送信フレームの単位時間＜各キューから出力しようとしている送信フレームのフレーム長と、既にそのキューから出力した送信フレームの単位時間あたりのバイト数（ジョブ情報の単位時間あたりの出力ではない）に基づいて計算される＞あたりのキューからの出力に基づいて、送信フレームの単位時間あたりの出力量を計算し、その値に基づいて、計算される。なお、ジョブ情報出力時のスケジューリング（重み付け公平制御）やレートリミット（上限帯域制限）やシェ−ピング（帯域平滑化制御）の処理については従来より行なわれている演算処理などにより行なう。
【００５４】
以上、本発明の実施形態について説明したが、本発明によれば、転送処理におけるＱｏｓの制御において、受信フレームではなく、転送時の送信フレームのフレーム長を用いてＱｏｓ制御を行なっている。つまり、これから送信しようとしているフレームの情報を用いてＱｏｓ制御を行なっているので、従来の様に、受信時の過去の情報を用いてＱｏｓ制御を行なう場合に比べて、より精度良いＱｏｓの制御を行なうことができる。
【図面の簡単な説明】
【００５５】
【図１】データ転送装置の構成を示す概略ブロック図である。
【図２】通信処理回路に係るＱｏＳ部の内部構成を詳細に示す図である。
【図３】送信フレーム長の予測処理の処理フローを示す図である。
【図４】送信論理Ｉ／Ｆテーブルを示す図である。
【図５】付加データ量計算テーブルを示す図である。
【図６】送信ＳＡテーブルを示す図である。
【図７】ＩＰｓｅｃカプセル化に伴うパケット長加算値計算の概要を示す図である。
【符号の説明】
【００５６】
１・・・データ転送装置
２・・・通信処理回路
３・・・ＤＤＲ−ＳＤＲＡＭ
４・・・ＣＰＵ
３０・・・パーサ部
４０・・・検索部
６０・・・キュー入力部
７０・・・Ｑｏｓ部
７１〜７３・・・キュー
７４・・・送信フレーム長計算部
７５・・・ジョブ情報分配部
７６・・・キュー出力部
【図１】
2007214779.tif 000003
【図２】
2007214779.tif 000004
【図３】
2007214779.tif 000005
【図４】
2007214779.tif 000006
【図５】
2007214779.tif 000007
【図６】
2007214779.tif 000008
【図７】
2007214779.tif 000009