JP2004080102A - Packet processing apparatus - Google Patents
Packet processing apparatus 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
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 パケット長
図中、同一符号は同一又は相当部分を示す。[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a packet processing device, and more particularly, to a packet processing device that controls a band of a packet (frame).
In recent years, with the development of communication technology, the amount of communication information such as voice, still image, and moving image as well as data has been rapidly increasing. In communication networks that transmit such information, band control, which determines whether each information flow is within a predetermined band and controls it, is becoming increasingly important to ensure communication reliability. It is.
[0002]
[Prior art]
FIG. 13 shows a configuration example of a general packet switching device. This packet switching apparatus terminates physical lines 130_1-130_1i, physical lines 130_21-130_2i,..., Physical lines 130_k1-130_ki (hereinafter sometimes collectively denoted by reference numeral 130), and line processing units 110_1, 110_2,. , 110_k (hereinafter sometimes collectively referred to by reference numeral 110), packet processing devices 100z_1 to 100z_k (hereinafter sometimes collectively referred to by reference numeral 100z) connected to each line processing unit 110, and these packets, respectively. It is composed of
[0003]
Although a plurality of
In operation, for example, the line processing unit 110_j transfers the
[0004]
The packet processing device 100z_j performs the following ingress processing (1) to (4) on the
(1) Classification processing: The flow type of the
[0005]
(2) Filtering process: Discard the transmission-prohibited
(3) Routing processing: Based on the destination information and the like of the
[0006]
(4) Bandwidth control processing: The packet flow rate is controlled for each packet type specified in the above-mentioned classifying processing.
The
[0007]
The packet processing device 100z_k performs the following egress processing (1) and (2) on the
(1) Filtering process: Discard the transmission-prohibited
(2) Routing processing: Based on destination information and the like of the
[0008]
The line processing unit 110_k outputs the
FIG. 14 shows a configuration of a general packet processing device 100z that processes packets in a distributed manner. This packet processing device 100z improves processing performance by processing packets in a distributed manner.
[0009]
The packet processing device 100z includes a pre-processing unit 10z, distributed processing units 20z_1 to 20z_n (hereinafter sometimes collectively referred to by reference numeral 20z), a shared resource unit 40z, and a
[0010]
The preprocessing unit 10z sends the packet received from the upstream to any one of the distributed processing units 20z_1 to 20z_n. An algorithm for this distribution includes, for example, a method of providing an output queue (not shown) corresponding to each distribution processing unit 20z and monitoring the queue length of this output queue, a round robin method, and the like.
[0011]
The preprocessing unit 10z assigns a sequence number to each packet so that the order of the distributed packets can be reproduced by the downstream postprocessing
The distributed processing unit 20z performs various processes on the received packet, for example, an editing process, a search process, and the like, and provides the completed packet to the
[0012]
The shared resource unit 40z is a resource such as a search engine and a shared memory shared by the distributed processing units 20z_1 to 20z_n, and is accessed from each distributed processing unit 20z.
The
[0013]
The packet processing device 100z further performs band control for controlling whether or not the packet is within a predetermined band, that is, discards a packet violating the predetermined band or performs marking (tagging). Perform bandwidth control.
Here, as general band control systems, (1) jumping window band control system, (2) sliding window band control system, and (3) GCRA (Generic Cell Rate Algorithm) band control system will be described below.
[0014]
(1) Jumping window bandwidth control method
FIG. 15 shows a jumping window band control method. In this method, a window Wn-1, Wn, Wn + 1, Wn + 2 of a fixed time width Tw divided on an absolute time (window time width Tw = time Tn-Tn-1 = time Tn + 1-Tn = time in FIG. In this method, the bandwidth is evaluated based on the total number of bytes of each packet received in (Tn + 2−Tn + 1 = time Tn + 3−Tn + 2).
[0015]
This method is easy to implement, but, for example, cannot transfer the information of the past window Wn-1 to the next window Wn. For example, if the number of bytes of the packet received in the window Wn-1 is "0" and the total number of bytes of the received packet in the next window Wn exceeds the contracted prescribed value, the reception is performed in the windows Wn-1 and Wn. Even when the average of the total number of bytes of the packet does not exceed the specified value, it is determined that the bandwidth is violated.
[0016]
(2) Sliding window bandwidth control method
FIG. 16 shows a sliding window band control method. In this method, for example, each time a packet fa, fb, fc arrives, the bandwidth is evaluated based on the total number of bytes of the packet received within a window having a past fixed time width Tw from the arrival times Ta, Tb, Tc. .
[0017]
This method can dynamically evaluate the bandwidth, but is difficult to implement.
(3) GCRA Bandwidth control method
FIG. 15 shows the GCRA band control method. This method is a method of evaluating a band based on a reception interval between two consecutive packets, and is logically equivalent to a leaky packet band control method.
[0018]
The algorithm of the GCRA band control method will be described below.
Here, TAT = logical arrival time of packet (Theoretic @ Arrival @ Time), T = actual packet arrival time (Time), I = increase parameter (Increment @ Parameter), L = limit parameter (Limit @ Parameter), n = packet length ( Packet @ Length). The values of I and L are set in advance.
[0019]
{Circle around (1)} After the control is started, the first received packet is unconditionally determined as the band control result = “conforming”, and the next TAT is calculated by the following equation (1).
TAT = T + nI Equation (1)
{Circle around (2)} Thereafter, each time a packet (length n, arrival time T) is received, the packet is compared with the TAT to determine “conformity” or “non-conformity” and calculate the next TAT.
[0020]
(A) Comparison result: if TAT <T (packet received after time TAT, see FIG. 1A), band control result = “conformity”, and the following equation (2) starts from time T and Is calculated.
TAT = T + nI Equation (2)
(B) Comparison result: When TAT-L ≦ T ≦ TAT (when a packet is received after time (TAT-L) and before time TAT, see FIG. 2B), the bandwidth control result = “conformity” And the next TAT is calculated by the following equation (3) using the current TAT as a base point.
[0021]
Next TAT = Current TAT + nI Equation (3)
(C) Comparison result: When T <TAT-L (when a packet is received before time (TAT-L), see FIG. 3C), the band control result = “non-conforming”, and the following equation ( In 4), the next TAT is calculated. That is, the TAT is not updated.
[0022]
Next TAT = Current TAT ... Equation (4)
[0023]
[Problems to be solved by the invention]
When such band control is performed by the distributed processing unit 20z, the continuity of the packet is not maintained because the packets are distributed to each distributed processing unit 20z, and therefore, high-precision band control cannot be performed. . Therefore, the conventional band control includes (1) a method performed by the preprocessing unit 10z or (2) a method performed by the
[0024]
(1) Bandwidth control by pre-processing unit
Since this method is performed before the distributed processing, there is an advantage that fluctuation of a packet interval is small and band control with high accuracy can be performed. However, in order to perform the band control, it is necessary to perform a classifying process before that, and the processing information is generated along with the classifying process.
[0025]
(2) Bandwidth control by post-processing unit
This method has an advantage that the classification processing can be performed by the distributed processing unit 20z or the shared resource unit 40z. However, since the distributed processing unit 20z or the shared resource unit 40z needs information for notifying the
[0026]
In addition, since packets are distributed and merged upstream, there is a disadvantage that fluctuations in packet intervals become large and the accuracy of band control becomes low.
Accordingly, it is an object of the present invention to provide a packet processing apparatus for controlling a packet bandwidth, which performs packet bandwidth control without squeezing the bandwidth of its own apparatus, and performs highly accurate packet bandwidth control.
[0027]
[Means for Solving the Problems]
In order to solve the above problems, a packet processing device according to the present invention includes a preprocessing unit that sends a received packet to any one of a plurality of output terminals; A plurality of distributed processing units that process the packets from the distributed processing unit, a shared resource unit that performs bandwidth control of the packets based on the reception order information of each packet distributed to each distributed processing unit, and a packet from each distributed processing unit. And a post-processing unit that merges and outputs the combined data (
[0028]
The basic configuration of the packet processing device 100 of the present invention is the same as that of the general packet processing device 100z shown in FIG. 14, and the conventional preprocessing unit 10z, distributed processing units 20z_1 to 20z_n, shared resource unit 40z, And a
[0029]
The difference between the packet processing device 100 of the present invention and the conventional packet processing device 100z is that the shared
That is, the preprocessing
[0030]
Each of the distributed processing units 20_1 to 20_n processes a packet received from an output terminal of the
The shared
[0031]
The
Therefore, the packet processing apparatus of the present invention does not squeeze the band in its own apparatus based on the result of the band control. The bandwidth control of the packet can be realized by performing the notification of the bandwidth violation.
[0032]
As described above, the bandwidth control of the packets distributed to the distributed processing unit can be performed by the shared
The above-described processing of discarding a packet and notifying of a band violation is performed by a predetermined processing unit such as a distributed processing unit, a post-processing unit, or the like based on the band control result of the present invention.
[0033]
According to the present invention, in the above-mentioned present invention, the reception order information can be time information added to the packet (
That is, the shared
[0034]
Also, in the present invention according to the above-mentioned present invention, the pre-processing unit can add the time information to the packet (
Also, in the present invention according to the above-mentioned present invention, the distribution processing unit can add the time information to the packet (Supplementary Note 4).
[0035]
That is, time information (time stamp) can be added to the packet by the preprocessing
[0036]
For example, when the
[0037]
Also, in the present invention according to the above-mentioned present invention, the shared resource unit may include an order correction processing unit that rearranges the packets in a time-series order based on the time information (Supplementary Note 5).
That is, for example, the order correction processing unit determines the order of the packets whose order in the time series has been changed by the distributed processing by the respective distributed
[0038]
As a result, packets can be processed in chronological order, and band control becomes easy.
Also, in the present invention according to the above-mentioned present invention, the reception order information further includes a sequence number indicating a packet reception order added to the packet by the preprocessing unit, and the shared resource unit includes the sequence number. , An order correction processing unit for rearranging the packets in chronological order can be provided (
[0039]
This also makes it possible to process the packets in chronological order, thereby facilitating bandwidth control.
Further, according to the present invention, in the above-mentioned present invention, the shared resource unit can perform band control by any one of a jumping window band control system, a sliding window band control system, and a GCRA band control system. (Appendix 7).
[0040]
That is, the shared
Further, according to the present invention, in the above-mentioned present invention, the shared resource unit further includes a classifier processing unit for classifying packets according to flows, and is capable of performing bandwidth control for each flow (
[0041]
Further, in the present invention according to the above-mentioned present invention, each distributed processing unit further includes a classifying processing unit for classifying packets by flow, and the shared resource unit can perform bandwidth control for each flow (Supplementary Note 9).
Also, in the present invention according to the above-mentioned present invention, the pre-processing unit further includes a classification processing unit for classifying packets by flow, and the shared resource unit can perform band control for each flow (Supplementary Note 10).
[0042]
That is, the classifying
This enables band control for each flow. In addition, the arrangement position of the classifying processing unit may be selected so that the band is not compressed most. Generally, the method of disposing the classifying processing unit in the distributed
[0043]
Also, in the present invention according to the above-mentioned present invention, the reception order information is a sequence number indicating a reception order of the packet, and the shared resource unit includes an order correction processing unit for rearranging the packet in the order of the sequence number. And a timer for measuring the time at which the packet was input to itself, and the bandwidth can be controlled based on the time (Supplementary Note 11).
[0044]
That is, a sequence number indicating a packet reception order is used as the reception order information. The shared
[0045]
This also allows the shared
In this band control, it is not necessary to add a time stamp to a packet.
[0046]
Further, according to the present invention, in the above-described present invention, the pre-processing unit may add the sequence number to the packet (Supplementary Note 12).
[0047]
BEST MODE FOR CARRYING OUT THE INVENTION
FIG. 1 shows an embodiment of a packet processing device 100 according to the present invention. This packet processing device 100 includes a
[0048]
In FIG. 1, the shared
FIG. 2 shows an embodiment of the
[0049]
Further, the
[0050]
FIG. 3A shows a format example of the
FIG. 2B shows a format example of the
[0051]
FIG. 4 shows an operation example of the distributed
[0052]
FIG. 5 shows an example of each information transmitted by the distributed
[0053]
On the other hand, the distributed
[0054]
Further, the
FIG. 5D shows a format example of the
[0055]
FIG. 6 shows an embodiment (1) in which the reception order of the
[0056]
The order correction processing unit 50a includes queues (FIFOs) 51_1 to 51_n (hereinafter, may be collectively referred to by reference numeral 51) corresponding to the distributed processing units 20_1 to 20_n, respectively, and a selector 52.
The queue 51 stores the
[0057]
Thereby, the
FIG. 7 shows an embodiment (2) in which the reception order of the
[0058]
For example, the distributed processing unit 20_1 sequentially receives the packets 91_1, 91_2, and 91_7 whose
[0059]
When the internal processing of the distributed
In FIG. 7, as in FIG. 6, only the
[0060]
The order correction processing unit 50b includes a
[0061]
6 and 7, the
FIG. 8 shows an embodiment of the
[0062]
A
The CAM access control unit 61 gives the classifying
[0063]
This
Embodiments (1) to (3) of the band control processing unit 70 will be described below with reference to FIGS.
FIG. 9 shows an embodiment (1) of the band control processing unit 70. This embodiment (1) particularly shows the band control processing unit 70a of the jumping window band control system described with reference to FIG.
[0064]
The bandwidth control processing unit 70a includes a
[0065]
The operation procedure of the band control processing unit 70a will be described below. This operation procedure is executed for each flow number.
Steps S10: The bandwidth control processing unit 70a gives the
[0066]
Steps S11: The processing unit 70a updates the new received byte count 72_2 = the previous received byte count 72_2 + the packet length (byte count) 90e, and updates the new received byte count 72_2 with the
[0067]
Steps S12: The processing unit 70a compares the new received byte count 72_2 with the allowable byte count 72_1, determines whether or not the set permissible bandwidth of the flow is maintained, and tags the information 94 (FIG. 5 (3) )) To the distributed
As described in the description of FIG. 5C, the
[0068]
Steps S13: The band control processing unit 70a refers to the received
Note that a timer (not shown) may be provided in the band control processing unit 70a without using the
[0069]
The band control based on the
[0070]
FIG. 10 shows an embodiment (2) of the band control processing unit 70. This embodiment (2) particularly shows the band control processing unit 70b of the sliding window band control system described with reference to FIG.
The bandwidth control processing unit 70b includes a
[0071]
The number of received bytes 73_2 to 73_m stores the number of received bytes of the received flow corresponding to the
The operation procedure of the band control processing unit 70b will be described below. This operation procedure is executed for each flow number.
[0072]
Steps S20: The band control processing unit 70b gives the
Steps S21The processing unit 70b updates the new received byte count 73_2 = the previous received byte count 73_2 + the
[0073]
Steps S22: The processing unit 70b sums the number of received bytes 73_2 to 73_m, compares the total number of bytes with the allowable number of bytes, determines whether or not the set allowable band is being followed, and tags the result of the determination with a tag. 94 (see FIG. 5C) is given to the distributed
Steps S23: The processing unit 70b shifts the number of received bytes at regular time intervals t based on the
[0074]
Note that the number (m-1) of the received byte numbers 73_2 to 73_m is determined by the time interval t for shifting and the window time width Tw.
Instead of using the
[0075]
FIG. 11 shows an embodiment (3) of the band control processing unit 70. This embodiment (3) particularly shows the band control processing unit 70c of the GCRA band control system.
The bandwidth control processing unit 70c includes a
[0076]
The next packet expected arrival time 74_2 stores the logical arrival time TAT calculated by the equations (1) to (4) shown in the description of FIG. The initial value of the logical arrival time TAT is “0”.
The operation procedure of the band control processing unit 70c will be described below. This operation procedure is executed for each
[0077]
Steps S30: The band control processing unit 70c gives the
Steps S31: The processing unit 70c compares the
[0078]
Steps S32: The processing unit 70c selects one of the expressions (1) to (4) selected based on the condition of the packet arrival time T (see FIGS. 17A to 17C), and selects the selected expression To calculate the logical arrival time TAT. Further, the processing unit 70c writes the calculation result into the next packet expected arrival time 74_2 in the
[0079]
FIG. 12 shows a more detailed operation of the band control processing unit 70c shown in FIG. The detailed operation will be described below.
The processing unit 70c receives information 93 (flow
[0080]
The processing unit 70c gives the
The
[0081]
The subtractor 705 outputs the difference (TAT-L) between the logical arrival time TAT and the limit parameter L, and the
[0082]
When (SEL0, SEL1) = (0, 0), (0, 1), or (1, 1), the
The selected data is written to the next scheduled packet arrival time 74_2 in the
[0083]
Accordingly, when T ≦ (TAT−L), the next TAT = current TAT, when (TAT−L) <T ≦ TAT, when the next TAT = TAT + n × I, and when TAT <T, the next TAT = “T + n × I”.
The OR
[0084]
Thereafter, predetermined control such as discarding the
(Appendix 1)
A preprocessing unit for transmitting the received packet to any one of the plurality of output terminals;
A plurality of distributed processing units connected to each output terminal and processing the packet from each output terminal,
Based on the reception order information of each packet distributed to each distributed processing unit, a shared resource unit that performs bandwidth control of the packet,
A post-processing unit that merges and outputs packets from each distributed processing unit,
A packet processing device comprising:
[0085]
(Supplementary Note 2) In the
The packet processing device, wherein the reception order information is time information given to the packet.
(Supplementary note 3) In the above
A packet processing apparatus, wherein the preprocessing unit adds the time information to a packet.
[0086]
(Supplementary Note 4) In the above
The packet processing device, wherein the distributed processing unit adds the time information to the packet.
(Supplementary Note 5) In the above
A packet processing device, characterized in that the shared resource unit includes an order correction processing unit for rearranging the packets in chronological order based on the time information.
[0087]
(Supplementary Note 6) In the above
The reception order information further includes a sequence number indicating the reception order of the packet added to the packet by the preprocessing unit,
A packet processing device, wherein the shared resource unit includes an order correction processing unit that rearranges the packets in chronological order based on the sequence number.
[0088]
(Supplementary Note 7) In the
The packet processing device, wherein the shared resource unit performs band control by any one of a jumping window band control system, a sliding window band control system, and a GCRA band control system.
[0089]
(Supplementary Note 8) In the
The packet processing device, further comprising a classifying processing unit for classifying packets by flow, and performing bandwidth control by flow.
(Supplementary Note 9) In the
A packet processing apparatus, wherein each of the distributed processing units further includes a classifying processing unit that classifies packets by flow, and the shared resource unit performs band control by flow.
[0090]
(Supplementary Note 10) In the
The packet processing apparatus further comprising a classifying processing unit for classifying packets by flow, wherein the shared resource unit performs bandwidth control for each flow.
[0091]
(Supplementary Note 11) In the
The reception order information is a sequence number indicating the reception order of the packet,
The shared resource unit further includes an order correction processing unit that rearranges the packets in order of the sequence number, and a timer that counts the time at which the packet is input to itself, and performs bandwidth control based on the time. Characteristic packet processing device.
[0092]
(Supplementary Note 12) In the
The packet processing device, wherein the preprocessing unit adds the sequence number to the packet.
[0093]
【The invention's effect】
As described above, according to the packet processing device of the present invention, the shared resource unit determines the packet based on the reception order information (for example, time stamp and sequence number) of each packet distributed to each distributed processing unit. Is configured to perform the bandwidth control of the packet, it is possible to perform the bandwidth control of the packet without compressing the bandwidth of the own apparatus.
[0094]
Further, since the preprocessing unit preferably adds a time stamp to the received packet, it is possible to perform highly accurate packet bandwidth control.
[Brief description of the drawings]
FIG. 1 is a block diagram showing an embodiment of a packet processing device according to the present invention.
FIG. 2 is a block diagram showing an embodiment of a pre-processing unit in the packet processing device according to the present invention.
FIG. 3 is a diagram showing an example of a packet format in a preprocessing unit in the packet processing device according to the present invention.
FIG. 4 is a diagram illustrating an operation example of a distributed processing unit in the packet processing device according to the present invention.
FIG. 5 is a diagram showing a format example of each information in the packet processing device according to the present invention.
FIG. 6 is a block diagram showing an embodiment (1) of order correction in the distribution processing unit and the order correction processing unit of the packet processing device according to the present invention.
FIG. 7 is a block diagram showing an embodiment (2) of order correction in the distribution processing unit and the order correction processing unit of the packet processing device according to the present invention.
FIG. 8 is a block diagram showing an embodiment of a classifier in the packet processing apparatus according to the present invention.
FIG. 9 is a block diagram showing an embodiment (1) of a band control processing unit in the packet processing device according to the present invention.
FIG. 10 is a block diagram showing an embodiment (2) of the bandwidth control processing unit in the packet processing device according to the present invention.
FIG. 11 is a block diagram showing an embodiment (3) of a band control processing unit in the packet processing device according to the present invention.
FIG. 12 is a block diagram showing an example (3) of the band control processing unit of the packet processing device according to the present invention in more detail.
FIG. 13 is a block diagram showing a configuration of a general packet switching device.
FIG. 14 is a block diagram showing a configuration of a general packet processing device.
FIG. 15 is a diagram illustrating a general jumping window band control method.
FIG. 16 is a diagram illustrating a general sliding window band control method.
FIG. 17 is a diagram showing a general GCRA band control method.
[Explanation of symbols]
100, 100_1 to 100_k, 100z, 100z_1 to 100z_k Packet processing device
110, 110_1 to 110_k {line processing unit {120} switch
130, 130_1 to 130_1i, ..., 130_k1 to 130_ki130physical line
10,10z {preprocessing unit {11} timer
12 {time stamp assigning unit} {13} sequence number assigning unit
14 output queue switch {15, 15_1 to 15_n} queue
16 Output queue indicator
20, 20_1 to 20_n, 20z, 20z_1 to 20z_n {distributed processing unit
30, 30z {Post-processing unit {40, 40z} Shared resource unit "
50, 50a, 50b {order correction processing unit {51_1 to 51_n} queue>
52
60 {Classification processing unit} 61} CAM access control unit
62 @ CAM / RAM section
70, 70a, 70b, 70c {Band control processor {71} Memory
72_1 {number of allowable bytes} 72_2} number of received bytes
73_1 {number of allowable bytes} 73_2-73_4} number of received bytes
74_1 {band setting information} {74_2} estimated next packet arrival time
701 {Multiplier} 702, 703} Adder
704 {selector} 705} subtractor
706, 707 {comparator} 708 OR circuit
90, 91, 91_0, 91_1 to 90_8 {Packet {90a} Payload
90b {Packet header {90c} Time stamp
90d {sequence number} 90e} packet length
90f {flow number} 90g tag information
90h {Packet information {92, 92_0, 92_1 to 92_8} information
93,94 {information} packet
TAT {packet logical arrival time} T} packet arrival time
I Increase parameter L Limit parameter
n packet length
In the drawings, the same reference numerals indicate the same or corresponding parts.
Claims (5)
各出力端子にそれぞれ接続されて各出力端子からの該パケットを処理する複数の分散処理部と、
各分散処理部に分散された各パケットの受信順序情報に基づき、該パケットの帯域制御を行う共有リソース部と、
各分散処理部からのパケットを合流して出力する後処理部と、
を備えたことを特徴とするパケット処理装置。A preprocessing unit for transmitting the received packet to any one of the plurality of output terminals;
A plurality of distributed processing units connected to each output terminal and processing the packet from each output terminal,
Based on the reception order information of each packet distributed to each distributed processing unit, a shared resource unit that performs bandwidth control of the packet,
A post-processing unit that merges and outputs packets from each distributed processing unit,
A packet processing device comprising:
該受信順序情報は、パケットに付与された時間情報であることを特徴としたパケット処理装置。In claim 1,
The packet processing device, wherein the reception order information is time information given to the packet.
該前処理部が、該時間情報をパケットに付与することを特徴としたパケット処理装置。In claim 2,
A packet processing apparatus, wherein the preprocessing unit adds the time information to a packet.
該受信順序情報が、さらに、該前処理部がパケットに付加した、パケットの受信順序を示すシーケンス番号を含み、
該共有リソース部が、該シーケンス番号に基づき、該パケットを時系列順に並びかえる順序補正処理部を有することを特徴としたパケット処理装置。In claim 2,
The reception order information further includes a sequence number indicating the reception order of the packet added to the packet by the preprocessing unit,
A packet processing device, characterized in that the shared resource unit includes an order correction processing unit that sorts the packets in chronological order based on the sequence number.
該共有リソース部は、パケットをフロー別に分類するクラシファイ処理部をさらに備え、フロー別に帯域制御を行うことを特徴としたパケット処理装置。In claim 1,
The packet processing device, further comprising a classifying processing unit for classifying packets by flow, and performing bandwidth control by flow.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002233889A JP2004080102A (en) | 2002-08-09 | 2002-08-09 | Packet processing apparatus |
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 (en) | 2002-08-09 | 2002-08-09 | Packet processing apparatus |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004080102A true JP2004080102A (en) | 2004-03-11 |
Family
ID=31492438
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002233889A Pending JP2004080102A (en) | 2002-08-09 | 2002-08-09 | Packet processing apparatus |
Country Status (2)
Country | Link |
---|---|
US (1) | US20040028041A1 (en) |
JP (1) | JP2004080102A (en) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
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 |
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 (en) * | 2011-05-23 | 2015-12-11 | Streamcore System | METHOD AND APPARATUS FOR BEHAVIORAL CLASSIFICATION OF A MULTIMEDIA DATA STREAM |
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 |
---|---|---|---|---|
AU7627798A (en) * | 1996-12-04 | 1998-06-29 | Dsc Telecom 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 |
AU760640B2 (en) * | 1998-06-19 | 2003-05-22 | Juniper Networks, Inc. | An interconnect network for operation within a communication node |
JP2000270023A (en) * | 1999-03-18 | 2000-09-29 | Fujitsu Ltd | Lan repeater exchange |
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/en 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 |
---|---|---|
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 | |
US7664112B2 (en) | Packet processing apparatus and method | |
EP2288086A1 (en) | Network monitoring device, bus system monitoring device, method and program | |
JPH08340353A (en) | Method and system for measuring transmission delay in packetnetwork | |
CN110417650A (en) | Multilink data distribution method, device and electronic equipment | |
US11606448B2 (en) | Efficient capture and streaming of data packets | |
JPH09261254A (en) | Method and instrument for measuring service quality | |
JP2002016637A (en) | Packet scheduling device | |
CN111147403B (en) | Message processing method and device, storage medium and electronic device | |
US8089979B2 (en) | Packet relay apparatus and packet relay method | |
JP2004080102A (en) | Packet processing apparatus | |
US8111700B2 (en) | Computer-readable recording medium storing packet identification program, packet identification method, and packet identification device | |
CN100484096C (en) | Transmission device, method and control device | |
CN113364778B (en) | Message processing method and device | |
US20120213133A1 (en) | Method and system for identifying media type transmitted over an atm network | |
JP2005159807A (en) | Network quality evaluation measurement method and network quality evaluation apparatus | |
CN109039811B (en) | Network data packet header compression method and device for network performance monitoring | |
JP2009124237A (en) | Relay device and band control program | |
KR100959397B1 (en) | Packet scheduling apparatus | |
JP3514215B2 (en) | Scheduling circuit | |
CN112671616A (en) | Flow monitoring method and device, programmable chip, storage medium and electronic device | |
US7145908B1 (en) | System and method for reducing jitter in a packet transport system | |
JP2004172706A (en) | Method and system for measuring packet loss ratio | |
WO1999004594A2 (en) | Burst correlation dispersion mechanism for a packet switched communications system |
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 |