(57)【要約】【課題】物理回線を複数の仮想専用回線として使用する場合における帯域制御装置及び帯域制御方法に関し、任意のPDU又はパケットに対する帯域を正確に確保する。【解決手段】パケット長補正値テーブル12が、パケット60_nのフロー識別情報700と特定の基準で測定されたパケット60_nの長さをフロー識別情報700に対応するパケット長に補正するパケット長補正値12b(702)とを対応付け、帯域計算部11Xが、フロー識別情報700に基づき識別され受信パケット60_nの長さを、該パケット長補正値テーブル12を参照して、フロー識別情報12a(700)に対応するパケット長補正値12b(702)に基いて補正すると共に補正したパケット長に基づき帯域を計算して、受信パケット60_nの送出タイミングを決定する。【選択図】      図１
2006262337.tif 000002
【特許請求の範囲】
【請求項１】
パケットのフロー識別情報と、特定の基準で測定された該パケットの長さを該フロー識別情報に対応するパケット長に補正するパケット長補正値とを対応付けたパケット長補正値テーブルと、
フロー識別情報に基づいて識別された受信パケットの長さを、該パケット長補正値テーブルを参照して、該フロー識別情報に対応する該パケット長補正値に基いて補正すると共に該補正したパケット長に基づき帯域を計算して、該受信パケットの送出タイミングを決定する帯域計算部と、
を備えたことを特徴とする帯域制御装置。
【請求項２】
請求項１において、
パケットを受信し、この受信パケットを識別した該フロー識別情報と、特定の基準で測定した該受信パケットの長さとを該帯域計算部に与えるフロー識別/パケット長測定部を、さらに備えたことを特徴する帯域制御装置。
【請求項３】
請求項１において、
該フロー識別情報には、各層のパケットのヘッダ情報が含まれることを特徴とした帯域制御装置。
【請求項４】
請求項１において、
該パケットには、各層のプロトコル・データ・ユニットが含まれることを特徴とした帯域制御装置。
【請求項５】
パケットのフロー識別情報と、特定の基準で測定された該パケットの長さを該フロー識別情報に対応するパケット長に補正するパケット長補正値とを対応付ける第１ステップと、
フロー識別情報に基づき識別され受信パケットの長さを、該パケット長補正値テーブルを参照して、該フロー識別情報に対応する該パケット長補正値に基いて補正すると共に該補正したパケット長に基づき帯域を計算して、該受信パケットの送出タイミングを決定する第２ステップと、
を有することを特徴とした帯域制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は帯域制御装置及び帯域制御方法に関し、特に、物理回線を複数の仮想専用回線として使用する場合における帯域制御装置及び帯域制御方法に関する。
【０００２】
近年、通信技術の急速な発展に伴い、ネットワークの伝送速度及びトラフィックが増大し、各回線上で伝送される帯域は益々増大して来ている。各回線上に送出するパケットの帯域を正確に制御することは、他の回線に悪い影響を与えることなく、効率的に回線を使用するために重要である。
【背景技術】
【０００３】
従来例(1)
図６は、従来の帯域制御装置10Aを適用したパケットスイッチ装置100Aを示している。このパケットスイッチ装置100Aは、帯域制御装置10A、フロー識別/パケット長測定部20、パケット送信処理部30、及びパケットバッファメモリ50を備えている。
【０００４】
図７は、図６に示したパケットスイッチ装置100Aの動作手順を示している。この動作を以下に説明する。
【０００５】
ステップS200〜S220：フロー識別/パケット長測定部20及びパケットバッファメモリ50はパケット60_nを受信する。フロー識別/パケット長測定部20は、パケット60_nの長さを測定し、このパケット長701_nを帯域制御装置10Aに与え、パケットバッファメモリ50はパケット60_nを一時的に格納する。
【０００６】
図８は、一般的なパケット60を示しており、このパケット60は、８バイトのプリアンブル60a(７バイトのプリアンブル＋１バイトのSFD(Start of Frame Delimiter)を総称する。)、14バイトのMACヘッダ60b、20バイトのIPヘッダ60c、20バイトのTCPヘッダ60d、最大1460バイトのアプリケーションヘッダ・データ60e、及び４バイトFCS60fで構成されている。このパケット60の後に12バイトのIPG70が挿入される。
【０００７】
ステップS230，S240：帯域制御装置10Aにおいて、帯域計算部11Aは、送信タイミングtn(下記のステップS240で１つ前のパケット60_n-1の長さに基づき予め算出されている。)になった時、パケット60_nに対応する送信指示703A_nをパケット送信処理部30に与え、パケット送信処理部30は、パケットバッファメモリ50に格納されたパケット60_nをフロー識別結果に基づく回線に送出する。
【０００８】
ステップS250：帯域計算部11Aは、パケット60_nのパケット長701に基づき帯域計算を実施して次のパケット60_n+1、すなわち、送信指示703A_n+1の送信タイミングtn+1を次式(1)に基づき算出する。
【０００９】
送信タイミングtn+1＝送信タイミングtn ＋ パケット60_nの出力時間(パケット長701に基づく)× (伝送路帯域÷設定出力帯域)・・・・・式(1)
図９は、パケット60_1〜60_5(n＝１〜5)が順次出力される送信タイミング例(1)を示している。同図では、特に、伝送路帯域＝1Gbps、同一フロー識別のパケット60に対する設定出力帯域＝500Mbpsである場合、すなわち、伝送路帯域(1Gbps)÷設定出力帯域(500Mbps)＝“２”である場合のタイミングを示している。パケット60_1〜60_5の送信は、それぞれ、送信タイミングt1〜t5の送信指示703A_1〜703A_5に従って開始される。パケット送信処理部30は、送信が完了した時点で送信完了704_1〜704_5(図６には図示せず。)を出力する。
【００１０】
伝送路帯域(1Gbps)÷設定出力帯域(500Mbps)＝“２”であるので、パケット60_1〜60_5の送信完了時点(送信完了704_1〜704_5の送信時点)は、それぞれ、送信タイミングt1〜t5と送信タイミングt2〜t6の中間時点である。
【００１１】
従来例(2)
ペイロードスループット(帯域)がヘッダの圧縮状況によって大きく変動することのない無線リソース割り当てる方式として、ヘッダ圧縮部が、伝送するパケットのヘッダに作用してヘッダ情報を圧縮し、ヘッダ圧縮率検出部がヘッダ圧縮率又はヘッダ長を検出しこれを当該パケットに添付する。そして、パケット優遇処置決定部が、ヘッダ圧縮率が低い又はヘッダ長が長いパケットに対して高い優先度を付与し、パケットと当該パケットの優先度情報を生成する。無線リソース割り当て制御部がパケット優先度情報に基づいて無線リソースの割り当てを行って送信部を制御するものがある(例えば、特許文献１)。
【特許文献１】特開2003-143158号公報(１頁、図１)
【発明の開示】
【発明が解決しようとする課題】
【００１２】
上述した従来例(1)の場合、装置内で扱うパケット長701に規定はない。例えば、レイヤ３パケットスイッチ装置のMACチップでは、MACヘッダ60bからアプリケーションヘッダ・データ60eまでをパケット長701とする場合が多い。これは、MACチップがパケット長701をパケット60を格納したパケットバッファメモリ50から読み出すときに用いるためプリアンブル60a及びIPG70を考慮する必要がないこと、また、FCS60fは送信時に書き換えが必要であるため削除した後追加するためである。従来のパケットスイッチ装置では、パケット60をパケットバッファメモリ50への格納及び読み出しのために測定されたパケット長701をそのまま帯域計算に用いていた。
【００１３】
以下に、このパケット長701(MACヘッダ60bからアプリケーションヘッダ・データ60eまで)を用いて帯域計算した場合の問題点を説明する。
【００１４】
MACヘッダ60bからアプリケーションヘッダ・データ60eまでをパケット長701を用いた場合、プリアンブル60a、FCS60f、及びIPG70の合計24バイトは、帯域計算に反映されない。この結果、帯域計算において、帯域誤差が発生することを、1Gbpsイーサネット(登録商標)をユーザ1〜ユーザ10が各100Mbpsの仮想専用回線として用いる場合を例に説明する。
【００１５】
図10は、このときのパケット送信タイミング例(2)を示している。同図(1)は、パケットスイッチ装置内送信タイミングを示し、同図(2)は、回線上の送信タイミングを示している。各送信タイミングは、伝送路帯域(1Gbps)÷設定出力帯域(100Mbps)＝“10”であるので、ユーザ１の送信タイミングt1_1，t2_1(又はt'1_1〜t'2_1)の間には、ユーザ９〜ユーザ10の送信タイミングt1_2〜t1_10(又はt'1_2〜t'1_10：共に図示せず。)がある。同図(2)が、同図(1)と異なる点は、回線上の送信タイミングでは、プリアンブル60a、FCS60f、及びIPG70の合計24バイトが考慮されていることである。
【００１６】
アプリケーションヘッダ・データ60eが６バイトの場合、パケット長701を用いて帯域計算した場合、回線上では、(100Mbps/54(バイト)＋6(バイト))＊(54(バイト)＋6(バイト)＋24(バイト))＝140Mbpsになってしまい、他のユーザ回線の帯域に悪い影響を与えてしまう。そこで、回線上の帯域を100Mbpsになるように装置内の帯域を計算すると(100Mbps/84(バイト))＊(60(バイト))＝71.4Mbpsとなる。この71.4Mbpsを装置内の帯域として設定した場合で、アプリケーションヘッダ・データ60eが1460バイトのパケット60を受信した場合、回線上の帯域は、(71.4Mbps/54(バイト)＋1460(バイト))＊(54(バイト)＋1460(バイト)＋24(バイト))＝72.54Mbpsまでしか使用できなくなる。このことは、MACヘッダ60bからFCS60fまでをパケット長701とした場合も同様である。
【００１７】
また、１ユーザが、例えば、各5Mbps帯域のアプリケーションヘッダ・データ60e(PDU)を10だけ確保する場合も同様の問題が発生する。この場合は、装置内パケット長701からMACヘッダ60b、IPヘッダ60c、TCPヘッダ60dの長さを引いた後のパケット長を用いて帯域計算する必要がある。すなわち、帯域計算に用いるパケット長701を、ユーザが帯域を確保する任意のPDU(フロー識別)に合わせて、補正する必要がある。
【００１８】
また、従来例(2)は、単に、パケット優先度情報に基づき無線リソース割当しており、正確に帯域制御する方式ではない。
【００１９】
したがって、本発明は、物理回線を複数の仮想専用回線と使用する場合における帯域制御装置及び帯域制御方法において、任意のPDU又はパケットに対する帯域を正確に確保することを課題とする。
【課題を解決するための手段】
【００２０】
上記の課題を解決するため本発明に係る帯域制御装置は、パケットのフロー識別情報と、特定の基準で測定された該パケットの長さを該フロー識別情報に対応するパケット長に補正するパケット長補正値とを対応付けたパケット長補正値テーブルと、フロー識別情報に基づいて識別された受信パケットの長さを、該パケット長補正値テーブルを参照して、該フロー識別情報に対応する該パケット長補正値に基いて補正すると共に該補正したパケット長に基づき帯域を計算して、該受信パケットの送出タイミングを決定する帯域計算部とを備えたことを特徴としている。
【００２１】
すなわち、パケット長補正値テーブルには、パケットのフロー識別情報と、特定の基準で測定された該パケットの長さを該フロー識別情報に対応するパケット長に補正するパケット長補正値とが対応付けられている。帯域計算部には、フロー識別情報と、このフロー識別情報に基づき識別された受信パケットの長さとが入力される。帯域計算部は、パケット長補正値テーブルを参照して、該所定のフロー識別情報を検索キーとして、これに対応するパケット長補正値を検索し、このパケット長補正値に基いて、受信パケットの長さを補正すると共に該補正したパケット長に基づき帯域を計算して、該受信したパケットの送出タイミングを決定する。
【００２２】
これにより、特定の基準で測定されたパケット長を、例えば、ユーザが指定する任意のフロー識別情報に対応したパケット(任意のPDU(Protocol Data Unit))の正確な帯域を確保することが可能になる。
【００２３】
また、本発明では、上記の本発明において、パケットを受信し、この受信パケットを識別した該フロー識別情報と、特定の基準で測定した該受信パケットの長さとを該帯域計算部に与えフロー識別/パケット長測定部をさらに備えたことができる。
【００２４】
すなわち、フロー識別/パケット長測定部は、パケットを受信し、この受信パケットを所定のフロー識別情報、例えば、TCPアプリケーションフロー情報に基づき識別し、パケットのフローに対応するフロー識別情報を帯域計算部に与える。さらに、フロー識別/パケット長測定部は、該受信したパケットを特定の基準(例えば、“MACヘッダ60bからアプリケーションヘッダ・データ60e(図８参照。)までの長さ)で測定しこの結果(パケット長)も帯域計算部に与える。
【００２５】
また、本発明では、上記の本発明において、該フロー識別情報に各層のパケットのヘッダ情報を含めてもよい。
【００２６】
また、本発明では、上記の本発明において、該パケットとして各層のプロトコル・データ・ユニットとしてもよい。すなわち、該パケットを、各層のプロトコル・データ・ユニットとしてもよい。
【００２７】
上記の課題を解決するため本発明に係る帯域制御方法は、パケットのフロー識別情報と、特定の基準で測定された該パケットの長さを該フロー識別情報に対応するパケット長に補正するパケット長補正値とを対応付ける第１ステップと、フロー識別情報に基づき識別され受信パケットの長さを、該パケット長補正値テーブルを参照して、該フロー識別情報に対応する該パケット長補正値に基いて補正すると共に該補正したパケット長に基づき帯域を計算して、該受信パケットの送出タイミングを決定する第２ステップとを有することを特徴としている。
【発明の効果】
【００２８】
以上説明したように、本発明に係る帯域制御装置及び帯域制御方法によれば、帯域計算の対象を、例えば、任意のPDUとすることにより正確な帯域制御が可能になり、高いQoSを提供することが可能になる。
【発明を実施するための最良の形態】
【００２９】
図１は、本発明に係る帯域制御方法を適用した帯域制御装置10Xの構成実施例を示している。また、同図には、帯域制御装置10Xの周辺機能部も示されている。帯域制御装置10Xは、帯域計算部11X及びパケット長補正値テーブル12で構成されている。
【００３０】
帯域制御装置10Xには、フロー識別/パケット長測定部20、パケット送信処理部30が接続され、このパケット送信処理部30には、パケットバッファメモリ50が接続されている。
【００３１】
図２は、帯域制御装置10Xを適用したパケットスイッチ装置100Xが示されており、このパケットスイッチ装置100Xは、帯域制御装置10Xと、図１に示した周辺機能部の他にさらに受信処理部40を備えている。この受信処理部40は、フロー識別/パケット長測定部20及びパケットバッファメモリ50に接続されている。
【００３２】
図３は、図１に示したパケット長補正値テーブル12を示しており、このパケット長補正値テーブル12は、フロー識別情報であるフロー番号12a及び帯域計算情報であるパケット長補正値12bで構成されている。
【００３３】
図４は、図２に示したパケットスイッチ装置100Xの動作実施例を示している。この動作実施例を以下に説明する。
【００３４】
ステップS100：受信処理部40は、受信したパケット60_nをフロー識別/パケット長測定部20及びパケットバッファメモリ50に与える。
【００３５】
ステップS110，S120：フロー識別/パケット長測定部20は、与えられたパケット60のフローを識別すると共に、パケット60_nの長さを測定し、この結果のフロー識別情報700及びパケット長701を帯域計算部11Xに与える。一方、パケットバッファメモリ50は、与えられたパケット60_nを一時的に格納する。
【００３６】
図５は、フロー識別情報700を求めるためのIPv4フロー識別テーブル200例を示している。このIPv4フロー識別テーブル200を以下に説明する。なお、IPv4フロー識別テーブル200は、フロー識別/パケット長測定部20に含まれているが、帯域制御装置10X側に含めてもよい。
【００３７】
IPv4フロー識別テーブル200は、外部内容検索メモリ(Content Addressable Memory、以後、CAMと称する。)80と連想メモリ90で構成されている。外部CAM80は、TOS80a、送信元ポート番号80b、宛先ポート番号80c、syn80d、ack80e、フラグメントオフセット80f、Txポート番号80g、タグPRI80h、RxRポート番号80i、TxRポート番号80j、宛先IPアドレス80k、送信元IPアドレス80l、及びプロトコル80mで構成されている。
【００３８】
TOS80aは、IPv4ヘッダ中のTOSフィールド、送信元ポート番号80bは、TCP/UDPヘッダ中の送信元ポート番号、宛先ポート番号80cは、TCP/UDPヘッダ中の宛先ポート番号、syn80dは、TCPヘッダ中のsynビット、及びack80eは、TCPヘッダ中のackビットを示している。また、フラグメントオフセット80fは、フラグメントの先頭パケットであるか否かを示している。また、Txポート番号80gは送信論理ポート番号、タグPRI80hは受信パケットのVLANタグ中のPRI値、RxRポート番号80iは受信ルータポート番号、TxRポート番号80jは送信ルータポート番号、宛先IPアドレス80kは宛先IPアドレス、送信元IPアドレス80lは送信元IPアドレス、及びプロトコル80mはIPv4ヘッダ中のプロトコルを示している。
【００３９】
連想メモリ90は、中継なし指示90a、NP宛指示90b、CPU宛指示90c、トレース指示フラグ90d、特定フロー指示フラグ90e、及びフロー番号90h等で構成されている。この内で本発明で用いるのはフロー番号90hであり、この番号でフロー識別が指定される。
【００４０】
すなわち、MACヘッダのタグPRI80h、IPv4ヘッダのTOS80a、宛先IPアドレス80k、送信元IPアドレス80l、及びプロトコル80m、TCP/UDPヘッダの送信元ポート番号80b、宛先ポート番号80c、syn80d、及びack80e、装置内情報(フロー識別前処理結果)のフラグメントオフセット80f、Txポート番号80g、RxRポート番号80i、及びTxRポート番号80jを検索キーとして、連想メモリ90からフロー識別情報700であるフロー番号90hを取得することが可能である。このフロー番号取得の具体例を以下に説明する。
【００４１】
例(1)：宛先IPアドレス80k＝“10.10.1.1”、TCPの宛先ポート番号80c＝“15000”を使用するアプリケーションを識別したい場合、宛先IPアドレス80k＝10.10.1.1、プロトコル80m＝“6(TCP)”、宛先ポート番号80c＝15000以外をマスク(検索対象から外)して検索し、この検索ヒットアドレスに対応する連想メモリ90のフロー番号90hの値＝例えば“100(予め設定されている)”を取得する。
【００４２】
例(2)：送信元IPアドレスのサブネットアドレスが“10.10.2”であるユーザパケットを識別したい場合、送信元IPアドレス80l＝“10.10.2(最後の１バイトをマスク)”以外をさらにマスクして検索し、この検索ヒットアドレスに対応する連想メモリ90のフロー番号90hの値＝例えば“200”を取得する。
【００４３】
上記の例(1)のフロー番号90h＝“100”で識別されたパケットは、TCPアプリケーションであり、ユーザがアプリケーションヘッダ・データ(PDU)で帯域を確保したい場合、MACヘッダ60b＝“14バイト”、IPヘッダ60c＝“20バイト”、及びTCPヘッダ60d＝“20バイト”をパケット長701から引いて補正したパケット長に基づき帯域計算しなければならない(図８参照。)。そこで、図３に示したパケット長補正値テーブル12には、フロー番号12a＝“100”とパケット長補正値12b＝“-54”が対応付けて登録されている。
【００４４】
同様に、上記の例(2)のフロー番号90h＝“200”で識別されたパケットは、特定ユーザのパケットであり、ユーザが仮想専用線として帯域を確保したい場合、プリアンブル60a＝“8バイト”、FCS60f＝“4バイト”、及びIPG70＝“12バイト”をパケット長701に足して補正したパケット長に基づき帯域計算しなければならない。そこで、パケット長補正値テーブル12には、フロー番号12a＝“200”とパケット長補正値12b＝“+24”が対応づけて登録されている。
【００４５】
ステップS130，S140：帯域計算部11Xは、パケット60_nの１つ前のパケット60_n-1のフロー識別情報700及びパケット長701に基づき、次のステップS150〜S170で計算された送信タイミングtnになったとき、送信処理部30に対して送信指示703X_nを与える。
【００４６】
ステップS150〜S170：帯域計算部11Xは、パケット長補正値テーブル12を参照して、例えば、フロー番号12a＝“100”対応するパケット長補正値12b＝“-54”を取得し、この“-54”でパケット長701を補正し補正結果のパケット長701’に基づき帯域計算し、次の送信指示703X_n+1の送信タイミングtn+1を算出する。これにより、任意のPDUに対応した正確な帯域計算することが可能になる。
【図面の簡単な説明】
【００４７】
【図１】本発明に係る帯域制御装置の構成実施例を示したブロック図である。
【図２】本発明に係る帯域制御装置を適用したパケットスイッチ装置の動作手順例を示したブロック図である。
【図３】本発明に係る帯域制御装置のパケット長補正値テーブル例を示した図である。
【図４】本発明に係る帯域制御装置の動作実施例を示したフローチャート図である。
【図５】一般的なIPv4フロー識別テーブル例を示した図である。
【図６】従来の帯域制御装置を適用したパケットスイッチ装置の構成を示したブロック図である。
【図７】従来の帯域制御装置を適用したパケットスイッチ装置の動作手順を示したフローチャート図である。
【図８】一般的なイーサネット(登録商標)パケットを示した図である。
【図９】従来のパケット送信タイミング例(1)を示した図である。
【図１０】従来のパケット送信タイミング例(2)を示した図である。
【符号の説明】
【００４８】
10A，10X  帯域制御装置                   11A，11X  帯域計算部
12  パケット長補正値テーブル             12a  フロー番号、フロー識別情報
12b  パケット長補正値、帯域計算情報      20  フロー識別/パケット長測定部
30  送信処理部                           40  受信処理部
50  パケットバッファメモリ
60，60_1〜60_12，60_n,60_n+1  パケット   60a  プリアンブル
60b  MACヘッダ                           60c  IPヘッダ
60d  TCPヘッダ                           60e  アプリケーションヘッダ・データ
60f  FCS                                 70  IPG
200  IPv4フロー識別テーブル
80  CAM                                  80a  TOS
80b  送信元ポート番号                    80c  宛先ポート番号
80d  syn                                 80e  ack
80f  フラグメントオフセット              80g  Txポート番号
80h  タグPRI                             80i  RxRポート番号
80j  TxRポート番号                       80k  宛先IPアドレス
80l  送信元IPアドレス                    80m  プロトコル
90  連想メモリ                           90a  中継なし指示
90b  NP宛指示                            90c  CPU宛指示
90d  トレース指示フラグ                  90e  特定フロー指示フラグ
90h  フロー番号                          100A，100X  パケットスイッチ装置
700  フロー識別情報、フロー番号          701，701_1〜701_5  パケット長
702  パケット長補正値
703，703A，703A_1〜703A_5，703A_n〜703A_n+1，703X，703X_n  送信指示
704，704_1〜704_5  送信完了
t1_1，t2_1，t1〜t6，tn，tn+1  送信タイミング
図中、同一符号は同一又は相当部分を示す。
【図１】
2006262337.tif 000003
【図２】
2006262337.tif 000004
【図３】
2006262337.tif 000005
【図４】
2006262337.tif 000006
【図５】
2006262337.tif 000007
【図６】
2006262337.tif 000008
【図７】
2006262337.tif 000009
【図８】
2006262337.tif 000010
【図９】
2006262337.tif 000011
【図１０】
2006262337.tif 000012