JP2004080102A - パケット処理装置 - Google Patents
パケット処理装置 Download PDFInfo
- Publication number
- JP2004080102A JP2004080102A JP2002233889A JP2002233889A JP2004080102A JP 2004080102 A JP2004080102 A JP 2004080102A JP 2002233889 A JP2002233889 A JP 2002233889A JP 2002233889 A JP2002233889 A JP 2002233889A JP 2004080102 A JP2004080102 A JP 2004080102A
- Authority
- JP
- Japan
- Prior art keywords
- packet
- processing unit
- information
- unit
- distributed
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
- H04L49/103—Packet switching elements characterised by the switching fabric construction using a shared central buffer; using a shared memory
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2441—Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/32—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/34—Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3027—Output queuing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
【課題】パケットの帯域を制御するパケット処理装置に関し、自装置の帯域を圧迫することなくパケットの帯域制御を行うこと、また精度の高いパケット帯域制御を行う。
【解決手段】前処理部10が受信したパケット90にタイムスタンプを付与し、共有リソース部40が、各分散処理部20_1〜20_nに分散された各パケット91の受信順序情報(例えば、タイムスタンプ、シーケンス番号)に基づき、パケットの帯域制御を行う。
【選択図】 図1
【解決手段】前処理部10が受信したパケット90にタイムスタンプを付与し、共有リソース部40が、各分散処理部20_1〜20_nに分散された各パケット91の受信順序情報(例えば、タイムスタンプ、シーケンス番号)に基づき、パケットの帯域制御を行う。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明はパケット処理装置に関し、特にパケット(フレーム)の帯域を制御するパケット処理装置に関するものである。
近年、通信技術の発達に伴い、データだけでなく音声、靜画像、及び動画像等の通信情報量は急速に増大している。このような情報を伝送する通信網においては、各情報のフローが、所定の帯域内のあるか否かを判定して制御を行う帯域制御は、通信の信頼性を確保するためにますます重要である。
【0002】
【従来の技術】
図13は、一般的なパケット交換装置の構成例を示している。このパケット交換装置は、物理回線130_11〜130_1i、物理回線130_21〜130_2i、…、物理回線130_k1〜130_ki(以下、符号130で総称することがある。)をそれぞれ終端する回線処理部110_1,110_2,…,110_k(以下、符号110で総称することがある。)、各回線処理部110にそれぞれ接続されたパケット処理装置100z_1〜100z_k(以下、符号100zで総称することがある。)、及びこれらのパケット処理装置100z_1〜100z_kで接続されたスイッチ120で構成されている。
【0003】
なお、同図では、回線処理部110に複数の物理回線130が接続されているが、回線処理部110に接続される物理回線130の数は1本の場合もある。
動作において、例えば、回線処理部110_jは、物理回線130_jiからの回線信号から取り出したパケット90をパケット処理装置100z_jに転送する。
【0004】
パケット処理装置100z_jは、回線処理部110_kから受信したパケット90に対して以下のイングレス(ingress)処理(1)〜(4)を行った後、スイッチ120に転送する。
(1)クラシファイ処理:パケット90の発信元、宛先、及びプロトコル等に基づきパケット90のフロー種別を判定する。
【0005】
(2)フィルタリング処理:透過禁止のパケット90を廃棄する。
(3)ルーティング処理:パケット90が持つ宛先情報等に基づき、スイッチ120を経由してどのパケット処理装置100zにパケット90を転送すべきかを決定し、転送先を示す情報(内部タグ)をパケット90に付与する。
【0006】
(4)帯域制御処理:上記のクラシファイ処理で指定されたパケット種別毎にパケット流量の制御を行う。
スイッチ120は、パケット処理装置100z_jから受信したパケット90を、その内部タグが示す、例えばパケット処理装置100z_kに転送する。
【0007】
パケット処理装置100z_kは、スイッチ120から受信したパケット90に対して以下のエグレス(Egress)処理(1)、(2)を行った後、回線処理部110に転送する。
(1)フィルタリング処理:透過禁止のパケット90を廃棄する。
(2)ルーティング処理:パケット90が持つ宛先情報等に基づき、パケット90を回線処理部110を経由して転送すべき物理回線130を決定し、転送先を指定する情報(内部タグ)をパケット90に付与する。
【0008】
回線処理部110_kは、パケット処理装置100z_kから受信したパケット90を内部タグで指定された、例えば物理回線130_k1に回線信号として出力する。
図14は、パケットを分散して処理する一般的なパケット処理装置100zの構成を示している。このパケット処理装置100zは、パケットを分散して処理することにより処理性能を向上させている。
【0009】
パケット処理装置100zは、前処理部10z、分散処理部20z_1〜20z_n(以下、符号20zで総称することがある。)、共有リソース部40z、及び後処理部30zで構成されている。この構成は、イングレス処理を行うパケット処理装置100z及びエグレス処理を行うパケット処理装置100zに共通の構成である。
【0010】
前処理部10zは、上流から受信したパケットを複数の分散処理部20z_1〜20z_nの内のいずれか1つに送出する。この分散のためのアルゴリズムは、例えば、各分散処理部20zに対応した出力キュー(図示せず)を設け、この出力キューのキュー長を監視する方式、ラウンドロビン方式等がある。
【0011】
また、前処理部10zは、分散したパケットの順序を下流の後処理部30zで再生できるように、各パケットにシーケンス番号を付与する。
分散処理部20zは、受信したパケットに対する各種処理、例えば、編集処理、検索処理等を行い、処理を完了したパケットを後処理部30zに与える。
【0012】
共有リソース部40zは、分散処理部20z_1〜20z_nで共有する検索エンジン、共有メモリ等のリソースであり、各分散処理部20zからアクセスされる。
後処理部30zは、各パケットに付与されたシーケンス番号に基づき、前処理部10zに入力されたパケットの順序を再生した後、下流に転送する。
【0013】
パケット処理装置100zは、さらに、パケットが所定の帯域内にあるか否かを制御する帯域制御、すなわち、所定の帯域に違反しているパケットを廃棄するか、又はマーキング(タグ付け)する等の帯域制御を行う。
ここで、一般的な帯域制御の方式として、(1)ジャンピングウインドウ帯域制御方式、(2)スライディングウインドウ帯域制御方式、及び(3)GCRA(Generic Cell Rate Algorithm)帯域制御方式を以下に説明する。
【0014】
(1) ジャンピングウインドウ帯域制御方式
図15にジャンピングウインドウ帯域制御方式を示す。この方式は、絶対時間上で区切られた一定の時間幅TwのウインドウWn−1,Wn,Wn+1,Wn+2(同図において、ウインドウ時間幅Tw=時刻Tn−Tn−1=時刻Tn+1−Tn=時刻Tn+2−Tn+1=時刻Tn+3−Tn+2)の中でそれぞれ受信したパケットの総バイト数に基づき、帯域を評価する方式である。
【0015】
この方式は、実装が容易であるが、例えば、過去のウインドウWn−1の情報を次のウインドウWnに引き継ぐことが出来ない。例えば、ウインドウWn−1で受信したパケットのバイト数=“0”であり、次のウインドウWnの受信パケットの総バイト数が契約した規定値を超えた場合、ウインドウWn−1とウインドウWnで受信したパケットの合計バイト数の平均が規定値を越えない場合においても、帯域違反と判定される。
【0016】
(2) スライディングウインドウ帯域制御方式
図16に、スライディングウインドウ帯域制御方式を示す。この方式は、例えば、パケットfa,fb,fcが到着する毎に、その到着時点Ta,Tb,Tcから過去一定時間幅Twのウインドウ内で受信したパケットの総バイト数に基づき、帯域を評価する。
【0017】
この方式は、帯域をダイナミックに評価することができるが、実装は難しい。
(3)GCRA 帯域制御方式
図15にGCRA帯域制御方式を示す。この方式は、連続する2つのパケットの受信間隔に基づき、帯域を評価する方式であり、論理的には、リーキバケット(LeakyBucket)帯域制御方式と等価である。
【0018】
GCRA帯域制御方式のアルゴリズムを以下に説明する。
ここで、TAT=パケットの論理到着時刻(Theoretical Arrival Time)、T=実際のパケット到着時刻(Time)、I=増加パラメータ(Increment Parameter)、L=リミットパラメータ(Limit Parameter)、n=パケット長(Packet Length)とする。この内のI,Lの値は予め設定されている。
【0019】
▲1▼制御を開始した後、最初に受信したパケットは、無条件に帯域制御結果=“適合”と判定し、次式(1)で次のTATを算出する。
TAT=T+nI ・・・式(1)
▲2▼以後、パケット(長さn、到着時刻T)受信毎にTATとの比較を行い、“適合”又は“非適合”の判定及び次のTATの算出を行う。
【0020】
(a)比較結果:TAT<T(時刻TATより後にパケットを受信、同図(1)参照)である場合、帯域制御結果=“適合”とし、次式(2)で時刻Tを基点として次のTATを算出する。
TAT=T+nI ・・・式(2)
(b)比較結果:TAT−L≦T≦TATである場合(時刻(TAT−L)より後かつ時刻TAT前にパケットを受信した場合、同図(2)参照)、帯域制御結果=“適合”とし、現在のTATを基点として次式(3)で次のTATを算出する。
【0021】
次のTAT=現在のTAT+nI ・・・式(3)
(c)比較結果:T<TAT−Lである場合(時刻(TAT−L)より前にパケットを受信した場合、同図(3)参照)、帯域制御結果=“不適合”とし、次式(4)で次のTATを算出する。すなわち、TATの更新を行わない。
【0022】
次のTAT=現在のTAT ・・・式(4)
【0023】
【発明が解決しようとする課題】
このような帯域制御を分散処理部20zで行った場合、各分散処理部20zにパケットが分散されるためパケットの連続性が保たれず、したがって、精度の高い帯域制御を行うことは出来なかった。そこで、従来の帯域制御は、(1)前処理部10zで行う方式、又は(2)後処理部30zで行う方式があった。
【0024】
(1) 前処理部で帯域制御を行う方式
この方式は、分散処理を行う前であるため、パケット間隔の揺らぎが少なく、精度の高い帯域制御ができるという利点がある。しかしながら、帯域制御を行うためには、それ以前にクラシファイ処理を行う必要があり、これに伴って処理情報が発生することにより帯域を圧迫する。
【0025】
(2) 後処理部で帯域制御を行う方式
この方式は、分散処理部20z若しくは共有リソース部40zでクラシファイ処理を行うことができる利点がある。しかしながら、分散処理部20z若しくは共有リソース部40zが、クラシファイ結果情報を後処理部30zに通知ための情報が必要であるため帯域の圧迫を招く。
【0026】
また、上流でパケットがフロー分散及び合流されているため、パケット間隔の揺らぎが大きくなり、帯域制御の精度が低くなる欠点がある。
従って本発明は、パケットの帯域を制御するパケット処理装置において、自装置の帯域を圧迫することなくパケットの帯域制御を行うこと、また精度の高いパケット帯域制御を行うことを課題とする。
【0027】
【課題を解決するための手段】
上記の課題を解決するため、本発明のパケット処理装置は、受信したパケットを複数の出力端子の内のいずれか1つに送出する前処理部と、各出力端子にそれぞれ接続されて各出力端子からの該パケットを処理する複数の分散処理部と、各分散処理部に分散された各パケットの受信順序情報に基づき、該パケットの帯域制御を行う共有リソース部と、各分散処理部からのパケットを合流して出力する後処理部と、を備えたことを特徴としている(請求項1、付記1)。
【0028】
本発明のパケット処理装置100は、図14に示した一般的なパケット処理装置100zと基本的な構成は同じであり、従来の前処理部10z、分散処理部20z_1〜20z_n、共有リソース部40z、及び後処理部30zの代わりに、前処理部10、n個の分散処理部20_1〜20_n(以下符号20で総称することがある。)、共有リソース部40、及び後処理部30で構成されている。
【0029】
本発明のパケット処理装置100が従来のパケット処理装置100zと基本的に異なる点は、共有リソース部40が、各分散処理部20に分散されたパケットの受信順序情報を収集し、この情報に基づきパケットの帯域制御を行うことである。
すなわち、前処理部10は、受信したパケットを、複数の出力端子の内から、例えば、従来の所定のアルゴリズムで選択した1つの出力端子に送出する。
【0030】
各分散処理部20_1〜20_nは、それぞれ前処理部10の出力端子から受信したパケットの処理を行う。
共有リソース部40は、分散処理部20_1〜20_nに分散されているパケットの受信順序情報に基づき、パケットが所定の帯域内にあるか否かを判定する帯域制御を行う。
【0031】
後処理部30は、分散処理部で処理されたパケットを合流して出力する。
従って、本発明のパケット処理装置は、帯域制御結果に基づき自装置における帯域を圧迫すること無く、例えば、帯域違反のパケットの廃棄、又は下流に対して帯域違反の通知、さらにはパケットの送信元に帯域違反通知等を行いパケットの帯域制御が実現できる。
【0032】
このように、分散処理部に分散されているパケットの帯域制御を共有リソース部40で行うことが可能になり、余分な処理情報や通知情報が不要であるため帯域を圧迫することなくパケットを帯域制御することが可能になる。
なお、上記のパケットの廃棄、及び帯域違反の通知等の処理は、本発明の帯域制御結果に基づき、例えば、分散処理部、後処理部その他等の所定の処理部で行われる。
【0033】
また、本発明は、上記の本発明において、該受信順序情報を、パケットに付与された時間情報とすることができる(請求項2、付記2)。
すなわち、共有リソース部40は、パケットに付与された時間情報(例えば、タイムスタンプ)に基づき、パケットの正確な時系列上の位置を判別し、帯域制御を行う。これにより、パケットに時間情報を付与した時点から帯域制御前までの間の処理で発生する時系列上のパケットの揺らぎを補正することが可能になり、精度の良い帯域制御が可能になる。
【0034】
また、本発明は、上記の本発明において、該前処理部は、該時間情報をパケットに付与することができる(請求項3、付記3)。
また、本発明は、上記の本発明において、該分散処理部は、該時間情報をパケットに付与することができる(付記4)。
【0035】
すなわち、時間情報(タイムスタンプ)を、前処理部10又は分散処理部20でパケットに付与することが可能である。なお、時間情報の時系列上の揺らぎは、時間情報が前処理部10で付与された方が分散処理部20で付与された方より少なく、正確な帯域制御ができる。
【0036】
例えば、前処理部10が最前段でパケットにタイムスタンプを付与した場合、前処理部10の後段の処理や分散処理部20の分散処理に起因するパケットの揺らぎに影響されることなく、共有リソース部40はパケットが前処理部10に到着した時刻に基づき正確な帯域制御を行うことが可能になる。
【0037】
また、本発明は、上記の本発明において、該共有リソース部は、該時間情報に基づき、該パケットを時系列順に並びかえる順序補正処理部を備えることができる(付記5)。
すなわち、順序補正処理部は、例えば、各分散処理部20に分散処理されたため、時系列上の順序が変わってしまったパケットの順序を、このパケットに付与された時間情報(タイムスタンプ)に基づき、元に戻す。
【0038】
これにより、パケットを時系列順に処理することが可能になり、帯域制御が容易になる。
また、本発明は、上記の本発明において、該受信順序情報が、さらに、該前処理部がパケットに付加した、パケットの受信順序を示すシーケンス番号を含み、該共有リソース部が、該シーケンス番号に基づき、該パケットを時系列順に並びかえる順序補正処理部を備えることができる(請求項4、付記6)。
【0039】
これによっても、パケットを時系列順に処理することが可能になり、帯域制御が容易になる。
また、本発明は、上記の本発明において、該共有リソース部は、ジャンピングウインドウ帯域制御方式、スライディングウインドウ帯域制御方式、及びGCRA帯域制御方式の内のいずれか1つの方式で帯域制御することができる(付記7)。
【0040】
すなわち、共有リソース部40は、図15に示したジャンピングウインドウ帯域制御方式、図16に示したスライディングウインドウ帯域制御方式、又は図17に示したGCRA帯域制御方式で帯域制御してもよい。
また、本発明は、上記の本発明において、該共有リソース部は、パケットをフロー別に分類するクラシファイ処理部をさらに備え、フロー別に帯域制御を行うことが可能である(請求項5、付記8)。
【0041】
また、本発明は、上記の本発明において、各分散処理部は、パケットをフロー別に分類するクラシファイ処理部をさらに備え、該共有リソース部はフロー別に帯域制御を行うことができる(付記9)。
また、本発明は、上記の本発明において、該前処理部は、パケットをフロー別に分類するクラシファイ処理部をさらに備え、該共有リソース部はフロー別に帯域制御を行うことができる(付記10)。
【0042】
すなわち、クラシファイ処理部60を、共有リソース部40、分散処理部20、又は前処理部10に配置する。クラシファイ処理部60は、パケットをフロー別に分類し、共有リソース部40がフロー別に帯域制御を実施する。
これにより、フロー別の帯域制御が可能になる。なお、クラシファイ処理部の配置位置は、最も帯域を圧迫しないところを選択すればよく、一般的に分散処理部20にクラシファイ処理部を配置する方式が、クラシファイ処理が分散されるため帯域圧迫が少ない。
【0043】
また、本発明は、上記の本発明において、該受信順序情報が、該パケットの受信順序を示すシーケンス番号であり、該共有リソース部が、該パケットを該シーケンス番号順に並び変える順序補正処理部と、該パケットが自分自身に入力された時刻を計時するタイマとをさらに備え、該時刻に基づき帯域制御することが可能である(付記11)。
【0044】
すなわち、受信順序情報として、パケットの受信順序を示すシーケンス番号を用いる。共有リソース部40は、さらに、順序補正処理部及びタイマを備えている。順序補正処理部はパケットをシーケンス番号順に並び変え、タイマは、パケットが共有リソース部40に入力した時刻を計時し、この時刻に基づき、共有リソース部40はパケットの帯域制御を行う。
【0045】
これによっても、共有リソース部40は帯域制御を行うことができる。すなわち、パケットが分散処理部20に分散した場合においても、パケットが共有リソース部40に到着した時刻に基づき帯域制御を行うことが可能になる。
なお、この帯域制御では、パケットにタイムスタンプを付与する必要はない。
【0046】
さらに、本発明は、上記の本発明において、該前処理部が、該パケットに該シーケンス番号を付加してもよい(付記12)。
【0047】
【発明の実施の形態】
図1は、本発明に係るパケット処理装置100の実施例を示している。このパケット処理装置100は、図14で示した一般的なパケット処理装置100zと同様に、前処理部10、分散処理部20_1〜20_n、後処理部30、及び共有リソース部40で構成されている。
【0048】
図1では、共有リソース部40が、特に詳細に示されており、この共有リソース部40が、順序補正処理部50、クラシファイ処理部60、及び帯域制御処理部70で構成されていることが特徴である。
図2は、図1に示した前処理部10の実施例を示している。この前処理部10は、タイマ11と、受信したパケット90にタイマ11が示す時刻、すなわち、タイムスタンプ90cを付加して出力するタイムスタンプ付与部12と、パケット90にさらにシーケンス番号90dを付与したパケット91を出力するシーケンス番号付与部13とを備えている。
【0049】
さらに、前処理部10は、パケット91をn本の出力端子の内のいずれかに出力する出力キュースイッチ14と、出力キュースイッチ14の各出力端子に接続され、出力キュースイッチ14から与えられたパケット91をキューイングするキュー15_1〜15_n(以下、符号15で総称することがある。)と、キュー15のキューイング状態を検出し、例えば、キューイングされているバイト数が最も少ないキュー15を検出し、このキュー15に次のパケット91を与える指示を出力キュースイッチ14に与える出力キュー指示部16とを備えている。
【0050】
図3(1)は、前処理部10に入力されるパケット90のフォーマット例を示している。このパケット90は、ペイロード90a及びパケットヘッダ90b(例えば、IPv4ヘッダ)で構成されている。
同図(2)は、出力キュースイッチ14に与えられるパケット91のフォーマット例を示している。このパケット91は、同図(1)に示したパケット90と、このパケット90に付与されたタイムスタンプ90c及びシーケンス番号90dとで構成されている。
【0051】
図4は、図1に示した分散処理部20の動作例を示している。分散処理部20は、前処理部10から受信したパケット91_2,91_4,91_7(以下、符号91で総称することがある。)を順次受信し、これらのパケット91にそれぞれ付与されたシーケンス番号90d、タイムスタンプ90c等から成る情報92_2,92_4,92_7(以下、符号92で総称することがある。)を共有リソース部40に与える。
【0052】
図5は、分散処理部20及び共有リソース部40で伝送される各情報例を示している。同図(1)は、情報92の構成例を示している。この情報92は、シーケンス番号90d、タイムスタンプ90c、パケット長90e、及びパケット情報90hで構成されている。パケット情報90hは、パケット91のクラシファイに必要な情報、例えば宛先IPアドレス、送信元IPアドレス、又はL4プロトコル等である。
【0053】
また、分散処理部20は、逆に、共有リソース部40から帯域制御結果であるタグ情報90gとシーケンス番号90dとから成る情報94_2,94_4,94_7(以下、符号94で総称することがある。)を受信する。図5(3)は、この情報94のフォーマット例を示しており、この情報94は、シーケンス番号90dとタグ情報90gで構成されている。
【0054】
さらに、分散処理部20は、パケット91のタイムスタンプ90c(図3(2)参照)の代わりに、自パケット91に付与されたシーケンス番号90dと同じシーケンス番号90dの情報94のタグ情報90gを付与したパケット95を後処理部30に与える。
図5(4)は、パケット95のフォーマット例を示しており、このパケット95は、パケット90、シーケンス番号90d、タグ情報90gで構成されている。同図(3)については後述する。
【0055】
図6は、情報92の受信順序を補正する実施例(1)を示しており、この実施例(1)では、各分散処理部20が、前処理部10から受信したパケット91の受信順序と同じ順序で情報92(図5(3)参照、図6では、シーケンス番号90dのみを示す。)を順序補正処理部50aに与える。
【0056】
順序補正処理部50aは、分散処理部20_1〜20_nにそれぞれ対応したキュー(FIFO)51_1〜キュー51_n(以下、符号51で総称することがある。)及びセレクタ52で構成されている。
キュー51は、分散処理部20から受信した情報92をFIFOで記憶し、セレクタ52は、全各キュー51の中から一番若いシーケンス番号90dの情報92を選択してクラシファイ処理部60に与える。
【0057】
これにより、前処理部10に入力されたパケット90の順序と同じ順序で対応するパケット90の情報92が、クラシファイ処理部60に与えられる。
図7は、情報92の受信順序を補正する実施例(2)を示しており、この実施例(2)では、各分散処理部20は、実施例(1)と異なり、パケット91が自装置20に入力された順と異なる順でパケット91に対応する情報92を順序補正処理部50bに与える。
【0058】
例えば、分散処理部20_1は、シーケンス番号90dがそれぞれ“41”、“42”、“47”であるパケット91_1,91_2,91_7を順次受信し、そして、シーケンス番号90dがそれぞれ“47”、“41”、“42”である情報92_7,92_1,92_2を順序補正処理部50bに与える。
【0059】
分散処理部20の内部処理が分散して行われているようなとき、このような順序保存されない場合が発生する。
なお、図6と同様に図7では、各パケット91及び情報92には、シーケンス番号90dのみが示され、タイムスタンプ90c等は省略されている。
【0060】
順序補正処理部50bは、バッファ53を備えており、このバッファ53に分散処理部20_1〜20_nから受信した情報92_0,92_1〜92_8を、シーケンス番号90dの順に並べて記憶する。そして、順序補正処理部50bは、シーケンス番号90dの順(40,41,…,48,…)にバッファ53から情報92を読み出してクラシファイ処理部60に与える。
【0061】
なお、図6及び図7において、分散処理部20又は順序補正処理部50aは、シーケンス番号90dの代わりにタイムスタンプ90cを用いてパケットの順序を補正してもよい。この場合、シーケンス番号90dは不要である。
図8は、クラシファイ処理部60の実施例を示している。このクラシファイ処理部60は、CAM(Content Address Memory)アクセス制御部61とCAM・RAM部62で構成されている。
【0062】
CAM・RAM部62には、パケット情報90hに対応するフロー番号90fが登録されている。
CAMアクセス制御部61は、情報92の内のクラシファイ用パケット情報90h(図5(1)参照)をCAM・RAM部62に与え、パケット情報90hに対応するフロー番号90fを読出し、情報92の内のパケット情報90hの代わりにフロー番号90fを付加した情報93を帯域制御処理部70に与える。
【0063】
この情報93は図5(2)に示されている。この情報93は、シーケンス番号90d、タイムスタンプ90c、パケット長90e、及びフロー番号90fで構成されている。
帯域制御処理部70の実施例(1)〜(3)を図9〜図12を用いて以下に説明する。
図9は、帯域制御処理部70の実施例(1)を示している。この実施例(1)では、特に、図15で説明したジャンピングウインドウ帯域制御方式の帯域制御処理部70aを示している。
【0064】
帯域制御処理部70aは、各フロー番号90fに対応した許容バイト数72_1及び受信バイト数72_2を記憶するメモリ71を備えている。許容バイト数72_1には、フロー番号90fに対応したフローの許容バイト数(このバイト数は許容設定帯域に対応)が予め登録されており、受信バイト数72_2には、フロー番号90fに対応したフローの一定時間Tに受信した受信バイト数が記憶される。受信バイト数の初期値は“0”である。
【0065】
帯域制御処理部70aの動作手順を以下に説明する。なお、この動作手順は、フロー番号毎に実行される。
ステップ S10:帯域制御処理部70aは、フロー番号90fをメモリ71に与え、これに対応する許容バイト数72_1及び受信バイト数72_2を読み出す。
【0066】
ステップ S11:処理部70aは、新たな受信バイト数72_2=前の受信バイト数72_2+パケット長(バイト数)90eで更新し、この新たな受信バイト数72_2をステップS10で与えたフロー番号90fと同一のフロー番号に対応する受信バイト数72_2に書き込む。
【0067】
ステップ S12:処理部70aは、新たな受信バイト数72_2と許容バイト数72_1を比較し、フローの設定許容帯域が守られている否かを判定し、判定結果をタグ付けした情報94(図5(3)参照)を分散処理部20に与える。
図5(3)の説明で述べたように、この情報94は、シーケンス番号90dとタグ情報90gで構成されている。タグ情報90gは、例えば、許容帯域が守られていることを示す“OK”又は許容帯域違反を示す“NG”で構成してもよいし、又は“緑”、“黄”、又は“赤”等のカラー情報で構成してもよい。
【0068】
ステップ S13:帯域制御処理部70aは、受信したタイムスタンプ90cを参照して一定時間T毎にメモリ71にエントリされた全受信バイト数72_2をクリアする。
なお、タイムスタンプ90cを用いずに、帯域制御処理部70aにタイマ(図示せず)を備え、このタイマに基づき一定時間毎に全受信バイト数72_2をクリアしてもよい。この場合、タイムスタンプ90cの情報は不要である。
【0069】
前処理部10にパケット90が入力した時刻を示したタイムスタンプ90cに基づく帯域制御は、帯域制御処理部70cに情報93が入力した時刻に基づく帯域制御より、前処理部10及び分散処理部20における処理に起因する情報93間の揺れがないため、精度のよい帯域制御が可能である。
【0070】
図10は、帯域制御処理部70の実施例(2)を示している。この実施例(2)では、特に、図16で説明したスライディングウインドウ帯域制御方式の帯域制御処理部70bを示している。
帯域制御処理部70bは、フロー番号90fに対応した許容バイト数73_1及び受信バイト数73_2〜73_mを記憶するメモリ71を備えている。許容バイト数73_1には、フロー番号90fに対応したフローの許容バイト数(設定許容帯域に対応)が予め登録されている。
【0071】
受信バイト数73_2〜73_mには、フロー番号90fに対応した受信したフローの受信バイト数が記憶される。受信バイト数73_2〜73_mの初期値は“0”である。
帯域制御処理部70bの動作手順を以下に説明する。なお、この動作手順は、フロー番号毎に実行される。
【0072】
ステップ S20:帯域制御処理部70bは、受信した情報93のフロー番号90fをメモリ71に与え、許容バイト数73_1、及び受信バイト数73_2〜73_mを読み出す。
ステップ S21:処理部70bは、新しい受信バイト数73_2=前の受信バイト数73_2+パケット長90e(バイト数)で更新し、新しい受信バイト数73_2をメモリ71の受信バイト数73_2に書き込む。
【0073】
ステップ S22:処理部70bは、受信バイト数73_2〜73_mを合計し、この合計バイト数と許容バイト数を比較し、設定許容帯域が守られている否かを判定し、この判定結果をタグ付けした情報94(図5(3)参照)を分散処理部20に与える。
ステップ S23:処理部70bは、受信した情報93のタイムスタンプ90cに基づき、一定時間間隔t毎に受信バイト数をシフト(受信バイト数73_m←受信バイト数73_(m−1),…,受信バイト数73_3←受信バイト数73_2,受信バイト数73_2←“0”(クリア))する。
【0074】
なお、受信バイト数73_2〜73_mの数(m−1)は、シフトする時間間隔tとウインドウ時間幅Twとで決まる。
また、タイムスタンプ90cを用いずに、帯域制御処理部70aにタイマを備え、このタイマに基づき一定時間毎にシフトしてもよい。この場合、タイムスタンプ90cは不要であるが、帯域制御処理部70aに情報93に到着した時刻に基づき元のパケット90の帯域制御を行うことになり、実施例(1)と同様に帯域制御に揺れが発生する。
【0075】
図11は、帯域制御処理部70の実施例(3)を示している。この実施例(3)では、特にGCRA帯域制御方式の帯域制御処理部70cを示している。
帯域制御処理部70cは、各フロー番号90fに対応した帯域設定情報74_1(I:増加パラメータ、L:リミットパラメータ)及び次パケット到着予定時刻74_2(TAT:論理到着時刻)を記憶するメモリ71を備えている。増加パラメータI及びリミットパラメータLは予め登録されている。
【0076】
次パケット到着予定時刻74_2には、図17の説明で示した式(1)〜(4)で計算した論理到着時刻TATが記憶される。論理到着時刻TATの初期値は“0”である。
帯域制御処理部70cの動作手順を以下に説明する。なお、この動作手順は、フロー番号90f毎に実行される。
【0077】
ステップ S30:帯域制御処理部70cは、受信した情報93(図5(2)参照)のフロー番号90fをメモリ71に与え、フロー番号90fに対応する帯域設定情報74_1及び次パケット到着予定時刻74_2を読み出す。
ステップ S31:処理部70cは、タイムスタンプ90c(=実際のパケット到着時刻T)と到着予定時刻74_2(論理到着時刻TAT)を比較して設定許容帯域が守られているか否かを判定し、その判定結果をタグ付けした情報94を作成する。
【0078】
ステップ S32:処理部70cは、パケット到着時刻Tの条件(図17(1)〜(3)参照)に基づき選択した式(1)〜(4)の内のいずれか1つを選択し、選択した式で論理到着時刻TATを計算する。さらに、処理部70cは、計算結果を当該フロー番号90fに対応するメモリ71内の次パケット到着予定時刻74_2に書き込むと共に、情報94(図5(3)参照)を分散処理部20に与える。
【0079】
図12は、図11に示した帯域制御処理部70cのより詳細な動作を示している。この詳細動作を以下に説明する。
処理部70cは、クラシファイ処理部60から情報93(フロー番号90f、パケット長(n)90e、タイムスタンプ(T)90c、及びシーケンス番号90d、図5(2)参照)を受信する。
【0080】
処理部70cは、フロー番号90fをメモリ71に与え、帯域設定情報74_1(=増加パラメータI、リミットパラメータL)及び次パケット到着予定時刻74_2(=論理到着時刻TAT)を読み出す。
乗算器701は、パケット長nと増加パラメータIを乗算した積(n×I)を出力する。加算器702は、パケット論理到着時刻TATと積(n×I)を加算した和(TAT+n×I)を出力する。加算器703は、時刻Tと積(n×I)を加算した和(T+n×I)を出力する。
【0081】
減算器705は、論理到着時刻TATとリミットパラメータLとの差(TAT−L)を出力し、比較器706は、差(TAT−L)とTを比較し、(TAT−L)<TであるときSEL1=“1”を出力し、T≦(TAT−L)であるときSEL1=“0”を出力する。比較器707は、TATとTを比較し、TAT<TであるときSEL0=“1”を出力し、T≦TATであるときSEL0=“0”を出力する。
【0082】
セレクタ704は、(SEL0,SEL1)=(0,0)、(0,1)、又は(1,1)のとき、それぞれ、“TAT”、“TAT+n×I”、又は“T+n×I”を選択して出力する。
この選択されデータは、メモリ71内の次パケット到着予定時刻74_2に書き込まれる。
【0083】
これにより、T≦(TAT−L)のとき、次のTAT=現在のTAT、(TAT−L)<T≦TATであるとき、次のTAT=TAT+n×I、TAT<Tであるとき、次のTAT=“T+n×I”とする。
OR回路708は、SEL0及びSEL1の論理和演算を行い、帯域制御結果として、適合=“1”又は非適合=“0”を出力する。この帯域制御結果をタグ付けした情報94は、分散処理部20に送信される。
【0084】
この後、帯域制御結果に基づき、パケット91等の廃棄等の所定の制御が行われる。
(付記1)
受信したパケットを複数の出力端子の内のいずれか1つに送出する前処理部と、
各出力端子にそれぞれ接続されて各出力端子からの該パケットを処理する複数の分散処理部と、
各分散処理部に分散された各パケットの受信順序情報に基づき、該パケットの帯域制御を行う共有リソース部と、
各分散処理部からのパケットを合流して出力する後処理部と、
を備えたことを特徴とするパケット処理装置。
【0085】
(付記2)上記の付記1において、
該受信順序情報は、パケットに付与された時間情報であることを特徴としたパケット処理装置。
(付記3)上記の付記2において、
該前処理部が、該時間情報をパケットに付与することを特徴としたパケット処理装置。
【0086】
(付記4)上記の付記2において、
該分散処理部が、該時間情報をパケットに付与することを特徴としたパケット処理装置。
(付記5)上記の付記2において、
該共有リソース部が、該時間情報に基づき、該パケットを時系列順に並びかえる順序補正処理部を有することを特徴としたパケット処理装置。
【0087】
(付記6)上記の付記2において、
該受信順序情報が、さらに、該前処理部がパケットに付加した、パケットの受信順序を示すシーケンス番号を含み、
該共有リソース部が、該シーケンス番号に基づき、該パケットを時系列順に並びかえる順序補正処理部を有することを特徴としたパケット処理装置。
【0088】
(付記7)上記の付記1において、
該共有リソース部は、ジャンピングウインドウ帯域制御方式、スライディングウインドウ帯域制御方式、及びGCRA帯域制御方式の内のいずれか1つの方式で帯域制御することを特徴としたパケット処理装置。
【0089】
(付記8)上記の付記1において、
該共有リソース部は、パケットをフロー別に分類するクラシファイ処理部をさらに備え、フロー別に帯域制御を行うことを特徴としたパケット処理装置。
(付記9)上記の付記1において、
各分散処理部は、パケットをフロー別に分類するクラシファイ処理部をさらに備え、該共有リソース部がフロー別に帯域制御を行うことを特徴としたパケット処理装置。
【0090】
(付記10)上記の付記1において、
該前処理部は、パケットをフロー別に分類するクラシファイ処理部をさらに備え、該共有リソース部がフロー別に帯域制御を行うことを特徴としたパケット処理装置。
【0091】
(付記11)上記の付記1において、
該受信順序情報が、該パケットの受信順序を示すシーケンス番号であり、
該共有リソース部が、該パケットを該シーケンス番号順に並び変える順序補正処理部と、該パケットが自分自身に入力された時刻を計時するタイマと、をさらに備え、該時刻に基づき帯域制御することを特徴としたパケット処理装置。
【0092】
(付記12)上記の付記11において、
該前処理部が、該パケットに該シーケンス番号を付加することを特徴としたパケット処理装置。
【0093】
【発明の効果】
以上説明したように、本発明に係るパケット処理装置によれば、共有リソース部が、各分散処理部に分散された各パケットの受信順序情報(例えば、タイムスタンプ、シーケンス番号)に基づき、該パケットの帯域制御を行うように構成したので、自装置の帯域を圧迫することなくパケットの帯域制御を行うことが可能になる。
【0094】
また、好ましくは前処理部が、受信したパケットにタイムスタンプを付与するようにしたので、精度の高いパケット帯域制御を行うことが可能になる。
【図面の簡単な説明】
【図1】本発明に係るパケット処理装置の実施例を示したブロック図である。
【図2】本発明に係るパケット処理装置における前処理部の実施例を示したブロック図である。
【図3】本発明に係るパケット処理装置における前処理部におけるパケットのフォーマット例を示した図である。
【図4】本発明に係るパケット処理装置における分散処理部の動作例を示した図である。
【図5】本発明に係るパケット処理装置における各情報のフォーマット例を示した図である。
【図6】本発明に係るパケット処理装置の分散処理部及び順序補正処理部における順序補正の実施例(1)を示したブロック図である。
【図7】本発明に係るパケット処理装置の分散処理部及び順序補正処理部における順序補正の実施例(2)を示したブロック図である。
【図8】本発明に係るパケット処理装置におけるクラシファイ処理部の実施例を示したブロック図である。
【図9】本発明に係るパケット処理装置における帯域制御処理部の実施例(1)を示したブロック図である。
【図10】本発明に係るパケット処理装置における帯域制御処理部の実施例(2)を示したブロック図である。
【図11】本発明に係るパケット処理装置における帯域制御処理部の実施例(3)を示したブロック図である。
【図12】本発明に係るパケット処理装置の帯域制御処理部における実施例(3)をより詳細に示したブロック図である。
【図13】一般的なパケット交換装置の構成を示したブロック図である。
【図14】一般的なパケット処理装置の構成を示したブロック図である。
【図15】一般的なジャンピングウインドウ帯域制御方式を示した図である。
【図16】一般的なスライディングウインドウ帯域制御方式を示した図である。
【図17】一般的なGCRA帯域制御方式を示した図である。
【符号の説明】
100,100_1〜100_k,100z,100z_1〜100z_k パケット処理装置
110,110_1〜110_k 回線処理部 120 スイッチ
130,130_11〜130_1i,…,130_k1〜130_ki 物理回線
10,10z 前処理部 11 タイマ
12 タイムスタンプ付与部 13 シーケンス番号付与部
14 出力キュースイッチ 15,15_1〜15_n キュー
16 出力キュー指示部
20,20_1〜20_n,20z,20z_1〜20z_n 分散処理部
30,30z 後処理部 40,40z 共有リソース部
50,50a,50b 順序補正処理部 51_1〜51_n キュー
52 セレクタ 53 バッファ
60 クラシファイ処理部 61 CAMアクセス制御部
62 CAM・RAM部
70,70a,70b,70c 帯域制御処理部 71 メモリ
72_1 許容バイト数 72_2 受信バイト数
73_1 許容バイト数 73_2〜73_4 受信バイト数
74_1 帯域設定情報 74_2 次パケット到着予定時刻
701 乗算器 702,703 加算器
704 セレクタ 705 減算器
706,707 比較器 708 OR回路
90,91,91_0,91_1〜90_8 パケット 90a ペイロード
90b パケットヘッダ 90c タイムスタンプ
90d シーケンス番号 90e パケット長
90f フロー番号 90g タグ情報
90h パケット情報 92,92_0,92_1〜92_8 情報
93,94 情報 95 パケット
TAT パケット論理到着時刻 T パケット到着時刻
I 増加パラメータ L リミットパラメータ
n パケット長
図中、同一符号は同一又は相当部分を示す。
【発明の属する技術分野】
本発明はパケット処理装置に関し、特にパケット(フレーム)の帯域を制御するパケット処理装置に関するものである。
近年、通信技術の発達に伴い、データだけでなく音声、靜画像、及び動画像等の通信情報量は急速に増大している。このような情報を伝送する通信網においては、各情報のフローが、所定の帯域内のあるか否かを判定して制御を行う帯域制御は、通信の信頼性を確保するためにますます重要である。
【0002】
【従来の技術】
図13は、一般的なパケット交換装置の構成例を示している。このパケット交換装置は、物理回線130_11〜130_1i、物理回線130_21〜130_2i、…、物理回線130_k1〜130_ki(以下、符号130で総称することがある。)をそれぞれ終端する回線処理部110_1,110_2,…,110_k(以下、符号110で総称することがある。)、各回線処理部110にそれぞれ接続されたパケット処理装置100z_1〜100z_k(以下、符号100zで総称することがある。)、及びこれらのパケット処理装置100z_1〜100z_kで接続されたスイッチ120で構成されている。
【0003】
なお、同図では、回線処理部110に複数の物理回線130が接続されているが、回線処理部110に接続される物理回線130の数は1本の場合もある。
動作において、例えば、回線処理部110_jは、物理回線130_jiからの回線信号から取り出したパケット90をパケット処理装置100z_jに転送する。
【0004】
パケット処理装置100z_jは、回線処理部110_kから受信したパケット90に対して以下のイングレス(ingress)処理(1)〜(4)を行った後、スイッチ120に転送する。
(1)クラシファイ処理:パケット90の発信元、宛先、及びプロトコル等に基づきパケット90のフロー種別を判定する。
【0005】
(2)フィルタリング処理:透過禁止のパケット90を廃棄する。
(3)ルーティング処理:パケット90が持つ宛先情報等に基づき、スイッチ120を経由してどのパケット処理装置100zにパケット90を転送すべきかを決定し、転送先を示す情報(内部タグ)をパケット90に付与する。
【0006】
(4)帯域制御処理:上記のクラシファイ処理で指定されたパケット種別毎にパケット流量の制御を行う。
スイッチ120は、パケット処理装置100z_jから受信したパケット90を、その内部タグが示す、例えばパケット処理装置100z_kに転送する。
【0007】
パケット処理装置100z_kは、スイッチ120から受信したパケット90に対して以下のエグレス(Egress)処理(1)、(2)を行った後、回線処理部110に転送する。
(1)フィルタリング処理:透過禁止のパケット90を廃棄する。
(2)ルーティング処理:パケット90が持つ宛先情報等に基づき、パケット90を回線処理部110を経由して転送すべき物理回線130を決定し、転送先を指定する情報(内部タグ)をパケット90に付与する。
【0008】
回線処理部110_kは、パケット処理装置100z_kから受信したパケット90を内部タグで指定された、例えば物理回線130_k1に回線信号として出力する。
図14は、パケットを分散して処理する一般的なパケット処理装置100zの構成を示している。このパケット処理装置100zは、パケットを分散して処理することにより処理性能を向上させている。
【0009】
パケット処理装置100zは、前処理部10z、分散処理部20z_1〜20z_n(以下、符号20zで総称することがある。)、共有リソース部40z、及び後処理部30zで構成されている。この構成は、イングレス処理を行うパケット処理装置100z及びエグレス処理を行うパケット処理装置100zに共通の構成である。
【0010】
前処理部10zは、上流から受信したパケットを複数の分散処理部20z_1〜20z_nの内のいずれか1つに送出する。この分散のためのアルゴリズムは、例えば、各分散処理部20zに対応した出力キュー(図示せず)を設け、この出力キューのキュー長を監視する方式、ラウンドロビン方式等がある。
【0011】
また、前処理部10zは、分散したパケットの順序を下流の後処理部30zで再生できるように、各パケットにシーケンス番号を付与する。
分散処理部20zは、受信したパケットに対する各種処理、例えば、編集処理、検索処理等を行い、処理を完了したパケットを後処理部30zに与える。
【0012】
共有リソース部40zは、分散処理部20z_1〜20z_nで共有する検索エンジン、共有メモリ等のリソースであり、各分散処理部20zからアクセスされる。
後処理部30zは、各パケットに付与されたシーケンス番号に基づき、前処理部10zに入力されたパケットの順序を再生した後、下流に転送する。
【0013】
パケット処理装置100zは、さらに、パケットが所定の帯域内にあるか否かを制御する帯域制御、すなわち、所定の帯域に違反しているパケットを廃棄するか、又はマーキング(タグ付け)する等の帯域制御を行う。
ここで、一般的な帯域制御の方式として、(1)ジャンピングウインドウ帯域制御方式、(2)スライディングウインドウ帯域制御方式、及び(3)GCRA(Generic Cell Rate Algorithm)帯域制御方式を以下に説明する。
【0014】
(1) ジャンピングウインドウ帯域制御方式
図15にジャンピングウインドウ帯域制御方式を示す。この方式は、絶対時間上で区切られた一定の時間幅TwのウインドウWn−1,Wn,Wn+1,Wn+2(同図において、ウインドウ時間幅Tw=時刻Tn−Tn−1=時刻Tn+1−Tn=時刻Tn+2−Tn+1=時刻Tn+3−Tn+2)の中でそれぞれ受信したパケットの総バイト数に基づき、帯域を評価する方式である。
【0015】
この方式は、実装が容易であるが、例えば、過去のウインドウWn−1の情報を次のウインドウWnに引き継ぐことが出来ない。例えば、ウインドウWn−1で受信したパケットのバイト数=“0”であり、次のウインドウWnの受信パケットの総バイト数が契約した規定値を超えた場合、ウインドウWn−1とウインドウWnで受信したパケットの合計バイト数の平均が規定値を越えない場合においても、帯域違反と判定される。
【0016】
(2) スライディングウインドウ帯域制御方式
図16に、スライディングウインドウ帯域制御方式を示す。この方式は、例えば、パケットfa,fb,fcが到着する毎に、その到着時点Ta,Tb,Tcから過去一定時間幅Twのウインドウ内で受信したパケットの総バイト数に基づき、帯域を評価する。
【0017】
この方式は、帯域をダイナミックに評価することができるが、実装は難しい。
(3)GCRA 帯域制御方式
図15にGCRA帯域制御方式を示す。この方式は、連続する2つのパケットの受信間隔に基づき、帯域を評価する方式であり、論理的には、リーキバケット(LeakyBucket)帯域制御方式と等価である。
【0018】
GCRA帯域制御方式のアルゴリズムを以下に説明する。
ここで、TAT=パケットの論理到着時刻(Theoretical Arrival Time)、T=実際のパケット到着時刻(Time)、I=増加パラメータ(Increment Parameter)、L=リミットパラメータ(Limit Parameter)、n=パケット長(Packet Length)とする。この内のI,Lの値は予め設定されている。
【0019】
▲1▼制御を開始した後、最初に受信したパケットは、無条件に帯域制御結果=“適合”と判定し、次式(1)で次のTATを算出する。
TAT=T+nI ・・・式(1)
▲2▼以後、パケット(長さn、到着時刻T)受信毎にTATとの比較を行い、“適合”又は“非適合”の判定及び次のTATの算出を行う。
【0020】
(a)比較結果:TAT<T(時刻TATより後にパケットを受信、同図(1)参照)である場合、帯域制御結果=“適合”とし、次式(2)で時刻Tを基点として次のTATを算出する。
TAT=T+nI ・・・式(2)
(b)比較結果:TAT−L≦T≦TATである場合(時刻(TAT−L)より後かつ時刻TAT前にパケットを受信した場合、同図(2)参照)、帯域制御結果=“適合”とし、現在のTATを基点として次式(3)で次のTATを算出する。
【0021】
次のTAT=現在のTAT+nI ・・・式(3)
(c)比較結果:T<TAT−Lである場合(時刻(TAT−L)より前にパケットを受信した場合、同図(3)参照)、帯域制御結果=“不適合”とし、次式(4)で次のTATを算出する。すなわち、TATの更新を行わない。
【0022】
次のTAT=現在のTAT ・・・式(4)
【0023】
【発明が解決しようとする課題】
このような帯域制御を分散処理部20zで行った場合、各分散処理部20zにパケットが分散されるためパケットの連続性が保たれず、したがって、精度の高い帯域制御を行うことは出来なかった。そこで、従来の帯域制御は、(1)前処理部10zで行う方式、又は(2)後処理部30zで行う方式があった。
【0024】
(1) 前処理部で帯域制御を行う方式
この方式は、分散処理を行う前であるため、パケット間隔の揺らぎが少なく、精度の高い帯域制御ができるという利点がある。しかしながら、帯域制御を行うためには、それ以前にクラシファイ処理を行う必要があり、これに伴って処理情報が発生することにより帯域を圧迫する。
【0025】
(2) 後処理部で帯域制御を行う方式
この方式は、分散処理部20z若しくは共有リソース部40zでクラシファイ処理を行うことができる利点がある。しかしながら、分散処理部20z若しくは共有リソース部40zが、クラシファイ結果情報を後処理部30zに通知ための情報が必要であるため帯域の圧迫を招く。
【0026】
また、上流でパケットがフロー分散及び合流されているため、パケット間隔の揺らぎが大きくなり、帯域制御の精度が低くなる欠点がある。
従って本発明は、パケットの帯域を制御するパケット処理装置において、自装置の帯域を圧迫することなくパケットの帯域制御を行うこと、また精度の高いパケット帯域制御を行うことを課題とする。
【0027】
【課題を解決するための手段】
上記の課題を解決するため、本発明のパケット処理装置は、受信したパケットを複数の出力端子の内のいずれか1つに送出する前処理部と、各出力端子にそれぞれ接続されて各出力端子からの該パケットを処理する複数の分散処理部と、各分散処理部に分散された各パケットの受信順序情報に基づき、該パケットの帯域制御を行う共有リソース部と、各分散処理部からのパケットを合流して出力する後処理部と、を備えたことを特徴としている(請求項1、付記1)。
【0028】
本発明のパケット処理装置100は、図14に示した一般的なパケット処理装置100zと基本的な構成は同じであり、従来の前処理部10z、分散処理部20z_1〜20z_n、共有リソース部40z、及び後処理部30zの代わりに、前処理部10、n個の分散処理部20_1〜20_n(以下符号20で総称することがある。)、共有リソース部40、及び後処理部30で構成されている。
【0029】
本発明のパケット処理装置100が従来のパケット処理装置100zと基本的に異なる点は、共有リソース部40が、各分散処理部20に分散されたパケットの受信順序情報を収集し、この情報に基づきパケットの帯域制御を行うことである。
すなわち、前処理部10は、受信したパケットを、複数の出力端子の内から、例えば、従来の所定のアルゴリズムで選択した1つの出力端子に送出する。
【0030】
各分散処理部20_1〜20_nは、それぞれ前処理部10の出力端子から受信したパケットの処理を行う。
共有リソース部40は、分散処理部20_1〜20_nに分散されているパケットの受信順序情報に基づき、パケットが所定の帯域内にあるか否かを判定する帯域制御を行う。
【0031】
後処理部30は、分散処理部で処理されたパケットを合流して出力する。
従って、本発明のパケット処理装置は、帯域制御結果に基づき自装置における帯域を圧迫すること無く、例えば、帯域違反のパケットの廃棄、又は下流に対して帯域違反の通知、さらにはパケットの送信元に帯域違反通知等を行いパケットの帯域制御が実現できる。
【0032】
このように、分散処理部に分散されているパケットの帯域制御を共有リソース部40で行うことが可能になり、余分な処理情報や通知情報が不要であるため帯域を圧迫することなくパケットを帯域制御することが可能になる。
なお、上記のパケットの廃棄、及び帯域違反の通知等の処理は、本発明の帯域制御結果に基づき、例えば、分散処理部、後処理部その他等の所定の処理部で行われる。
【0033】
また、本発明は、上記の本発明において、該受信順序情報を、パケットに付与された時間情報とすることができる(請求項2、付記2)。
すなわち、共有リソース部40は、パケットに付与された時間情報(例えば、タイムスタンプ)に基づき、パケットの正確な時系列上の位置を判別し、帯域制御を行う。これにより、パケットに時間情報を付与した時点から帯域制御前までの間の処理で発生する時系列上のパケットの揺らぎを補正することが可能になり、精度の良い帯域制御が可能になる。
【0034】
また、本発明は、上記の本発明において、該前処理部は、該時間情報をパケットに付与することができる(請求項3、付記3)。
また、本発明は、上記の本発明において、該分散処理部は、該時間情報をパケットに付与することができる(付記4)。
【0035】
すなわち、時間情報(タイムスタンプ)を、前処理部10又は分散処理部20でパケットに付与することが可能である。なお、時間情報の時系列上の揺らぎは、時間情報が前処理部10で付与された方が分散処理部20で付与された方より少なく、正確な帯域制御ができる。
【0036】
例えば、前処理部10が最前段でパケットにタイムスタンプを付与した場合、前処理部10の後段の処理や分散処理部20の分散処理に起因するパケットの揺らぎに影響されることなく、共有リソース部40はパケットが前処理部10に到着した時刻に基づき正確な帯域制御を行うことが可能になる。
【0037】
また、本発明は、上記の本発明において、該共有リソース部は、該時間情報に基づき、該パケットを時系列順に並びかえる順序補正処理部を備えることができる(付記5)。
すなわち、順序補正処理部は、例えば、各分散処理部20に分散処理されたため、時系列上の順序が変わってしまったパケットの順序を、このパケットに付与された時間情報(タイムスタンプ)に基づき、元に戻す。
【0038】
これにより、パケットを時系列順に処理することが可能になり、帯域制御が容易になる。
また、本発明は、上記の本発明において、該受信順序情報が、さらに、該前処理部がパケットに付加した、パケットの受信順序を示すシーケンス番号を含み、該共有リソース部が、該シーケンス番号に基づき、該パケットを時系列順に並びかえる順序補正処理部を備えることができる(請求項4、付記6)。
【0039】
これによっても、パケットを時系列順に処理することが可能になり、帯域制御が容易になる。
また、本発明は、上記の本発明において、該共有リソース部は、ジャンピングウインドウ帯域制御方式、スライディングウインドウ帯域制御方式、及びGCRA帯域制御方式の内のいずれか1つの方式で帯域制御することができる(付記7)。
【0040】
すなわち、共有リソース部40は、図15に示したジャンピングウインドウ帯域制御方式、図16に示したスライディングウインドウ帯域制御方式、又は図17に示したGCRA帯域制御方式で帯域制御してもよい。
また、本発明は、上記の本発明において、該共有リソース部は、パケットをフロー別に分類するクラシファイ処理部をさらに備え、フロー別に帯域制御を行うことが可能である(請求項5、付記8)。
【0041】
また、本発明は、上記の本発明において、各分散処理部は、パケットをフロー別に分類するクラシファイ処理部をさらに備え、該共有リソース部はフロー別に帯域制御を行うことができる(付記9)。
また、本発明は、上記の本発明において、該前処理部は、パケットをフロー別に分類するクラシファイ処理部をさらに備え、該共有リソース部はフロー別に帯域制御を行うことができる(付記10)。
【0042】
すなわち、クラシファイ処理部60を、共有リソース部40、分散処理部20、又は前処理部10に配置する。クラシファイ処理部60は、パケットをフロー別に分類し、共有リソース部40がフロー別に帯域制御を実施する。
これにより、フロー別の帯域制御が可能になる。なお、クラシファイ処理部の配置位置は、最も帯域を圧迫しないところを選択すればよく、一般的に分散処理部20にクラシファイ処理部を配置する方式が、クラシファイ処理が分散されるため帯域圧迫が少ない。
【0043】
また、本発明は、上記の本発明において、該受信順序情報が、該パケットの受信順序を示すシーケンス番号であり、該共有リソース部が、該パケットを該シーケンス番号順に並び変える順序補正処理部と、該パケットが自分自身に入力された時刻を計時するタイマとをさらに備え、該時刻に基づき帯域制御することが可能である(付記11)。
【0044】
すなわち、受信順序情報として、パケットの受信順序を示すシーケンス番号を用いる。共有リソース部40は、さらに、順序補正処理部及びタイマを備えている。順序補正処理部はパケットをシーケンス番号順に並び変え、タイマは、パケットが共有リソース部40に入力した時刻を計時し、この時刻に基づき、共有リソース部40はパケットの帯域制御を行う。
【0045】
これによっても、共有リソース部40は帯域制御を行うことができる。すなわち、パケットが分散処理部20に分散した場合においても、パケットが共有リソース部40に到着した時刻に基づき帯域制御を行うことが可能になる。
なお、この帯域制御では、パケットにタイムスタンプを付与する必要はない。
【0046】
さらに、本発明は、上記の本発明において、該前処理部が、該パケットに該シーケンス番号を付加してもよい(付記12)。
【0047】
【発明の実施の形態】
図1は、本発明に係るパケット処理装置100の実施例を示している。このパケット処理装置100は、図14で示した一般的なパケット処理装置100zと同様に、前処理部10、分散処理部20_1〜20_n、後処理部30、及び共有リソース部40で構成されている。
【0048】
図1では、共有リソース部40が、特に詳細に示されており、この共有リソース部40が、順序補正処理部50、クラシファイ処理部60、及び帯域制御処理部70で構成されていることが特徴である。
図2は、図1に示した前処理部10の実施例を示している。この前処理部10は、タイマ11と、受信したパケット90にタイマ11が示す時刻、すなわち、タイムスタンプ90cを付加して出力するタイムスタンプ付与部12と、パケット90にさらにシーケンス番号90dを付与したパケット91を出力するシーケンス番号付与部13とを備えている。
【0049】
さらに、前処理部10は、パケット91をn本の出力端子の内のいずれかに出力する出力キュースイッチ14と、出力キュースイッチ14の各出力端子に接続され、出力キュースイッチ14から与えられたパケット91をキューイングするキュー15_1〜15_n(以下、符号15で総称することがある。)と、キュー15のキューイング状態を検出し、例えば、キューイングされているバイト数が最も少ないキュー15を検出し、このキュー15に次のパケット91を与える指示を出力キュースイッチ14に与える出力キュー指示部16とを備えている。
【0050】
図3(1)は、前処理部10に入力されるパケット90のフォーマット例を示している。このパケット90は、ペイロード90a及びパケットヘッダ90b(例えば、IPv4ヘッダ)で構成されている。
同図(2)は、出力キュースイッチ14に与えられるパケット91のフォーマット例を示している。このパケット91は、同図(1)に示したパケット90と、このパケット90に付与されたタイムスタンプ90c及びシーケンス番号90dとで構成されている。
【0051】
図4は、図1に示した分散処理部20の動作例を示している。分散処理部20は、前処理部10から受信したパケット91_2,91_4,91_7(以下、符号91で総称することがある。)を順次受信し、これらのパケット91にそれぞれ付与されたシーケンス番号90d、タイムスタンプ90c等から成る情報92_2,92_4,92_7(以下、符号92で総称することがある。)を共有リソース部40に与える。
【0052】
図5は、分散処理部20及び共有リソース部40で伝送される各情報例を示している。同図(1)は、情報92の構成例を示している。この情報92は、シーケンス番号90d、タイムスタンプ90c、パケット長90e、及びパケット情報90hで構成されている。パケット情報90hは、パケット91のクラシファイに必要な情報、例えば宛先IPアドレス、送信元IPアドレス、又はL4プロトコル等である。
【0053】
また、分散処理部20は、逆に、共有リソース部40から帯域制御結果であるタグ情報90gとシーケンス番号90dとから成る情報94_2,94_4,94_7(以下、符号94で総称することがある。)を受信する。図5(3)は、この情報94のフォーマット例を示しており、この情報94は、シーケンス番号90dとタグ情報90gで構成されている。
【0054】
さらに、分散処理部20は、パケット91のタイムスタンプ90c(図3(2)参照)の代わりに、自パケット91に付与されたシーケンス番号90dと同じシーケンス番号90dの情報94のタグ情報90gを付与したパケット95を後処理部30に与える。
図5(4)は、パケット95のフォーマット例を示しており、このパケット95は、パケット90、シーケンス番号90d、タグ情報90gで構成されている。同図(3)については後述する。
【0055】
図6は、情報92の受信順序を補正する実施例(1)を示しており、この実施例(1)では、各分散処理部20が、前処理部10から受信したパケット91の受信順序と同じ順序で情報92(図5(3)参照、図6では、シーケンス番号90dのみを示す。)を順序補正処理部50aに与える。
【0056】
順序補正処理部50aは、分散処理部20_1〜20_nにそれぞれ対応したキュー(FIFO)51_1〜キュー51_n(以下、符号51で総称することがある。)及びセレクタ52で構成されている。
キュー51は、分散処理部20から受信した情報92をFIFOで記憶し、セレクタ52は、全各キュー51の中から一番若いシーケンス番号90dの情報92を選択してクラシファイ処理部60に与える。
【0057】
これにより、前処理部10に入力されたパケット90の順序と同じ順序で対応するパケット90の情報92が、クラシファイ処理部60に与えられる。
図7は、情報92の受信順序を補正する実施例(2)を示しており、この実施例(2)では、各分散処理部20は、実施例(1)と異なり、パケット91が自装置20に入力された順と異なる順でパケット91に対応する情報92を順序補正処理部50bに与える。
【0058】
例えば、分散処理部20_1は、シーケンス番号90dがそれぞれ“41”、“42”、“47”であるパケット91_1,91_2,91_7を順次受信し、そして、シーケンス番号90dがそれぞれ“47”、“41”、“42”である情報92_7,92_1,92_2を順序補正処理部50bに与える。
【0059】
分散処理部20の内部処理が分散して行われているようなとき、このような順序保存されない場合が発生する。
なお、図6と同様に図7では、各パケット91及び情報92には、シーケンス番号90dのみが示され、タイムスタンプ90c等は省略されている。
【0060】
順序補正処理部50bは、バッファ53を備えており、このバッファ53に分散処理部20_1〜20_nから受信した情報92_0,92_1〜92_8を、シーケンス番号90dの順に並べて記憶する。そして、順序補正処理部50bは、シーケンス番号90dの順(40,41,…,48,…)にバッファ53から情報92を読み出してクラシファイ処理部60に与える。
【0061】
なお、図6及び図7において、分散処理部20又は順序補正処理部50aは、シーケンス番号90dの代わりにタイムスタンプ90cを用いてパケットの順序を補正してもよい。この場合、シーケンス番号90dは不要である。
図8は、クラシファイ処理部60の実施例を示している。このクラシファイ処理部60は、CAM(Content Address Memory)アクセス制御部61とCAM・RAM部62で構成されている。
【0062】
CAM・RAM部62には、パケット情報90hに対応するフロー番号90fが登録されている。
CAMアクセス制御部61は、情報92の内のクラシファイ用パケット情報90h(図5(1)参照)をCAM・RAM部62に与え、パケット情報90hに対応するフロー番号90fを読出し、情報92の内のパケット情報90hの代わりにフロー番号90fを付加した情報93を帯域制御処理部70に与える。
【0063】
この情報93は図5(2)に示されている。この情報93は、シーケンス番号90d、タイムスタンプ90c、パケット長90e、及びフロー番号90fで構成されている。
帯域制御処理部70の実施例(1)〜(3)を図9〜図12を用いて以下に説明する。
図9は、帯域制御処理部70の実施例(1)を示している。この実施例(1)では、特に、図15で説明したジャンピングウインドウ帯域制御方式の帯域制御処理部70aを示している。
【0064】
帯域制御処理部70aは、各フロー番号90fに対応した許容バイト数72_1及び受信バイト数72_2を記憶するメモリ71を備えている。許容バイト数72_1には、フロー番号90fに対応したフローの許容バイト数(このバイト数は許容設定帯域に対応)が予め登録されており、受信バイト数72_2には、フロー番号90fに対応したフローの一定時間Tに受信した受信バイト数が記憶される。受信バイト数の初期値は“0”である。
【0065】
帯域制御処理部70aの動作手順を以下に説明する。なお、この動作手順は、フロー番号毎に実行される。
ステップ S10:帯域制御処理部70aは、フロー番号90fをメモリ71に与え、これに対応する許容バイト数72_1及び受信バイト数72_2を読み出す。
【0066】
ステップ S11:処理部70aは、新たな受信バイト数72_2=前の受信バイト数72_2+パケット長(バイト数)90eで更新し、この新たな受信バイト数72_2をステップS10で与えたフロー番号90fと同一のフロー番号に対応する受信バイト数72_2に書き込む。
【0067】
ステップ S12:処理部70aは、新たな受信バイト数72_2と許容バイト数72_1を比較し、フローの設定許容帯域が守られている否かを判定し、判定結果をタグ付けした情報94(図5(3)参照)を分散処理部20に与える。
図5(3)の説明で述べたように、この情報94は、シーケンス番号90dとタグ情報90gで構成されている。タグ情報90gは、例えば、許容帯域が守られていることを示す“OK”又は許容帯域違反を示す“NG”で構成してもよいし、又は“緑”、“黄”、又は“赤”等のカラー情報で構成してもよい。
【0068】
ステップ S13:帯域制御処理部70aは、受信したタイムスタンプ90cを参照して一定時間T毎にメモリ71にエントリされた全受信バイト数72_2をクリアする。
なお、タイムスタンプ90cを用いずに、帯域制御処理部70aにタイマ(図示せず)を備え、このタイマに基づき一定時間毎に全受信バイト数72_2をクリアしてもよい。この場合、タイムスタンプ90cの情報は不要である。
【0069】
前処理部10にパケット90が入力した時刻を示したタイムスタンプ90cに基づく帯域制御は、帯域制御処理部70cに情報93が入力した時刻に基づく帯域制御より、前処理部10及び分散処理部20における処理に起因する情報93間の揺れがないため、精度のよい帯域制御が可能である。
【0070】
図10は、帯域制御処理部70の実施例(2)を示している。この実施例(2)では、特に、図16で説明したスライディングウインドウ帯域制御方式の帯域制御処理部70bを示している。
帯域制御処理部70bは、フロー番号90fに対応した許容バイト数73_1及び受信バイト数73_2〜73_mを記憶するメモリ71を備えている。許容バイト数73_1には、フロー番号90fに対応したフローの許容バイト数(設定許容帯域に対応)が予め登録されている。
【0071】
受信バイト数73_2〜73_mには、フロー番号90fに対応した受信したフローの受信バイト数が記憶される。受信バイト数73_2〜73_mの初期値は“0”である。
帯域制御処理部70bの動作手順を以下に説明する。なお、この動作手順は、フロー番号毎に実行される。
【0072】
ステップ S20:帯域制御処理部70bは、受信した情報93のフロー番号90fをメモリ71に与え、許容バイト数73_1、及び受信バイト数73_2〜73_mを読み出す。
ステップ S21:処理部70bは、新しい受信バイト数73_2=前の受信バイト数73_2+パケット長90e(バイト数)で更新し、新しい受信バイト数73_2をメモリ71の受信バイト数73_2に書き込む。
【0073】
ステップ S22:処理部70bは、受信バイト数73_2〜73_mを合計し、この合計バイト数と許容バイト数を比較し、設定許容帯域が守られている否かを判定し、この判定結果をタグ付けした情報94(図5(3)参照)を分散処理部20に与える。
ステップ S23:処理部70bは、受信した情報93のタイムスタンプ90cに基づき、一定時間間隔t毎に受信バイト数をシフト(受信バイト数73_m←受信バイト数73_(m−1),…,受信バイト数73_3←受信バイト数73_2,受信バイト数73_2←“0”(クリア))する。
【0074】
なお、受信バイト数73_2〜73_mの数(m−1)は、シフトする時間間隔tとウインドウ時間幅Twとで決まる。
また、タイムスタンプ90cを用いずに、帯域制御処理部70aにタイマを備え、このタイマに基づき一定時間毎にシフトしてもよい。この場合、タイムスタンプ90cは不要であるが、帯域制御処理部70aに情報93に到着した時刻に基づき元のパケット90の帯域制御を行うことになり、実施例(1)と同様に帯域制御に揺れが発生する。
【0075】
図11は、帯域制御処理部70の実施例(3)を示している。この実施例(3)では、特にGCRA帯域制御方式の帯域制御処理部70cを示している。
帯域制御処理部70cは、各フロー番号90fに対応した帯域設定情報74_1(I:増加パラメータ、L:リミットパラメータ)及び次パケット到着予定時刻74_2(TAT:論理到着時刻)を記憶するメモリ71を備えている。増加パラメータI及びリミットパラメータLは予め登録されている。
【0076】
次パケット到着予定時刻74_2には、図17の説明で示した式(1)〜(4)で計算した論理到着時刻TATが記憶される。論理到着時刻TATの初期値は“0”である。
帯域制御処理部70cの動作手順を以下に説明する。なお、この動作手順は、フロー番号90f毎に実行される。
【0077】
ステップ S30:帯域制御処理部70cは、受信した情報93(図5(2)参照)のフロー番号90fをメモリ71に与え、フロー番号90fに対応する帯域設定情報74_1及び次パケット到着予定時刻74_2を読み出す。
ステップ S31:処理部70cは、タイムスタンプ90c(=実際のパケット到着時刻T)と到着予定時刻74_2(論理到着時刻TAT)を比較して設定許容帯域が守られているか否かを判定し、その判定結果をタグ付けした情報94を作成する。
【0078】
ステップ S32:処理部70cは、パケット到着時刻Tの条件(図17(1)〜(3)参照)に基づき選択した式(1)〜(4)の内のいずれか1つを選択し、選択した式で論理到着時刻TATを計算する。さらに、処理部70cは、計算結果を当該フロー番号90fに対応するメモリ71内の次パケット到着予定時刻74_2に書き込むと共に、情報94(図5(3)参照)を分散処理部20に与える。
【0079】
図12は、図11に示した帯域制御処理部70cのより詳細な動作を示している。この詳細動作を以下に説明する。
処理部70cは、クラシファイ処理部60から情報93(フロー番号90f、パケット長(n)90e、タイムスタンプ(T)90c、及びシーケンス番号90d、図5(2)参照)を受信する。
【0080】
処理部70cは、フロー番号90fをメモリ71に与え、帯域設定情報74_1(=増加パラメータI、リミットパラメータL)及び次パケット到着予定時刻74_2(=論理到着時刻TAT)を読み出す。
乗算器701は、パケット長nと増加パラメータIを乗算した積(n×I)を出力する。加算器702は、パケット論理到着時刻TATと積(n×I)を加算した和(TAT+n×I)を出力する。加算器703は、時刻Tと積(n×I)を加算した和(T+n×I)を出力する。
【0081】
減算器705は、論理到着時刻TATとリミットパラメータLとの差(TAT−L)を出力し、比較器706は、差(TAT−L)とTを比較し、(TAT−L)<TであるときSEL1=“1”を出力し、T≦(TAT−L)であるときSEL1=“0”を出力する。比較器707は、TATとTを比較し、TAT<TであるときSEL0=“1”を出力し、T≦TATであるときSEL0=“0”を出力する。
【0082】
セレクタ704は、(SEL0,SEL1)=(0,0)、(0,1)、又は(1,1)のとき、それぞれ、“TAT”、“TAT+n×I”、又は“T+n×I”を選択して出力する。
この選択されデータは、メモリ71内の次パケット到着予定時刻74_2に書き込まれる。
【0083】
これにより、T≦(TAT−L)のとき、次のTAT=現在のTAT、(TAT−L)<T≦TATであるとき、次のTAT=TAT+n×I、TAT<Tであるとき、次のTAT=“T+n×I”とする。
OR回路708は、SEL0及びSEL1の論理和演算を行い、帯域制御結果として、適合=“1”又は非適合=“0”を出力する。この帯域制御結果をタグ付けした情報94は、分散処理部20に送信される。
【0084】
この後、帯域制御結果に基づき、パケット91等の廃棄等の所定の制御が行われる。
(付記1)
受信したパケットを複数の出力端子の内のいずれか1つに送出する前処理部と、
各出力端子にそれぞれ接続されて各出力端子からの該パケットを処理する複数の分散処理部と、
各分散処理部に分散された各パケットの受信順序情報に基づき、該パケットの帯域制御を行う共有リソース部と、
各分散処理部からのパケットを合流して出力する後処理部と、
を備えたことを特徴とするパケット処理装置。
【0085】
(付記2)上記の付記1において、
該受信順序情報は、パケットに付与された時間情報であることを特徴としたパケット処理装置。
(付記3)上記の付記2において、
該前処理部が、該時間情報をパケットに付与することを特徴としたパケット処理装置。
【0086】
(付記4)上記の付記2において、
該分散処理部が、該時間情報をパケットに付与することを特徴としたパケット処理装置。
(付記5)上記の付記2において、
該共有リソース部が、該時間情報に基づき、該パケットを時系列順に並びかえる順序補正処理部を有することを特徴としたパケット処理装置。
【0087】
(付記6)上記の付記2において、
該受信順序情報が、さらに、該前処理部がパケットに付加した、パケットの受信順序を示すシーケンス番号を含み、
該共有リソース部が、該シーケンス番号に基づき、該パケットを時系列順に並びかえる順序補正処理部を有することを特徴としたパケット処理装置。
【0088】
(付記7)上記の付記1において、
該共有リソース部は、ジャンピングウインドウ帯域制御方式、スライディングウインドウ帯域制御方式、及びGCRA帯域制御方式の内のいずれか1つの方式で帯域制御することを特徴としたパケット処理装置。
【0089】
(付記8)上記の付記1において、
該共有リソース部は、パケットをフロー別に分類するクラシファイ処理部をさらに備え、フロー別に帯域制御を行うことを特徴としたパケット処理装置。
(付記9)上記の付記1において、
各分散処理部は、パケットをフロー別に分類するクラシファイ処理部をさらに備え、該共有リソース部がフロー別に帯域制御を行うことを特徴としたパケット処理装置。
【0090】
(付記10)上記の付記1において、
該前処理部は、パケットをフロー別に分類するクラシファイ処理部をさらに備え、該共有リソース部がフロー別に帯域制御を行うことを特徴としたパケット処理装置。
【0091】
(付記11)上記の付記1において、
該受信順序情報が、該パケットの受信順序を示すシーケンス番号であり、
該共有リソース部が、該パケットを該シーケンス番号順に並び変える順序補正処理部と、該パケットが自分自身に入力された時刻を計時するタイマと、をさらに備え、該時刻に基づき帯域制御することを特徴としたパケット処理装置。
【0092】
(付記12)上記の付記11において、
該前処理部が、該パケットに該シーケンス番号を付加することを特徴としたパケット処理装置。
【0093】
【発明の効果】
以上説明したように、本発明に係るパケット処理装置によれば、共有リソース部が、各分散処理部に分散された各パケットの受信順序情報(例えば、タイムスタンプ、シーケンス番号)に基づき、該パケットの帯域制御を行うように構成したので、自装置の帯域を圧迫することなくパケットの帯域制御を行うことが可能になる。
【0094】
また、好ましくは前処理部が、受信したパケットにタイムスタンプを付与するようにしたので、精度の高いパケット帯域制御を行うことが可能になる。
【図面の簡単な説明】
【図1】本発明に係るパケット処理装置の実施例を示したブロック図である。
【図2】本発明に係るパケット処理装置における前処理部の実施例を示したブロック図である。
【図3】本発明に係るパケット処理装置における前処理部におけるパケットのフォーマット例を示した図である。
【図4】本発明に係るパケット処理装置における分散処理部の動作例を示した図である。
【図5】本発明に係るパケット処理装置における各情報のフォーマット例を示した図である。
【図6】本発明に係るパケット処理装置の分散処理部及び順序補正処理部における順序補正の実施例(1)を示したブロック図である。
【図7】本発明に係るパケット処理装置の分散処理部及び順序補正処理部における順序補正の実施例(2)を示したブロック図である。
【図8】本発明に係るパケット処理装置におけるクラシファイ処理部の実施例を示したブロック図である。
【図9】本発明に係るパケット処理装置における帯域制御処理部の実施例(1)を示したブロック図である。
【図10】本発明に係るパケット処理装置における帯域制御処理部の実施例(2)を示したブロック図である。
【図11】本発明に係るパケット処理装置における帯域制御処理部の実施例(3)を示したブロック図である。
【図12】本発明に係るパケット処理装置の帯域制御処理部における実施例(3)をより詳細に示したブロック図である。
【図13】一般的なパケット交換装置の構成を示したブロック図である。
【図14】一般的なパケット処理装置の構成を示したブロック図である。
【図15】一般的なジャンピングウインドウ帯域制御方式を示した図である。
【図16】一般的なスライディングウインドウ帯域制御方式を示した図である。
【図17】一般的なGCRA帯域制御方式を示した図である。
【符号の説明】
100,100_1〜100_k,100z,100z_1〜100z_k パケット処理装置
110,110_1〜110_k 回線処理部 120 スイッチ
130,130_11〜130_1i,…,130_k1〜130_ki 物理回線
10,10z 前処理部 11 タイマ
12 タイムスタンプ付与部 13 シーケンス番号付与部
14 出力キュースイッチ 15,15_1〜15_n キュー
16 出力キュー指示部
20,20_1〜20_n,20z,20z_1〜20z_n 分散処理部
30,30z 後処理部 40,40z 共有リソース部
50,50a,50b 順序補正処理部 51_1〜51_n キュー
52 セレクタ 53 バッファ
60 クラシファイ処理部 61 CAMアクセス制御部
62 CAM・RAM部
70,70a,70b,70c 帯域制御処理部 71 メモリ
72_1 許容バイト数 72_2 受信バイト数
73_1 許容バイト数 73_2〜73_4 受信バイト数
74_1 帯域設定情報 74_2 次パケット到着予定時刻
701 乗算器 702,703 加算器
704 セレクタ 705 減算器
706,707 比較器 708 OR回路
90,91,91_0,91_1〜90_8 パケット 90a ペイロード
90b パケットヘッダ 90c タイムスタンプ
90d シーケンス番号 90e パケット長
90f フロー番号 90g タグ情報
90h パケット情報 92,92_0,92_1〜92_8 情報
93,94 情報 95 パケット
TAT パケット論理到着時刻 T パケット到着時刻
I 増加パラメータ L リミットパラメータ
n パケット長
図中、同一符号は同一又は相当部分を示す。
Claims (5)
- 受信したパケットを複数の出力端子の内のいずれか1つに送出する前処理部と、
各出力端子にそれぞれ接続されて各出力端子からの該パケットを処理する複数の分散処理部と、
各分散処理部に分散された各パケットの受信順序情報に基づき、該パケットの帯域制御を行う共有リソース部と、
各分散処理部からのパケットを合流して出力する後処理部と、
を備えたことを特徴とするパケット処理装置。 - 請求項1において、
該受信順序情報は、パケットに付与された時間情報であることを特徴としたパケット処理装置。 - 請求項2において、
該前処理部が、該時間情報をパケットに付与することを特徴としたパケット処理装置。 - 請求項2において、
該受信順序情報が、さらに、該前処理部がパケットに付加した、パケットの受信順序を示すシーケンス番号を含み、
該共有リソース部が、該シーケンス番号に基づき、該パケットを時系列順に並びかえる順序補正処理部を有することを特徴としたパケット処理装置。 - 請求項1において、
該共有リソース部は、パケットをフロー別に分類するクラシファイ処理部をさらに備え、フロー別に帯域制御を行うことを特徴としたパケット処理装置。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2002233889A JP2004080102A (ja) | 2002-08-09 | 2002-08-09 | パケット処理装置 |
| US10/339,203 US20040028041A1 (en) | 2002-08-09 | 2003-01-09 | Packet processing device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2002233889A JP2004080102A (ja) | 2002-08-09 | 2002-08-09 | パケット処理装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2004080102A true JP2004080102A (ja) | 2004-03-11 |
Family
ID=31492438
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2002233889A Pending JP2004080102A (ja) | 2002-08-09 | 2002-08-09 | パケット処理装置 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US20040028041A1 (ja) |
| JP (1) | JP2004080102A (ja) |
Families Citing this family (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7197597B1 (en) * | 2003-07-22 | 2007-03-27 | Cisco Technology, Inc. | Performing lookup operations in a content addressable memory based on hashed values of particular use in maintaining statistics for packet flows |
| US7941606B1 (en) * | 2003-07-22 | 2011-05-10 | Cisco Technology, Inc. | Identifying a flow identification value mask based on a flow identification value of a packet |
| US7551624B2 (en) * | 2005-06-09 | 2009-06-23 | Sbc Knowledge Ventures, L.P. | System to enforce service level agreements for voice-over internet protocol |
| US9094636B1 (en) | 2005-07-14 | 2015-07-28 | Zaxcom, Inc. | Systems and methods for remotely controlling local audio devices in a virtual wireless multitrack recording system |
| US9885739B2 (en) | 2006-12-29 | 2018-02-06 | Electro Industries/Gauge Tech | Intelligent electronic device capable of operating as a USB master device and a USB slave device |
| US9063181B2 (en) * | 2006-12-29 | 2015-06-23 | Electro Industries/Gauge Tech | Memory management for an intelligent electronic device |
| USD712289S1 (en) | 2009-12-01 | 2014-09-02 | Electro Industries/Gauge Tech | Electronic meter |
| FR2975849B1 (fr) * | 2011-05-23 | 2015-12-11 | Streamcore System | Procede et dispositif de classification comportementale d'un flux de donnees multimedia |
| US9927470B2 (en) | 2014-05-22 | 2018-03-27 | Electro Industries/Gauge Tech | Intelligent electronic device having a memory structure for preventing data loss upon power loss |
| USD939988S1 (en) | 2019-09-26 | 2022-01-04 | Electro Industries/Gauge Tech | Electronic power meter |
Family Cites Families (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5953318A (en) * | 1996-12-04 | 1999-09-14 | Alcatel Usa Sourcing, L.P. | Distributed telecommunications switching system and method |
| US6147970A (en) * | 1997-09-30 | 2000-11-14 | Gte Internetworking Incorporated | Quality of service management for aggregated flows in a network system |
| US6741552B1 (en) * | 1998-02-12 | 2004-05-25 | Pmc Sierra Inertnational, Inc. | Fault-tolerant, highly-scalable cell switching architecture |
| US6658021B1 (en) * | 1998-06-19 | 2003-12-02 | Juniper Networks, Inc. | Method and system for encapsulating/decapsulating data on a per channel basis in hardware |
| JP2000270023A (ja) * | 1999-03-18 | 2000-09-29 | Fujitsu Ltd | Lan中継交換装置 |
| US6654376B1 (en) * | 1999-12-28 | 2003-11-25 | Nortel Networks Limited | ATM packet scheduler |
| US6934749B1 (en) * | 2000-05-20 | 2005-08-23 | Ciena Corporation | Tracking distributed data retrieval in a network device |
| US6747976B1 (en) * | 2000-05-23 | 2004-06-08 | Centre for Wireless Communications of The National University of Singapore | Distributed scheduling architecture with efficient reservation protocol and dynamic priority scheme for wireless ATM networks |
| AU2002326995A1 (en) * | 2001-09-19 | 2003-04-01 | Bay Microsystems, Inc. | Vertical instruction and data processing in a network processor architecture |
-
2002
- 2002-08-09 JP JP2002233889A patent/JP2004080102A/ja active Pending
-
2003
- 2003-01-09 US US10/339,203 patent/US20040028041A1/en not_active Abandoned
Also Published As
| Publication number | Publication date |
|---|---|
| US20040028041A1 (en) | 2004-02-12 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN112532409B (zh) | 网络参数配置方法、装置、计算机设备以及存储介质 | |
| USRE48645E1 (en) | Exporting real time network traffic latency and buffer occupancy | |
| US7729387B2 (en) | Methods and apparatus for controlling latency variation in a packet transfer network | |
| JPH08340353A (ja) | パケットネットワークの伝送遅延測定方法とそのシステム | |
| JPH09261254A (ja) | サービス品質を測定するための方法および装置 | |
| US11606448B2 (en) | Efficient capture and streaming of data packets | |
| JP2002016637A (ja) | パケットスケジューリング装置 | |
| CN111147403B (zh) | 报文的处理方法及装置、存储介质和电子装置 | |
| US8089979B2 (en) | Packet relay apparatus and packet relay method | |
| US8111700B2 (en) | Computer-readable recording medium storing packet identification program, packet identification method, and packet identification device | |
| CN115632986B (zh) | 一种路径负载均衡方法和系统 | |
| US20070160052A1 (en) | Packet processing apparatus and method | |
| KR101737516B1 (ko) | 공평한 대역 할당 기반 패킷 스케줄링 방법 및 장치 | |
| US20040028041A1 (en) | Packet processing device | |
| CN105763375A (zh) | 一种数据包发送方法、接收方法及微波站 | |
| CN109039811B (zh) | 用于网络性能监控的网络数据包包头压缩方法及装置 | |
| EP3910881B1 (en) | Qoe assessment method and related device | |
| CN113364778B (zh) | 一种报文处理方法及装置 | |
| CN119583407A (zh) | 探测请求报文发送方法、探测响应报文发送方法、装置、芯片、计算机设备、网络接口卡、可读存储介质和程序产品 | |
| CN118677813A (zh) | 一种eth-lm检测的方法和网络设备 | |
| Javani et al. | Age of information in multiple sensing of a single source | |
| CN117412120A (zh) | 视频传输方法、视频发送设备、系统以及存储介质 | |
| EP3959847B1 (en) | Computer-implemented method for adapting at least one predefined frame delay | |
| CN105611406B (zh) | 一种接入网服务商监测用户到视频服务器延迟特性方法 | |
| KR100959397B1 (ko) | 패킷 스케줄링 장치 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050727 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070625 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070731 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080513 |