[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP4484317B2 - Shaping device - Google Patents

Shaping device Download PDF

Info

Publication number
JP4484317B2
JP4484317B2 JP2000149811A JP2000149811A JP4484317B2 JP 4484317 B2 JP4484317 B2 JP 4484317B2 JP 2000149811 A JP2000149811 A JP 2000149811A JP 2000149811 A JP2000149811 A JP 2000149811A JP 4484317 B2 JP4484317 B2 JP 4484317B2
Authority
JP
Japan
Prior art keywords
packet
bandwidth
priority
monitoring
bucket
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.)
Expired - Lifetime
Application number
JP2000149811A
Other languages
Japanese (ja)
Other versions
JP2001326688A (en
Inventor
武己 矢崎
毅 相本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2000149811A priority Critical patent/JP4484317B2/en
Priority to US09/811,504 priority patent/US6920109B2/en
Publication of JP2001326688A publication Critical patent/JP2001326688A/en
Priority to US11/080,475 priority patent/US7525912B2/en
Application granted granted Critical
Publication of JP4484317B2 publication Critical patent/JP4484317B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/20Traffic policing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/22Traffic shaping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/29Flow control; Congestion control using a combination of thresholds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/50Overload detection or protection within a single switching element
    • H04L49/505Corrective measures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、パケットの送信帯域を成形するシェーピング装置に関する。
【0002】
【従来の技術】
インターネットで用いられているパケット型通信方式では、多数のユーザからのパケットが同じ回線を共用使用できるため、帯域あたりのコストを低く抑えることが出来る。このインターネットにおいて、従来の電話網や企業網が実現していた低遅延時間や低廃棄率等の通信品質(QoS:Quality of Service)を実現する要求がでてきた。
【0003】
QoSを実現するサービスの一つである最低帯域保証サービスは、各ユーザ(契約者)毎に契約された最低帯域が保証され、この最低帯域を超過したパケットに関してはネットワーク資源が許す限り転送される。
【0004】
例えば、図2のインターネット200で最低帯域保証サービスが提供されており、エッジルータB204に直接接続する5つの端末(端末E235、端末F236、端末G237、端末H238、端末I239)が受信する最低帯域が、それぞれユーザE、ユーザF、ユーザG、ユーザH、ユーザIと契約されている場合について考える。エッジルータA201に直接接続する端末A231、端末B232、端末C233、端末D234の送信したトラヒックはエッジルータA201、バックボーンルータA202、バックボーンルータB203、エッジルータ204Bにより端末E235、 端末F236、端末G237、端末H238、端末I239まで転送されている。バックボーンルータB203からエッジルータB204へ至る回線がボトルネックとなっている場合、バックボーンルータB203は前記回線用のシェーパを所持し、各ユーザ毎に最低帯域を保証して転送する。
【0005】
最低帯域保証するシェーパのスケジューリング方式としては例えばWFQ(Weighted Fair Queueing)と呼ばれるスケジューリング方式が知られている。WFQのアルゴリズムは、SCFQ(Self Clocked Fair Queueing)と呼ばれるアルゴリズムがS.Golestani, A Self-Clocked Fair Queueing Scheme for Broadband Applications, In proc. of INFOCOM94, pp.636-646,1994.に記述されている(従来技術1)。従来技術1ではシェーパは複数のキューi(=1〜N)を所持し、前記キューi毎に使用帯域に比例した重みWiと変数Fiを持ち、パケットがシェーパに到着すると変数Fiの更新を行う。パケット出力時には、パケットが蓄積しているキューiの先頭パケットの変数Fiの中から最小のFiを持つキューiのパケットをサービスする。変数のFiの更新は
Fi = L/Wi+max(Fi, V(ta))
に従って行われる。ここで、Lは到着パケットのパケット長、taはパケットの到着時刻、V(t)は時刻tにおけるキューiのパケット変数Fiの値を返す関数である。この方式では、キューiからはWi /(Wiの総和)×回線帯域 分の最低帯域が保証される。
【0006】
【発明が解決しようとする課題】
従来技術1のシェーパには2つの問題点がある
第一の問題点は、ユーザ数が増加すると高速にシェーピングできない点である。従来技術1のシェーパは各ユーザ(=契約者)のトラヒックをユーザ毎のキューにキューイングする。パケットを送信するキューを判定する時間はユーザ数が増加すると共に増加するため、高速にシェーピングできない。
【0007】
第二の問題点は、ユーザが最低帯域を効率良く利用できない点である。前述した図2のインターネット200でこの問題点を説明する。端末A231、端末B232、端末C233、端末D234からユーザEの端末E235行きのトラヒックが図9の様にバックボーンルータB203に入力する。また、バックボーンルータB203のシェーパはユーザEの最低帯域を保証してシェーピングしている。バックボーンルータB203において全ユーザのトラヒックの総和が図10に示す様に変化すると、前記シェーパが出力するトラヒックは図11の様に変化する。時間taでは全ユーザのトラヒックの総和が回線帯域を下回っている為、ユーザEへのトラヒックはユーザ毎のキューに蓄積されると直ぐに出力される。また、時間tbでもユーザEの帯域が最低帯域を下回っているためユーザEのトラヒックは全て出力される。時間tcでは全ユーザのトラヒックの総和が回線帯域を超え、ユーザEの帯域が最低帯域を超過しているため、ユーザEのパケットはユーザ毎のキューに蓄積され、tcの期間が長いとキュー長が増加しパケットは廃棄されてしまう。シェーパはパケットの重要度を考慮していないため、ユーザが受信端末まで必ず到達させたい重要なパケットを廃棄し、それ以外のパケットを転送する場合もある。従来技術1のシェーパはユーザにとって重要なパケットを廃棄してそれ以外のパケットを送信してしまい、ユーザが最低帯域を効率良く利用出来ない場合がある。なお、本発明ではユーザが受信端末まで必ず到達させたい重要なパケットを重要パケットと、それ以外のパケットを非重要パケットと呼ぶ。
【0008】
以上に述べた様に従来の技術のシェーパは多くのユーザの最低帯域を保証して高速にシェーピングすることができなかった。
【0009】
本発明の第一の目的は、多くのユーザの最低帯域を保証して高速にシェーピングするシェーピング装置を提供することである。
【0010】
また、従来の技術のシェーパは、重要パケットを保護して、最低帯域を効率良く利用できないため、ユーザが最低帯域を効率良く利用できなかった。
【0011】
本発明の第二の目的は、重要パケットを保護して、最低帯域を効率良く利用するシェーピング装置を提供することである。
【0012】
【課題を解決するための手段】
上記第一の目的を達成するために、本発明のシェーピング装置は、パケットを蓄積するパケット蓄積FIFOと、前記パケットのキューイング優先度を決定する優先度決定手段と、前記キューイング優先度に基づいて前記パケット蓄積FIFOへのパケット蓄積・廃棄を判定する廃棄制御部とを備え、複数のユーザのパケットが同一の前記パケット蓄積FIFOに蓄積されることを特徴とする。本発明のシェーピング装置は一つのパケット蓄積FIFO520からパケットを出力するため、複数のバッファからパケットを出力するバッファを選択する必要がなく高速にシェーピングを行う事ができる。
【0013】
上記第二の目的を達成するために、本発明のシェーピング装置は、複数のユーザのパケットに対してそれぞれのユーザに保証している最低帯域分のパケットを優先パケットとする優先度決定手段を備え、前記優先度決定手段があるユーザのパケットを前記最低帯域を超えて受信した場合に、前記ユーザが予め決定した重要パケットを優先的に優先パケットと決定することを特徴とする。本発明のシェーピング装置は重要パケットを保護して転送するため、最低帯域を効率良く利用することができる。
【0014】
その他の本発明が解決しようとする課題、その解決手段は、本発明の「発明の実施の形態」の欄及び図面で明らかにされる。
【0015】
【発明の実施の形態】
まず、本発明のシェーピング機能を所持するルータの概要動作を図1乃至図4を用いて説明する。図1は本発明を適用したルータ100を示す。ルータ100はパケットが入力するN個の入力回線110-i(i=1〜N)とパケットの受信処理を行うパケット受信回路120-iと、ルーティング処理部130と、パケットをスイッチングするパケット中継処理手段140と、出力回線毎のシェーパ部500-j(j=1〜N)と送信処理を行うパケット送信回路150-jと、パケットが出力されるN個の出力回線160-jより構成される。
【0016】
図3はインターネット200におけるパケットのフォーマットの一例を示す。インターネット200におけるパケットはヘッダ部310とデータ部320から構成される。ヘッダ部310は送信元アドレス(送信端末のアドレス)である送信元IPアドレス(Source IP Address:以下「SIP」という。)311と、宛先アドレス(受信端末のアドレス)である宛先IPアドレス(Destination IP Address:以下「DIP」という。)312と、送信元のプロトコル(=上位アプリケーション)を表す送信元ポート(Source Port:以下「SPORT」という。)313と宛先のプロトコルを表す宛先ポート(Destination Port:以下「DPORT」という。)314から構成される。また、データ部320はユーザデータ321から構成される。ヘッダ部310には前記情報以外にサービス識別子(TOS : Type of Service)等の情報も格納されているが、前記情報と同様に後述の処理を実行することができる。
【0017】
図4は本発明を適用したルータ100内部におけるパケットのフォーマットを示す。ルータ100内部におけるパケットのフォーマットはインターネット200におけるパケットのフォーマットに内部ヘッダ部330が備わる。この内部ヘッダ部330はパケットのバイト長を表すパケット長331とパケットが入力した回線の識別子である入力回線番号332と、パケットが出力される回線の識別子である出力回線番号333から構成される。
【0018】
本発明が想定しているネットワーク構成を図2に示した。図2のインターネット200では最低帯域保証サービスが提供されており、エッジルータB204に直接接続する5つの端末(端末E235、端末F236、端末G237、端末H238、端末I239)が受信する最低帯域がそれぞれユーザE、ユーザF、ユーザG、ユーザH、ユーザIと契約されている。端末A231、端末B232、端末C233、端末D234がパケットを送信し、端末E235、 端末F236、端末G237、端末H238、端末I239が受信している。バックボーンルータB203からエッジルータB204へ至る回線の帯域は各ユーザと契約している最低帯域の総和よりも大きいがボトルネックとなっている。本発明を適用したルータ100がバックボーンルータB203として使用され、エッジルータB204へ至る出力回線160-jのシェーパ部500-jが各ユーザへの最低帯域を保証するようにシェーピングを実行している。
【0019】
本発明を適用したルータ100の入力回線110-iよりパケットが入力するとパケット受信回路120-iは内部ヘッダ部330を付加し、前記パケットのバイト長をカウントしてパケット長331(単位はByte)に書き込む。さらに、パケットが入力した入力回線110-iの回線番号iを入力回線番号332に書き込み、ルーティング処理部130へパケットを送信する。なお、この時点では出力回線番号333は無意味な値となっている。ルーティング処理部130はパケットを受信するとDIP312よりパケットを出力する出力回線160-jを判定し、出力回線160-jの回線番号jを出力回線番号333に書き込みパケット中継処理手段140に送信する。パケット中継処理手段140は出力回線番号333に従いパケットをスイッチングし、出力回線毎のシェーパ部500-jに送信する。シェーパ部500-jはユーザ毎の最低帯域を保証して、パケットをパケット送信回路150-jに送信する。パケット送信回路150-jはパケットを受信すると、内部ヘッダ部330を削除し、出力回線160-jにパケットを送信する。
【0020】
次に、本発明のシェーパ部500の詳細動作について説明する。図5に本発明のシェーパ部500のブロック図を示した。シェーパ部500はパケットを蓄積するパケット蓄積FIFO520と、前記パケット蓄積FIFO520に蓄積した順番でパケットを出力するパケット出力制御部530と、前記パケット蓄積FIFO520へのパケット入力や廃棄を制御する廃棄制御部510と、前記パケット蓄積FIFO520に蓄積する時のキューイング優先度を決定する帯域監視部600より構成される。本発明では帯域監視部600がキューイング優先度を「優先」と決定するパケットを優先パケットと、「非優先」と決定するパケットを非優先パケットと呼ぶ。優先パケットは輻輳が発生してパケット蓄積FIFO520にパケットが大量に蓄積された場合に、前記パケット蓄積FIFO520に優先的に蓄積される。
【0021】
廃棄制御部510はパケットを一旦蓄積する一時蓄積バッファ511と、パケット蓄積FIFO520に蓄積しているパケット数をカウントするFIFOカウンタ513と、前記FIFOカウンタ513の優先パケット用のパケット蓄積FIFO520の閾値を格納する優先パケット用閾値蓄積手段514と、非優先パケット用のパケット蓄積FIFO520の閾値を格納する非優先パケット用閾値蓄積手段515と、廃棄判定回路512より構成される。なお、優先パケット用閾値蓄積手段514に蓄積される閾値は非優先パケット用閾値蓄積手段515に蓄積される閾値よりも大きい。
【0022】
パケット中継処理手段140よりパケットが入力すると、ヘッダ部310、データ部320、内部ヘッダ部330の全てが一時蓄積バッファ511に、ヘッダ部310、内部ヘッダ部330が帯域監視部600に蓄積される。帯域監視部600は蓄積した情報を基にキューイング優先度を決定する。ユーザ毎に入力するパケットの帯域を監視し、最低帯域以内のパケットに対して「優先」と判定し、超過したパケットに対して「非優先」と判定する。さらに、この判定情報から構成されるキューイング優先度12を廃棄判定回路512に送信する。なお、帯域監視部600の動作の詳細については後述する。
【0023】
廃棄制御部510の廃棄判定回路512は前記キューイング優先度12とFIFOカウンタ513の値と優先パケット用閾値蓄積手段514内の閾値と非優先パケット用閾値蓄積手段515内の閾値から一時蓄積バッファ511内のパケットを廃棄するか否かを判定する。キューイング優先度12が「優先」の場合、
優先パケット用閾値蓄積手段514内の閾値 > FIFOカウンタ513の値
の時に「蓄積」と判定して前記パケットをパケット蓄積FIFO520へ送信するように一時蓄積バッファ511に指示する。一時蓄積バッファ511はこの信号を受信するとパケット蓄積FIFO520にパケットを送信し、パケット蓄積FIFO520はこのパケットを蓄積する。
【0024】
優先パケット用閾値蓄積手段514内の閾値 = FIFOカウンタ513の値
の時には「廃棄」と判定して、一時蓄積バッファ511に前記パケット送信の指示を行わない。一時蓄積バッファ511は「廃棄」と判定したパケットの情報に次に到着したパケットの情報を上書きする。一方、キューイング優先度12が「非優先」の場合、
非優先パケット用閾値蓄積手段515内の閾値 > FIFOカウンタ513の値
の時に「蓄積」と判定し、
非優先パケット用閾値蓄積手段515内の閾値 ≦ FIFOカウンタ513の値
の時には「廃棄」と判定する。廃棄判定回路512は判定結果(「蓄積」か「廃棄」か)を廃棄判定結果13としてFIFOカウンタ513に送信する。FIFOカウンタ513は廃棄判定結果13が「蓄積」の場合には、蓄積情報に1加算し、「廃棄」の場合には加算を行わない。
【0025】
パケット出力制御部530はパケット蓄積FIFO520に蓄積した順番に回線帯域でパケットを送信するようにパケット送信起動信号14を送信し、この信号を受信したパケット蓄積FIFO520はパケット送信回路150へパケットを送信する。また、FIFOカウンタ513は前記パケット送信起動信号14を受信すると蓄積情報から1減算する。本発明では、パケット出力制御部530は回線帯域でパケットを送信するようにパケット送信起動信号14を送信するが、ネットワーク運用者によって設定された回線帯域以下の帯域(例えば、回線帯域の半分)で送信しても良い。
【0026】
本発明のシェーパ部500-jは一つのパケット蓄積FIFO520からパケットを出力するため、複数のバッファからパケットを出力するバッファを選択する必要がなく高速にシェーピングを行う事ができる。
【0027】
ユーザE(端末E235)行きのトラヒックが図9に示す様にシェーパ部500-jに入力し、全ユーザのトラヒックの総和が図10に示す様にシェーパ部500-jに入力する場合、出力回線160-jより出力されるユーザE行きのトラヒックは図11の様になる。時間taでは全ユーザのトラヒックの総和が回線帯域を下回っている為、ユーザEのパケットはパケット蓄積FIFO520に蓄積されて出力される。時間tb、tcでは全ユーザのトラヒックの総和が回線帯域を超えている為、パケット蓄積FIFO520に非優先パケット用閾値蓄積手段515内の値を超えてパケットが蓄積される。この時、非優先パケットは蓄積されず、優先パケットのみパケット蓄積FIFO520に蓄積される。パケット蓄積FIFO520からは回線帯域でパケットは出力され、各ユーザの優先パケットは最低帯域以下で入力する。各ユーザの最低帯域の総和は回線帯域以下であるから、優先パケットは廃棄されずにパケット蓄積FIFO520に蓄積され、出力回線160-jより出力される。時刻tbではユーザEの帯域は最低帯域以下であるため、最終的にユーザEのパケットは出力回線160-jより出力される。時間tcではユーザEの最低帯域以下のパケットは優先パケットと判定され出力回線160-jより出力されるが、最低帯域以上のパケットは非優先パケットと判定されて廃棄される。
【0028】
次に、帯域監視部600の詳細動作について説明する。時間tcでは帯域監視部600は重要パケットを選択的に優先パケットと判定する。この機能によりシェーパ部500は重要パケットを保護することが出来る。帯域監視のアルゴリズムとして固定長パケットであるセルの監視アルゴリズムであるcontinuousLeaky Bucket Algorithm(以下リーキーバケットアルゴリズム)を可変長パケットの帯域監視用に拡張したアルゴリズムを使用する。リーキーバケットアルゴリズムに関しては例えばThe ATM Forum Specification version 4.1の4.4.2章に記載されている。リーキーバケットアルゴリズムはある深さを持った穴の空いた漏れバケツのモデルで、バケツに水が入っている間は監視帯域で水は漏れ、セル到着時にはバケツに1セル分の水が注ぎ込まれる。セルの到着揺らぎを許容するためにバケツに深さを持ち、バケツが溢れない内は入力セルは遵守と、溢れると違反と判定される。本発明ではパケット到着時に注ぎ込む水の量を可変とすることにより、可変長パケットの帯域監視を実現する。
【0029】
図6に帯域監視部600のブロック図を示す。帯域監視部600は帯域監視テーブル制御部650と、バケツ蓄積量判定部610と、監視結果判定部620と、帯域監視テーブル630と、フロー検出部640より構成される。フロー検出手段640は帯域監視を行うために、入力パケット毎にヘッダ内の情報等によりフロー識別子を判定する。帯域監視部600は前記フロー識別子に対応する帯域監視制御情報を用いて帯域監視を実行する。なお、本発明では、ヘッダ内の情報等を組み合わせて作成したパケット識別の条件をフロー条件と、フロー条件に一致する一連のトラヒックをフローと、フロー条件に入力パケットが一致するか否かを判定してフローの識別を行うことをフロー検出と呼ぶ。
【0030】
図7に帯域監視テーブル630のフォーマットを示す。前記帯域監視テーブル630はM個の帯域監視制御情報700-k(k=1〜M)をより構成される。帯域監視部600は一つの前記帯域監視制御情報700-kにより1ユーザの帯域監視を実行する。帯域監視制御情報700-kは重要パケット用のバケツの深さTHR-A701-k(Byte) (Threshold-A)と、非重要パケット用のバケツの深さTHR-B702-k(Byte)(Threshold-B)と、バケツから水が漏れる速度であり監視レートを表すPOLR703-k(Byte/sec)(Policing Rate)と、同一の帯域監視制御情報700-k(k=1〜M)を参照するパケットの水が前回バケツに蓄積した時刻TS704-k(sec)(Time Stamp)と、時刻TS704-kにバケツに蓄積していた水の量であるCNT705-k(Byte)(Count)より構成される。なお、バケツの深さを表すTHR-A701-kとTHR-B702-kは、THR-A701-k≧THR-B702-kの関係がある。
【0031】
図8に帯域監視部600のフローチャートを示す。帯域監視部600の処理は帯域監視開始処理800、バケツ蓄積量判定処理810、監視結果判定処理820である。後の2処理はそれぞれバケツ蓄積量判定部610と、監視結果判定部620が主に実行する。
【0032】
帯域監視部600がヘッダ部310と内部ヘッダ部330から構成されるパケットヘッダ情報11を受信すると、監視結果判定部620のパケット長蓄積手段622はパケット長331を、フロー検出部640は入力回線番号332と、出力回線番号333と、SIP311と、DIP312と、SPORT313と、DPORT314を蓄積する(ステップ801)。ステップ802では、フロー検出部640は蓄積した情報に基づいてフロー検出を行う。ここでは、一時蓄積バッファ511内のパケットのフロー識別子と重要または非重要パケットかを判定する。さらに、前記フロー識別子から構成されるフロー識別子情報15を帯域監視テーブル制御部650の帯域監視テーブル制御回路651へ、パケットの重要度を表すパケット重要度情報17を監視結果判定部620のパケット重要度蓄積手段624へ送信する。
【0033】
このフロー識別子情報15とユーザは1対1で対応する。図2のインターネット200ではフロー検出部640は、例えば、端末E235、端末F236、端末G237、端末H238、端末I239のIPアドレス(DIP312)によってユーザを識別してフロー識別子を判定し、TCPのポート番号(SPORT313、DPORT314)からアプリケーションを識別してパケットの重要度を判定する。
【0034】
帯域監視テーブル制御回路651は前記フロー識別子情報15を受信すると、帯域監視テーブル630のアドレスを作成して帯域監視制御情報700-kを読み出し、THR-A701-kとTHR-B702-kを監視結果判定部620のTHR蓄積手段623に、POLR703-kとTS704-kとCNT705-kをバケツ蓄積量判定部610のそれぞれPOLR蓄積手段613、TS蓄積手段614、CNT蓄積手段615に蓄積する(ステップ803)。
【0035】
バケツ蓄積量判定処理810では、バケツ蓄積量判定部610はパケット入力直前のバケツの水の量(バケツ蓄積量)を判定する。まず、バケツ蓄積量判定回路611は現時刻をカウントするタイマー612の値(単位はsec)とTS蓄積手段614内のTS704-k(sec)との差分を計算し、バケツに水が前回蓄積されてから経過した経過時間(sec)を計算する(ステップ811)。次に経過時間(sec)にPOLR蓄積手段613内のPOLR703-k(Byte/sec)を乗じて、バケツに水が前回蓄積されてから漏れた水の量(バケツ減少量)を計算する(ステップ812)。さらに、CNT蓄積手段615内のCNT705-kからバケツ減少量を減算してパケットが入力する直前のバケツ蓄積量を判定する(ステップ813)。前記バケツ蓄積量の正負を判定し(ステップ814)、判定結果が負の場合にはバケツ蓄積量を"0"(バケツは空)に修正する(ステップ815)。
【0036】
監視結果判定処理820では、監視結果判定部620の監視結果判定回路621は一時蓄積バッファ511内のパケットに相当する水がバケツに入るか否かを判定してパケットの優先度を決定する。まず、監視結果判定回路621はバケツ蓄積量判定処理810で判定されたバケツ蓄積量(Byte)にパケット長(Byte)を加算する(ステップ821)。次に、パケット重要度蓄積手段624はフロー検出部640が送信しているパケット重要度情報17を蓄積する。この蓄積情報に基づき帯域監視処理は分岐する(ステップ822)。監視結果判定回路621は前記蓄積情報が「重要」の場合にはTHR蓄積手段623に蓄積されている重要パケット用のバケツの深さTHR-A701-kと前記加算値との大小比較を行う(ステップ823)。バケツ蓄積量+パケット長>THR-A701-k、即ち、バケツが溢れてしまう時には、一時蓄積バッファ511に蓄積されているパケットを違反パケットと判定して「違反」を表す帯域監視結果情報18を帯域監視テーブル制御部650の帯域監視テーブル制御回路651に、「非優先」を表すキューイング優先度12を廃棄判定回路512に送信する(ステップ826)。一方、バケツ蓄積量+パケット長≦THR-A701-kの時には、入力パケットを遵守パケットと判定し、「遵守」を表す帯域監視結果情報18を帯域監視テーブル制御回路651に、「優先」を表すキューイング優先度12を廃棄制御部510の廃棄判定回路512に送信し、「バケツ蓄積量+パケット長」の値をバケツ蓄積量情報16として帯域監視テーブル制御回路651に送信する(ステップ825)。ステップ822の参照結果が「非重要」の場合にはバケツ蓄積量+パケット長の値がTHR蓄積手段623に蓄積されている非重要パケット用のバケツの深さTHR-B702-kと前記加算値との大小比較を行う(ステップ824)。バケツ蓄積量+パケット長≦THR-B702-kの時には前記ステップ825を、バケツ蓄積量+パケット長>THR-B702-kの時には前記ステップ826を実行する。
【0037】
帯域監視テーブル制御回路651は「遵守」を表示した帯域監視結果情報18を受信すると、バケツ蓄積量情報16とタイマー612の値を、それぞれ帯域監視直後のバケツ蓄積量およびパケットの到着時刻として、帯域監視テーブル630のCNT705-kとTS704-kに書き込む(ステップ827)。帯域監視テーブル制御回路651は「違反」を表示した帯域監視結果情報18を受信すると前記ステップ827を行わない。以上の処理が終了すると帯域監視は終了する(ステップ828)。
【0038】
ステップ822およびステップ824は本発明固有の処理である。帯域監視部600は2つのバケツの深さTHR-A701-k、THR-B702-kを所持し、ステップ822およびステップ824を実行することにより、重要パケットを選択的に優先パケットと判定する。前記ユーザE行きのトラヒックの重要パケットと非重要パケットの内訳が図12の場合について考える。この場合、帯域監視部600の判定結果は図13の様になる。メッシュ部が優先パケット、白抜き部が非優先パケットである。時間tbでは最低帯域以下でパケットが入力される為、バケツに水は蓄積されず、全てのパケットが「優先」と判定される。一方、時間ta、tcでは最低帯域以上にパケットが入力される為、非重要パケット用のバケツの深さTHR-B702-kまで水が蓄積される。この時、非重要パケットは蓄積されず「非優先」と判定され、重要パケットのみがバケツに蓄積され「優先」と判定される。
【0039】
出力回線160-jより出力されるトラヒックを図14に示した。時間taでは全ユーザのトラヒックの総和が回線帯域を下回っている為(図10参照)、ユーザE行きのパケットはパケット蓄積FIFO520に蓄積されると直ぐに出力される。時間tcでは全ユーザのトラヒックの総和が回線帯域を超えている為、パケット蓄積FIFO520に非優先パケット用閾値蓄積手段515内の閾値を超えてパケットが蓄積される。この時、非優先パケットはパケット蓄積FIFO520に蓄積されず、優先パケットのみ蓄積される。パケット蓄積FIFO520からは回線帯域でパケットは出力され、優先パケットは回線帯域以下で入力する為、優先パケットは廃棄されずにパケット蓄積FIFO520に蓄積されて最終的に出力回線160-jより出力される。このため、ユーザEの全ての重要パケットは出力回線160-jより出力される。時間tbではユーザE行きのパケットは全て優先パケットと判定されるため、全て出力回線160-jより出力される。
【0040】
以上に説明した様にシェーパ部500の帯域監視部600が重要パケットを選択的に優先パケットと判定して廃棄制御部510が前記優先パケットをパケット蓄積FIFO520に優先的に蓄積することにより、シェーパ部500は重要パケットを保護して転送することができる。
【0041】
これまで、ルータ100の動作について説明した。ATM交換機やフレームリレー交換機の場合、ヘッダ部310はVPI/VCIやDLCIといったコネクション識別子やCLPやDEといった廃棄優先度情報から構成される。これに対応してルーティング処理部130はDIP312の代わりに前記コネクション識別子よりパケットを出力する出力回線160-jを判定し、フロー検出部640はSIP311と、DIP312と、SPORT313と、DPORT314の代わりにコネクション識別子や廃棄優先度情報を使用してフロー検出を行う。
【0042】
【発明の効果】
本発明のシェーパ部500を備えたルータ100は多くのユーザの最低帯域を保証して高速にシェーピングすることができる。ネットワーク運用者はこのルータ100を用いることにより、高速なネットワークにおいて多くのユーザに最低帯域保証サービスを提供することができる。
【0043】
さらに、本発明のシェーパ部500を備えたルータ100は重要パケットを保護して、最低帯域を効率良く利用するシェーピングを行うことができる。ネットワーク運用者はこのルータ100を用いることにより、ユーザにとって重要なパケットを保護して送信する「最低帯域を有効に利用できるサービス」を提供することができる。
【図面の簡単な説明】
【図1】本発明を適用したルータ100の構成を示すブロック図。
【図2】ネットワークの構成図。
【図3】インターネット200におけるパケットのフォーマットを示す図。
【図4】本発明を適用したルータ100におけるパケットのフォーマットを示す図。
【図5】本発明のシェーパ部500の構成を示すブロック図。
【図6】本発明の帯域監視部600の構成を示すブロック図。
【図7】帯域監視テーブル630のフォーマットを示す図。
【図8】本発明を適用した帯域監視部600のフローチャート。
【図9】シェーパ部500に入力するトラヒックで端末E235行きトラヒックの時間変化を表す図。
【図10】シェーパ部500に入力する全ユーザのトラヒックの総和の時間変化を表す図。
【図11】出力回線160-jから出力するトラヒックで端末E235行きトラヒックの時間変化を表す図。
【図12】シェーパ部500に入力するトラヒックで、端末E235行きの重要パケットと非重要パケットの内訳の時間変化を表す図。
【図13】帯域監視部600が「優先」または「非優先」と判定するトラヒックの時間変化を表す図。
【図14】出力回線160-jから出力するトラヒックで端末E235行きトラヒックの時間変化を表す図。
【符号の説明】
11…パケットヘッダ情報
12…キューイング優先度
13…廃棄判定結果
14…パケット送信起動信号
15…フロー識別子情報
16…バケツ蓄積量情報
17…パケット重要度情報
18…帯域監視結果情報。
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a shaping device that shapes a transmission band of a packet.
[0002]
[Prior art]
In the packet-type communication method used on the Internet, packets from a large number of users can share the same line, so the cost per band can be kept low. In the Internet, there has been a demand for realizing communication quality (QoS: Quality of Service) such as a low delay time and a low discard rate, which has been realized in the conventional telephone network and corporate network.
[0003]
The minimum bandwidth guarantee service, which is one of the services that realize QoS, guarantees the minimum bandwidth contracted for each user (contractor), and packets exceeding this minimum bandwidth are transferred as long as network resources permit. .
[0004]
For example, the minimum bandwidth guarantee service is provided in the Internet 200 of FIG. 2, and the minimum bandwidth received by five terminals (terminal E235, terminal F236, terminal G237, terminal H238, terminal I239) directly connected to the edge router B204 is Consider a case where the user E, the user F, the user G, the user H, and the user I are contracted. The traffic transmitted from the terminal A231, terminal B232, terminal C233, and terminal D234 directly connected to the edge router A201 is transmitted to the terminal E235, terminal F236, terminal G237, and terminal H238 by the edge router A201, backbone router A202, backbone router B203, and edge router 204B. To terminal I239. When the line from the backbone router B203 to the edge router B204 is a bottleneck, the backbone router B203 possesses a shaper for the line and transfers it with a minimum bandwidth guaranteed for each user.
[0005]
As a scheduling method for a shaper that guarantees the minimum bandwidth, for example, a scheduling method called WFQ (Weighted Fair Queueing) is known. As the WFQ algorithm, an algorithm called SCFQ (Self Clocked Fair Queueing) is described in S.Golestani, A Self-Clocked Fair Queueing Scheme for Broadband Applications, In proc. Of INFOCOM94, pp.636-646, 1994. (Prior art 1). In Prior Art 1, the shaper has a plurality of queues i (= 1 to N), each queue i has a weight Wi and a variable Fi that are proportional to the bandwidth used, and updates the variable Fi when a packet arrives at the shaper. . At the time of packet output, the packet of queue i having the smallest Fi is serviced from among the variables Fi of the first packet of queue i in which packets are accumulated. Update the variable Fi
Fi = L / Wi + max (Fi, V (ta))
Done according to Here, L is the packet length of the arrival packet, ta is the arrival time of the packet, and V (t) is a function that returns the value of the packet variable Fi of the queue i at time t. In this method, a minimum bandwidth of Wi / (sum of Wi) × line bandwidth is guaranteed from queue i.
[0006]
[Problems to be solved by the invention]
The first problem with the prior art 1 shaper is that it cannot be shaped at high speed as the number of users increases. The shaper of the prior art 1 queues the traffic of each user (= contractor) in a queue for each user. Since the time for determining a queue for transmitting a packet increases as the number of users increases, shaping cannot be performed at high speed.
[0007]
The second problem is that the user cannot efficiently use the minimum bandwidth. This problem will be described with reference to the Internet 200 in FIG. Traffic from the terminal A231, terminal B232, terminal C233, and terminal D234 to the terminal E235 of the user E is input to the backbone router B203 as shown in FIG. Further, the shaper of the backbone router B203 guarantees the minimum bandwidth of the user E and performs shaping. When the total traffic of all users in the backbone router B203 changes as shown in FIG. 10, the traffic output by the shaper changes as shown in FIG. Since the total traffic of all users is below the line bandwidth at time ta, traffic to user E is output as soon as it is accumulated in the queue for each user. Further, since the bandwidth of user E is below the minimum bandwidth at time tb, all the traffic of user E is output. At time tc, the total traffic of all users exceeds the line bandwidth, and the bandwidth of user E exceeds the minimum bandwidth. Therefore, the packet of user E is accumulated in the queue for each user. Increases and the packet is discarded. Since the shaper does not consider the importance of the packet, the user may discard the important packet that the user wants to reach the receiving terminal and transfer other packets. The shaper of the prior art 1 discards packets important for the user and transmits other packets, and the user may not be able to use the minimum bandwidth efficiently. In the present invention, important packets that the user wants to reach the receiving terminal are called important packets, and other packets are called non-important packets.
[0008]
As described above, the prior art shaper cannot guarantee the minimum bandwidth of many users and perform shaping at high speed.
[0009]
A first object of the present invention is to provide a shaping apparatus that guarantees the minimum bandwidth of many users and performs shaping at high speed.
[0010]
In addition, since the shaper of the conventional technology protects important packets and cannot efficiently use the minimum bandwidth, the user cannot efficiently use the minimum bandwidth.
[0011]
A second object of the present invention is to provide a shaping device that protects important packets and efficiently uses the minimum bandwidth.
[0012]
[Means for Solving the Problems]
In order to achieve the first object, a shaping apparatus according to the present invention is based on a packet storage FIFO for storing packets, a priority determination means for determining a queuing priority of the packet, and the queuing priority. A discard control unit that determines whether to store or discard packets in the packet storage FIFO, and packets of a plurality of users are stored in the same packet storage FIFO. Since the shaping apparatus of the present invention outputs a packet from one packet storage FIFO 520, it is not necessary to select a buffer for outputting a packet from a plurality of buffers, and shaping can be performed at high speed.
[0013]
In order to achieve the second object described above, the shaping device of the present invention includes priority determination means that uses, as a priority packet, a packet for a minimum bandwidth guaranteed to each user for a plurality of user packets. When the priority determination means receives a user packet exceeding the minimum bandwidth, the important packet predetermined by the user is preferentially determined as a priority packet. Since the shaping apparatus of the present invention protects and transfers important packets, the minimum bandwidth can be used efficiently.
[0014]
Other problems to be solved by the present invention and the means for solving the problems will be clarified in the “Embodiments” section of the present invention and the drawings.
[0015]
DETAILED DESCRIPTION OF THE INVENTION
First, the general operation of the router having the shaping function of the present invention will be described with reference to FIGS. FIG. 1 shows a router 100 to which the present invention is applied. The router 100 includes N input lines 110-i (i = 1 to N) through which packets are input, a packet reception circuit 120-i that performs packet reception processing, a routing processing unit 130, and packet relay processing that switches packets Means 140, shaper unit 500-j (j = 1 to N) for each output line, packet transmission circuit 150-j for performing transmission processing, and N output lines 160-j for outputting packets .
[0016]
FIG. 3 shows an example of a packet format on the Internet 200. A packet in the Internet 200 includes a header part 310 and a data part 320. The header section 310 includes a source IP address (Source IP Address: hereinafter referred to as “SIP”) 311 that is a source address (address of the transmission terminal) and a destination IP address (Destination IP) that is a destination address (address of the reception terminal). Address: hereinafter referred to as “DIP”) 312, a source port (Source Port: hereinafter referred to as “SPORT”) 313 representing the source protocol (= higher application) and a destination port (Destination Port: representing the destination protocol) (Hereinafter referred to as “DPORT”). Further, the data unit 320 includes user data 321. In addition to the above information, information such as a service identifier (TOS: Type of Service) is also stored in the header section 310, but the processing described later can be executed in the same manner as the information.
[0017]
FIG. 4 shows a packet format inside the router 100 to which the present invention is applied. The packet format in the router 100 includes an internal header portion 330 in addition to the packet format in the Internet 200. The internal header section 330 is composed of a packet length 331 representing the byte length of the packet, an input line number 332 that is an identifier of the line to which the packet is input, and an output line number 333 that is an identifier of the line to which the packet is output.
[0018]
The network configuration assumed by the present invention is shown in FIG. The Internet 200 in FIG. 2 provides a minimum bandwidth guarantee service, and the minimum bandwidth received by five terminals (terminal E235, terminal F236, terminal G237, terminal H238, terminal I239) directly connected to the edge router B204 is the user. Contracted with E, User F, User G, User H, and User I. Terminal A231, terminal B232, terminal C233, and terminal D234 transmit packets, and terminal E235, terminal F236, terminal G237, terminal H238, and terminal I239 receive them. Although the bandwidth of the line from the backbone router B203 to the edge router B204 is larger than the sum of the minimum bandwidth contracted with each user, it is a bottleneck. The router 100 to which the present invention is applied is used as the backbone router B203, and the shaping unit 500-j of the output line 160-j leading to the edge router B204 performs shaping so as to guarantee the minimum bandwidth to each user.
[0019]
When a packet is input from the input line 110-i of the router 100 to which the present invention is applied, the packet receiving circuit 120-i adds an internal header portion 330, counts the byte length of the packet, and packet length 331 (unit is Byte) Write to. Further, the line number i of the input line 110-i to which the packet is input is written in the input line number 332, and the packet is transmitted to the routing processing unit 130. At this point, the output line number 333 is a meaningless value. When receiving the packet, the routing processing unit 130 determines the output line 160-j that outputs the packet from the DIP 312 and writes the line number j of the output line 160-j to the output line number 333 and transmits it to the packet relay processing unit 140. The packet relay processing unit 140 switches the packet according to the output line number 333 and transmits the packet to the shaper unit 500-j for each output line. The shaper unit 500-j guarantees the minimum bandwidth for each user and transmits the packet to the packet transmission circuit 150-j. When receiving the packet, the packet transmission circuit 150-j deletes the internal header part 330 and transmits the packet to the output line 160-j.
[0020]
Next, the detailed operation of the shaper unit 500 of the present invention will be described. FIG. 5 shows a block diagram of the shaper unit 500 of the present invention. The shaper unit 500 includes a packet accumulation FIFO 520 that accumulates packets, a packet output control unit 530 that outputs packets in the order of accumulation in the packet accumulation FIFO 520, and a discard control unit 510 that controls packet input and discard to the packet accumulation FIFO 520 And a bandwidth monitoring unit 600 that determines the queuing priority when the packet is stored in the packet storage FIFO 520. In the present invention, a packet whose bandwidth monitoring unit 600 determines the queuing priority as “priority” is referred to as a priority packet, and a packet that is determined as “non-priority” is referred to as a non-priority packet. The priority packet is preferentially stored in the packet storage FIFO 520 when congestion occurs and a large number of packets are stored in the packet storage FIFO 520.
[0021]
The discard control unit 510 stores the temporary storage buffer 511 that temporarily stores packets, the FIFO counter 513 that counts the number of packets stored in the packet storage FIFO 520, and the threshold of the packet storage FIFO 520 for priority packets of the FIFO counter 513 Priority packet threshold accumulation means 514, non-priority packet threshold accumulation means 515 for storing the threshold of the packet accumulation FIFO 520 for non-priority packets, and a discard determination circuit 512. The threshold accumulated in the priority packet threshold accumulation means 514 is larger than the threshold accumulated in the non-priority packet threshold accumulation means 515.
[0022]
When a packet is input from the packet relay processing unit 140, the header part 310, the data part 320, and the internal header part 330 are all stored in the temporary storage buffer 511, and the header part 310 and the internal header part 330 are stored in the bandwidth monitoring part 600. The bandwidth monitoring unit 600 determines the queuing priority based on the accumulated information. The bandwidth of the packet input for each user is monitored, and “priority” is determined for a packet within the minimum bandwidth, and “non-priority” is determined for an excess packet. Further, the queuing priority 12 composed of this determination information is transmitted to the discard determination circuit 512. Details of the operation of the bandwidth monitoring unit 600 will be described later.
[0023]
The discard determination circuit 512 of the discard controller 510 uses the queuing priority 12, the value of the FIFO counter 513, the threshold in the priority packet threshold storage unit 514, and the threshold in the non-priority packet threshold storage unit 515 to temporarily store the buffer 511. It is determined whether or not to discard the packet. When queuing priority 12 is "priority"
When the threshold value in the priority packet threshold value accumulation unit 514> the value of the FIFO counter 513, it is determined as “accumulation” and the temporary accumulation buffer 511 is instructed to transmit the packet to the packet accumulation FIFO 520. When the temporary storage buffer 511 receives this signal, it transmits the packet to the packet storage FIFO 520, and the packet storage FIFO 520 stores this packet.
[0024]
When the threshold in the priority packet threshold storage means 514 is equal to the value of the FIFO counter 513, it is determined as “discard” and the temporary storage buffer 511 is not instructed to transmit the packet. The temporary storage buffer 511 overwrites the information of the packet that has arrived next to the information of the packet determined to be “discard”. On the other hand, if the queuing priority 12 is "Non-priority"
When the threshold in the non-priority packet threshold accumulation means 515> the value of the FIFO counter 513, it is determined as “accumulation”
When the threshold in the non-priority packet threshold storage means 515 ≦ the value of the FIFO counter 513, it is determined as “discard”. The discard determination circuit 512 transmits the determination result (“accumulation” or “discard”) as the discard determination result 13 to the FIFO counter 513. The FIFO counter 513 adds 1 to the accumulated information when the discard determination result 13 is “accumulation”, and does not add when it is “discard”.
[0025]
The packet output control unit 530 transmits the packet transmission activation signal 14 so that the packets are transmitted in the line bandwidth in the order of accumulation in the packet accumulation FIFO 520, and the packet accumulation FIFO 520 that has received this signal transmits the packet to the packet transmission circuit 150. . When receiving the packet transmission activation signal 14, the FIFO counter 513 subtracts 1 from the accumulated information. In the present invention, the packet output control unit 530 transmits the packet transmission activation signal 14 so as to transmit the packet in the line bandwidth, but the bandwidth is equal to or less than the line bandwidth set by the network operator (for example, half of the line bandwidth). You may send it.
[0026]
Since the shaper unit 500-j of the present invention outputs a packet from one packet storage FIFO 520, it is not necessary to select a buffer for outputting a packet from a plurality of buffers, and shaping can be performed at high speed.
[0027]
When traffic destined for user E (terminal E235) is input to the shaper unit 500-j as shown in FIG. 9, and the total traffic of all users is input to the shaper unit 500-j as shown in FIG. The traffic for user E output from 160-j is as shown in FIG. At time ta, the total traffic of all users is below the line bandwidth, so user E's packet is stored in packet storage FIFO 520 and output. Since the total traffic of all users exceeds the line bandwidth at times tb and tc, packets are accumulated in the packet accumulation FIFO 520 exceeding the value in the threshold accumulation means 515 for non-priority packets. At this time, the non-priority packet is not accumulated, and only the priority packet is accumulated in the packet accumulation FIFO 520. Packets are output from the packet storage FIFO 520 in the line bandwidth, and the priority packets for each user are input below the minimum bandwidth. Since the sum of the minimum bandwidths of each user is equal to or less than the line bandwidth, the priority packets are not discarded but are accumulated in the packet accumulation FIFO 520 and output from the output line 160-j. At time tb, the band of user E is equal to or lower than the minimum band, and therefore the packet of user E is finally output from the output line 160-j. At time tc, a packet below the lowest bandwidth of user E is determined as a priority packet and output from the output line 160-j, but a packet above the minimum bandwidth is determined as a non-priority packet and discarded.
[0028]
Next, the detailed operation of the bandwidth monitoring unit 600 will be described. At time tc, the bandwidth monitoring unit 600 selectively determines important packets as priority packets. With this function, the shaper unit 500 can protect important packets. As an algorithm for bandwidth monitoring, an algorithm obtained by extending continuousLeaky Bucket Algorithm (hereinafter referred to as leaky bucket algorithm), which is a monitoring algorithm for cells that are fixed-length packets, for bandwidth monitoring of variable-length packets is used. The leaky bucket algorithm is described, for example, in Chapter 4.4.2 of The ATM Forum Specification version 4.1. The leaky bucket algorithm is a leaky bucket model with a certain depth, with water leaking in the monitoring band while the bucket is filled with water, and one cell of water is poured into the bucket when the cell arrives. In order to allow the arrival fluctuation of the cell, the bucket has a depth. When the bucket does not overflow, the input cell is determined to be compliant, and when it overflows, it is determined to be violated. In the present invention, the bandwidth of variable-length packets can be monitored by changing the amount of water poured upon arrival of the packets.
[0029]
FIG. 6 shows a block diagram of the bandwidth monitoring unit 600. The bandwidth monitoring unit 600 includes a bandwidth monitoring table control unit 650, a bucket accumulation amount determination unit 610, a monitoring result determination unit 620, a bandwidth monitoring table 630, and a flow detection unit 640. The flow detection unit 640 determines a flow identifier based on information in the header for each input packet in order to perform bandwidth monitoring. The bandwidth monitoring unit 600 performs bandwidth monitoring using bandwidth monitoring control information corresponding to the flow identifier. In the present invention, it is determined whether a packet identification condition created by combining information in the header or the like is a flow condition, a series of traffic that matches the flow condition, and whether an input packet matches the flow condition. This flow identification is called flow detection.
[0030]
FIG. 7 shows the format of the bandwidth monitoring table 630. The bandwidth monitoring table 630 includes M pieces of bandwidth monitoring control information 700-k (k = 1 to M). The bandwidth monitoring unit 600 performs bandwidth monitoring for one user based on the bandwidth monitoring control information 700-k. The bandwidth monitoring control information 700-k includes the bucket depth THR-A701-k (Byte) (Threshold-A) for important packets and the bucket depth THR-B702-k (Byte) (Threshold) for non-important packets. -B), POLR703-k (Byte / sec) (Policing Rate) representing the rate of water leakage from the bucket and indicating the monitoring rate, and the same bandwidth monitoring control information 700-k (k = 1 to M) It consists of the time TS704-k (sec) (Time Stamp) when the packet water was accumulated in the bucket last time and the CNT705-k (Byte) (Count), which is the amount of water accumulated in the bucket at time TS704-k. The Note that THR-A701-k and THR-B702-k representing the bucket depth have a relationship of THR-A701-k ≧ THR-B702-k.
[0031]
FIG. 8 shows a flowchart of the bandwidth monitoring unit 600. The processing of the bandwidth monitoring unit 600 is a bandwidth monitoring start processing 800, a bucket accumulation amount determination processing 810, and a monitoring result determination processing 820. The latter two processes are mainly executed by the bucket accumulation amount determination unit 610 and the monitoring result determination unit 620, respectively.
[0032]
When the bandwidth monitoring unit 600 receives the packet header information 11 including the header unit 310 and the internal header unit 330, the packet length storage unit 622 of the monitoring result determination unit 620 indicates the packet length 331, and the flow detection unit 640 indicates the input line number. 332, output line number 333, SIP 311, DIP 312, SPORT 313, and DPORT 314 are stored (step 801). In step 802, the flow detection unit 640 performs flow detection based on the accumulated information. Here, the flow identifier of the packet in the temporary storage buffer 511 and whether it is an important or non-important packet are determined. Further, the flow identifier information 15 composed of the flow identifier is sent to the bandwidth monitoring table control circuit 651 of the bandwidth monitoring table control unit 650, and the packet importance level information 17 indicating the importance level of the packet is sent to the packet importance level of the monitoring result determination unit 620. It transmits to the storage means 624.
[0033]
The flow identifier information 15 and the user have a one-to-one correspondence. In the Internet 200 of FIG. 2, for example, the flow detection unit 640 determines a flow identifier by identifying a user by the IP address (DIP312) of the terminal E235, terminal F236, terminal G237, terminal H238, and terminal I239, and determines the TCP port number. The application is identified from (SPORT313, DPORT314), and the importance of the packet is determined.
[0034]
Upon receiving the flow identifier information 15, the bandwidth monitoring table control circuit 651 creates an address of the bandwidth monitoring table 630, reads the bandwidth monitoring control information 700-k, and monitors the THR-A701-k and THR-B702-k as the monitoring results. The POLR 703-k, TS704-k, and CNT705-k are stored in the POLR storage unit 613, the TS storage unit 614, and the CNT storage unit 615 of the bucket storage amount determination unit 610, respectively, in the THR storage unit 623 of the determination unit 620 (step 803). ).
[0035]
In the bucket accumulation amount determination processing 810, the bucket accumulation amount determination unit 610 determines the amount of bucket water immediately before packet input (bucket accumulation amount). First, the bucket accumulation amount determination circuit 611 calculates the difference between the value of the timer 612 that counts the current time (unit: sec) and TS704-k (sec) in the TS accumulation means 614, and water is accumulated in the bucket last time. The elapsed time (sec) that has elapsed since then is calculated (step 811). Next, multiply the elapsed time (sec) by POLR703-k (Byte / sec) in the POLR accumulation means 613 to calculate the amount of water leaked since the previous accumulation of water in the bucket (bucket decrease) (step) 812). Further, the bucket accumulation amount immediately before the packet is input is determined by subtracting the bucket decrease amount from the CNT 705-k in the CNT accumulation means 615 (step 813). Whether the bucket accumulation amount is positive or negative is determined (step 814). If the determination result is negative, the bucket accumulation amount is corrected to "0" (bucket is empty) (step 815).
[0036]
In the monitoring result determination process 820, the monitoring result determination circuit 621 of the monitoring result determination unit 620 determines whether or not water corresponding to the packet in the temporary storage buffer 511 enters the bucket and determines the priority of the packet. First, the monitoring result determination circuit 621 adds the packet length (Byte) to the bucket accumulation amount (Byte) determined in the bucket accumulation amount determination processing 810 (Step 821). Next, the packet importance storage unit 624 stores the packet importance information 17 transmitted by the flow detection unit 640. Based on this accumulated information, the bandwidth monitoring process branches (step 822). When the stored information is “important”, the monitoring result determination circuit 621 performs a size comparison between the packet depth THR-A701-k stored in the THR storage unit 623 and the added value ( Step 823). Bucket accumulation amount + packet length> THR-A701-k, that is, when the bucket overflows, the packet accumulated in the temporary accumulation buffer 511 is judged as a violation packet, and the bandwidth monitoring result information 18 indicating “violation” is The queuing priority 12 indicating “non-priority” is transmitted to the discard determination circuit 512 to the bandwidth monitoring table control circuit 651 of the bandwidth monitoring table control unit 650 (step 826). On the other hand, when the bucket accumulation amount + packet length ≦ THR-A701-k, the input packet is determined to be a compliant packet, and the bandwidth monitoring result information 18 indicating “compliance” is indicated to the bandwidth monitoring table control circuit 651 to indicate “priority”. The queuing priority 12 is transmitted to the discard determination circuit 512 of the discard control unit 510, and the value of “bucket accumulation amount + packet length” is transmitted to the bandwidth monitoring table control circuit 651 as the bucket accumulation amount information 16 (step 825). When the reference result of step 822 is “non-important”, the bucket accumulation amount + packet length value is stored in the THR storage means 623 and the added value of the bucket depth THR-B702-k for the non-important packet A comparison is made (step 824). Step 825 is executed when bucket accumulation amount + packet length ≦ THR-B702-k, and step 826 is executed when bucket accumulation amount + packet length> THR-B702-k.
[0037]
When the bandwidth monitoring table control circuit 651 receives the bandwidth monitoring result information 18 indicating “Compliance”, the bucket accumulation amount information 16 and the value of the timer 612 are respectively set as the bucket accumulation amount immediately after the bandwidth monitoring and the arrival time of the packet. Write to CNT705-k and TS704-k of the monitoring table 630 (step 827). When the bandwidth monitoring table control circuit 651 receives the bandwidth monitoring result information 18 indicating “Violation”, the bandwidth monitoring table control circuit 651 does not perform Step 827. When the above processing ends, bandwidth monitoring ends (step 828).
[0038]
Steps 822 and 824 are processes unique to the present invention. The bandwidth monitoring unit 600 has two bucket depths THR-A701-k and THR-B702-k, and executes step 822 and step 824 to selectively determine important packets as priority packets. Consider the case where the breakdown of the important packets and the unimportant packets of the traffic destined for user E is shown in FIG. In this case, the determination result of the bandwidth monitoring unit 600 is as shown in FIG. The mesh portion is a priority packet, and the white portion is a non-priority packet. At time tb, since packets are input at the minimum bandwidth or less, water is not accumulated in the bucket, and all packets are determined to be “priority”. On the other hand, at time ta and tc, since the packet is input beyond the minimum bandwidth, water is accumulated up to the bucket depth THR-B702-k for non-important packets. At this time, the non-important packet is not stored and determined as “non-priority”, and only the important packet is stored in the bucket and determined as “priority”.
[0039]
The traffic output from the output line 160-j is shown in FIG. At time ta, the total traffic of all users is below the line bandwidth (see FIG. 10), so the packet destined for user E is output as soon as it is stored in the packet storage FIFO 520. At time tc, since the total traffic of all users exceeds the line bandwidth, packets are accumulated in the packet accumulation FIFO 520 exceeding the threshold in the non-priority packet threshold accumulation means 515. At this time, the non-priority packet is not accumulated in the packet accumulation FIFO 520, but only the priority packet is accumulated. Packets are output from the packet storage FIFO 520 in the line bandwidth, and priority packets are input below the line bandwidth. Therefore, priority packets are not discarded but are stored in the packet storage FIFO 520 and finally output from the output line 160-j. . For this reason, all important packets of the user E are output from the output line 160-j. At time tb, since all packets destined for user E are determined as priority packets, all packets are output from the output line 160-j.
[0040]
As described above, the bandwidth monitoring unit 600 of the shaper unit 500 selectively determines important packets as priority packets, and the discard control unit 510 preferentially stores the priority packets in the packet storage FIFO 520. 500 can forward important packets while protecting them.
[0041]
So far, the operation of the router 100 has been described. In the case of an ATM exchange or a frame relay exchange, the header section 310 is composed of connection identifiers such as VPI / VCI and DLCI, and discard priority information such as CLP and DE. Correspondingly, the routing processing unit 130 determines the output line 160-j that outputs a packet from the connection identifier instead of the DIP 312, and the flow detection unit 640 is connected to the SIP 311, DIP 312, SPORT 313, and DPORT 314. Flow detection is performed using identifiers and discard priority information.
[0042]
【The invention's effect】
The router 100 including the shaper unit 500 of the present invention can perform shaping at high speed while guaranteeing the minimum bandwidth of many users. By using this router 100, the network operator can provide a minimum bandwidth guarantee service to many users in a high-speed network.
[0043]
Furthermore, the router 100 including the shaper unit 500 of the present invention can protect important packets and perform shaping that efficiently uses the minimum bandwidth. By using the router 100, the network operator can provide a “service that can effectively use the minimum bandwidth” in which packets important to the user are protected and transmitted.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of a router 100 to which the present invention is applied.
FIG. 2 is a configuration diagram of a network.
FIG. 3 is a diagram showing a format of a packet in the Internet 200.
FIG. 4 is a diagram showing a packet format in the router 100 to which the present invention is applied.
FIG. 5 is a block diagram showing a configuration of a shaper unit 500 according to the present invention.
FIG. 6 is a block diagram showing a configuration of a bandwidth monitoring unit 600 of the present invention.
7 is a view showing a format of a bandwidth monitoring table 630. FIG.
FIG. 8 is a flowchart of a bandwidth monitoring unit 600 to which the present invention is applied.
FIG. 9 is a diagram illustrating a time change of traffic destined for a terminal E235 in traffic input to the shaper unit 500;
FIG. 10 is a diagram illustrating a temporal change in the total traffic of all users input to the shaper unit 500;
FIG. 11 is a diagram showing a time change of traffic destined for a terminal E235 in traffic output from the output line 160-j.
FIG. 12 is a diagram showing a change over time in the breakdown of important packets and non-important packets destined for terminal E235 in traffic input to shaper section 500;
FIG. 13 is a diagram illustrating a change in traffic over time that the bandwidth monitoring unit 600 determines as “priority” or “non-priority”;
FIG. 14 is a diagram showing a time change of traffic destined for terminal E235 in traffic output from output line 160-j.
[Explanation of symbols]
11 ... Packet header information
12 ... queuing priority
13 ... Disposal judgment result
14 ... Packet transmission start signal
15: Flow identifier information
16 ... Bucket accumulation information
17: Packet importance information
18: Band monitoring result information.

Claims (10)

最低帯域を保証してパケットを送信するシェーピング装置において、
パケットを蓄積する1つのバッファと、
前記バッファに蓄積した順番でパケットを出力する出力制御手段と、
前記バッファに蓄積する際のキューイング優先度を判定する優先度判定手段と、
前記キューイング優先度に基づいて前記バッファへのパケット蓄積・廃棄を判定する廃棄制御手段と、を備え
前記優先度判定手段が
パケットヘッダ内の情報等からパケットの一連のフローを検出して前記フローの識別子であるフロー識別子を判定するフロー検出手段と、
帯域を監視するための制御情報である帯域監視制御情報から構成されるエントリを一つあるいは複数所持する帯域監視テーブルと、
前記フロー識別子に対応するエントリを帯域監視テーブルから読み出す帯域監視テーブル制御手段と、
前記帯域監視テーブル制御手段が読み出したエントリ内の帯域監視制御情報と現時刻を示すタイマーの値とパケットヘッダ内のパケット長に基づいてキューイング優先度を判定する監視結果判定手段と、を備え
前記フロー検出手段が、前記フロー識別子に加えて前記フロー内のパケットの重要度が重要あるいは非重要いずれかを判定し、
前記監視結果判定手段が、前記帯域監視制御情報と現時刻を示すタイマーの値とパケットヘッダ内のパケット長に加えて前記重要度に基づいてキューイング優先度を判定し、
さらに、前記帯域監視制御情報には監視帯域の情報が含まれ、前記監視結果判定手段は、前記重要度に関わらず前記パケットが監視帯域に違反していないかを監視し、前記重要度が重要であるパケットが使用している帯域が前記監視帯域を超えておらず、かつ、前記パケットが非重要のパケットである場合に、前記低重要度のパケットが前記監視帯域に違反していなければ、前記非重要のパケットのキューイング優先度を優先と判定することを特徴とするシェーピング装置。
In a shaping device that guarantees the minimum bandwidth and transmits packets,
One buffer to store packets;
Output control means for outputting packets in the order of accumulation in the buffer;
Priority determination means for determining queuing priority when storing in the buffer;
A discard control unit that determines whether to accumulate or discard a packet in the buffer based on the queuing priority ; and the priority determination unit detects a series of packet flows from information or the like in a packet header, and the flow Flow detection means for determining a flow identifier that is an identifier of
A bandwidth monitoring table entries composed of the bandwidth monitoring control information to one or more holders is control information for monitoring the band,
Bandwidth monitoring table control means for reading an entry corresponding to the flow identifier from a bandwidth monitoring table;
Wherein and a determining monitoring result determining means for queuing priority based on the packet length of the bandwidth monitoring control information and the timer value and the packet header indicating the current time in the entry of the bandwidth check table control means read The flow detection means determines whether the importance of the packet in the flow is important or non-important in addition to the flow identifier
The monitoring result determining means determines a queuing priority based on the importance in addition to the bandwidth monitoring control information, a timer value indicating the current time, and a packet length in a packet header,
Further, the bandwidth monitoring control information includes monitoring bandwidth information, and the monitoring result determination means monitors whether the packet violates the monitoring bandwidth regardless of the importance , and the importance is important. If the bandwidth used by the packet is not exceeding the monitoring bandwidth, and the packet is a non-critical packet, the low-importance packet does not violate the monitoring bandwidth, A shaping device that determines that the queuing priority of an unimportant packet is a priority .
前記廃棄制御手段がキューイング優先度が「優先」のパケットを蓄積または廃棄するかを判定する際に参照する前記バッファの最大値(閾値)を保存する優先パケット用閾値蓄積手段と、キューイング優先度が「非優先」のパケットを蓄積するか廃棄するかを判定する際に参照する前記バッファの最大値(閾値)を保存する非優先パケット用閾値蓄積手段と、
前記バッファに蓄積しているパケット数をカウントするカウンタを備えることを特徴とする請求項1記載のシェーピング装置。
Threshold priority storage means for priority packets that stores the maximum value (threshold value) of the buffer that is referred to when the discard control means determines whether to store or discard packets with a priority priority of queuing priority; Threshold storage means for non-priority packets that stores the maximum value (threshold) of the buffer referred to when determining whether to store or discard packets with a degree of “non-priority”;
The shaping apparatus according to claim 1, further comprising a counter that counts the number of packets accumulated in the buffer.
請求項1記載のシェーピング装置であって、
前記優先度判定手段が
帯域を監視するための制御情報であるバケツの深さ情報と帯域情報と前パケットの到着時刻情報と前パケット到着時のバケツの蓄積量情報から構成されるエントリを一つあるいは複数所持する帯域監視テーブルと、
読み出した帯域情報と前パケットの到着時刻情報と前パケットの到着時のバケツの蓄積量情報と現時刻を示すタイマーの値から帯域監視直前のバケツの蓄積量を計算するバケツ蓄積量判定手段と、
前記帯域監視直前のバケツの蓄積量とパケットヘッダ内のパケット長とバケツの深さ情報に基づいてキューイング優先度を判定する監視結果判定手段を備えることを特徴とするシェーピング装置。
The shaping device according to claim 1,
The priority determination means has one entry composed of bucket depth information, bandwidth information, arrival time information of the previous packet, and accumulated amount information of the bucket when the previous packet arrives, which is control information for monitoring the bandwidth. Or a multiple bandwidth monitoring table,
Bucket accumulation amount determination means for calculating the accumulation amount of the bucket immediately before the bandwidth monitoring from the read bandwidth information, the arrival time information of the previous packet, the accumulation amount information of the bucket at the arrival of the previous packet, and the timer value indicating the current time;
A shaping apparatus comprising monitoring result determination means for determining a queuing priority based on an accumulation amount of a bucket immediately before bandwidth monitoring, a packet length in a packet header, and bucket depth information.
請求項3記載のシェーピング装置であって、
前記帯域監視テーブルが前記バケツの深さ情報として複数のバケツの深さを所持し、前記監視結果判定手段が前記帯域監視直前のバケツの蓄積量とパケットヘッダ内のパケット長とバケツの深さ情報に加えて前記重要度に基づいてキューイング優先度を判定することを特徴とするシェーピング装置。
A shaping device according to claim 3,
The bandwidth monitoring table has a plurality of bucket depths as the bucket depth information, and the monitoring result determination means is the bucket storage amount immediately before the bandwidth monitoring, the packet length in the packet header, and the bucket depth information. And a queuing priority based on the importance.
パケットを蓄積するパケット蓄積FIFOと、
前記パケットのキューイング優先度を決定する優先度決定手段と、
前記キューイング優先度に基づいて前記パケット蓄積FIFOへのパケット蓄積・廃棄を判定する廃棄制御部とを備え、
前記優先度決定手段が、複数のユーザのパケットに対してそれぞれのユーザに保証している最低帯域分のパケットを優先パケットとするものであり、あるユーザのパケットを前記最低帯域を超えて受信した場合に、前記ユーザが予め決定した重要パケットを優先的に優先パケットと決定し、さらに、前記優先度決定手段は、パケットの重要度に関わらず前記パケットが前記最低帯域に違反していないかを監視し、重要度が重要を示すパケットが使用している帯域が前記最低帯域を超えておらず、かつ、前記重要度が非重要であるパケットである場合に、前記重要度が非重要であるパケットが前記最低帯域に違反していなければ、前記重要度が非重要であるパケットのキューイング優先度を優先と判定することを特徴とするシェーピング装置。
A packet storage FIFO to store packets;
Priority determining means for determining the queuing priority of the packet;
A discard control unit that determines packet storage / discard to the packet storage FIFO based on the queuing priority;
The priority determination means sets a packet for a minimum bandwidth guaranteed to each user for a plurality of user packets as a priority packet, and receives a packet of a user exceeding the minimum bandwidth. The priority packet determined by the user is preferentially determined as a priority packet, and the priority determination means determines whether the packet violates the minimum bandwidth regardless of the importance of the packet. monitoring, severity does not exceed the minimum bandwidth is bandwidth packet uses of the importance, and if the importance degree of the packet is non-critical, the importance is unimportant If the packet does not violate the minimum bandwidth, the shaping device is characterized in that the queuing priority of the packet whose importance is unimportant is determined as priority .
前記複数のユーザのパケットが同一の前記パケット蓄積FIFOに蓄積されることを特徴とする請求項5記載のシェーピング装置。  6. The shaping apparatus according to claim 5, wherein the packets of the plurality of users are stored in the same packet storage FIFO. 最低帯域を保証してパケットを送信するシェーピング装置において、
パケットを蓄積する1つのパケット蓄積FIFOと、
前記パケット蓄積FIFOに蓄積した順番でパケットを出力する出力制御手段と、
前記パケット蓄積FIFOに蓄積する際のキューイング優先度を決定する優先度決定手段と、
前記キューイング優先度に基づいて前記パケット蓄積FIFOへのパケット蓄積・廃棄を判定する廃棄制御部と、を備え
前記優先度決定手段が
パケットヘッダ内の情報等からパケットの一連のフローを検出して前記フローの識別子であるフロー識別子を判定するフロー検出手段と、
帯域を監視するのための制御情報である帯域監視制御情報から構成されるエントリを一つあるいは複数所持する帯域監視テーブルと、
前記フロー識別子に対応するエントリを帯域監視テーブルから読み出す帯域監視テーブル制御手段と、
前記帯域監視テーブル制御手段が読み出したエントリ内の帯域監視制御情報と現時刻を示すタイマーの値とパケットヘッダ内のパケット長に基づいてキューイング優先度を決定する監視結果判定手段と、を備え、
前記フロー検出手段が
前記フロー識別子に加えて前記フロー内のパケットの重要度を判定し、前記監視結果判定手段が前記帯域監視制御情報と現時刻を示すタイマーの値とパケットヘッダ内のパケット長に加えて前記重要度に基づいてキューイング優先度を決定し、
さらに、前記帯域監視制御情報には前記最低帯域の情報が含まれ、前記監視結果判定手段は、前記重要度に関わらず前記パケットが前記最低帯域に違反していないかを監視し、前記重要度が重要であるパケットが使用している帯域が前記最低帯域を超えておらず、かつ、前記重要度が非重要であるパケットが前記最低帯域に違反していなければ、前記重要度が非重要であるパケットのキューイング優先度を優先と判定することを特徴とするシェーピング装置。
In a shaping device that guarantees the minimum bandwidth and transmits packets,
One packet storage FIFO to store packets;
Output control means for outputting packets in the order of accumulation in the packet accumulation FIFO;
Priority determination means for determining queuing priority when storing in the packet storage FIFO;
A discard control unit that determines whether to store or discard packets in the packet storage FIFO based on the queuing priority , and the priority determination unit detects a series of packet flows from information in a packet header. Flow detection means for determining a flow identifier which is an identifier of the flow;
A bandwidth monitoring table having one or more entries composed of bandwidth monitoring control information which is control information for monitoring the bandwidth;
Bandwidth monitoring table control means for reading an entry corresponding to the flow identifier from a bandwidth monitoring table;
And a monitoring result determining means for determining a queuing priority based on the packet length of the bandwidth check table control means read the timer value and the packet header indicating the bandwidth monitoring control information and the current time in the entry,
The flow detection means determines the importance of the packet in the flow in addition to the flow identifier, and the monitoring result determination means sets the bandwidth monitoring control information, the timer value indicating the current time, and the packet length in the packet header. In addition, a queuing priority is determined based on the importance,
Further, the bandwidth monitoring control information includes the information on the minimum bandwidth, and the monitoring result determination means monitors whether the packet violates the minimum bandwidth regardless of the importance , and the importance If the bandwidth used by the packets whose importance is important does not exceed the minimum bandwidth, and the packets whose importance is not important do not violate the minimum bandwidth, the importance is not important. shaping apparatus characterized by determining a priority queuing priority of a packet.
前記廃棄制御部がキューイング優先度が「優先」のパケットを蓄積または廃棄するかを判定する際に参照する前記パケット蓄積FIFOの最大値(閾値)を保存する優先パケット用閾値蓄積手段と、キューイング優先度が「非優先」のパケットを蓄積するか廃棄するかを判定する際に参照する前記パケット蓄積FIFOの最大値(閾値)を保存する非優先パケット用閾値蓄積手段と、前記パケット蓄積FIFOに蓄積しているパケット数をカウントするカウンタを備えることを特徴とする請求項7記載のシェーピング装置。  Priority packet threshold storage means for storing a maximum value (threshold value) of the packet storage FIFO to be referred to when the discard control unit determines whether to store or discard a packet with a priority of “priority”. Non-priority packet threshold storage means for storing the maximum value (threshold value) of the packet storage FIFO to be referred to when determining whether to store or discard a packet having a non-priority ingress priority, and the packet storage FIFO 8. The shaping device according to claim 7, further comprising a counter that counts the number of packets accumulated in the. 請求項7記載のシェーピング装置であって、
帯域を監視するための制御情報であるバケツの深さ情報と帯域情報と前パケットの到着時刻情報と前パケット到着時のバケツの蓄積量情報から構成されるエントリを一つあるいは複数所持する帯域監視テーブルと、
読み出した帯域情報と前パケットの到着時刻情報と前パケットの到着時のバケツの蓄積量情報と現時刻を示すタイマーの値から帯域監視直前のバケツの蓄積量を計算するバケツ蓄積量判定手段と、
前記帯域監視直前のバケツの蓄積量とパケットヘッダ内のパケット長とバケツの深さ情報に基づいてキューイング優先度を決定する監視結果判定手段と、を備えることを特徴とするシェーピング装置。
The shaping device according to claim 7,
Bandwidth monitoring of one or more carrying the composed entry from the arrival time information and the previous packet arrival bucket storage amount information when the bucket depth information and band information and the previous packet is control information for monitoring the bandwidth Table,
A bucket water level decision means for calculating the accumulated amount of bucket bandwidth monitoring to just the value of the timer indicating the accumulated amount information and the current time bucket upon arrival of the arrival time information of the read bandwidth information and the previous packet and the previous packet ,
Shaping apparatus characterized by comprising a monitoring result determining means for determining a queuing priority based on the packet length and a bucket depth information in bucket accumulation amount and the packet header just before the bandwidth monitoring.
請求項9記載のシェーピング装置であって、
前記帯域監視テーブルが前記バケツの深さ情報として複数のバケツの深さを所持し、前記監視結果判定手段が前記帯域監視直前のバケツの蓄積量とパケットヘッダ内のパケット長とバケツの深さ情報に加えて前記重要度に基づいてキューイング優先度を決定することを特徴とするシェーピング装置。
The shaping device according to claim 9, wherein
The bandwidth monitoring table has a plurality of bucket depths as the bucket depth information, and the monitoring result determination means is the bucket storage amount immediately before the bandwidth monitoring, the packet length in the packet header, and the bucket depth information. And a queuing priority is determined based on the importance.
JP2000149811A 2000-05-17 2000-05-17 Shaping device Expired - Lifetime JP4484317B2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2000149811A JP4484317B2 (en) 2000-05-17 2000-05-17 Shaping device
US09/811,504 US6920109B2 (en) 2000-05-17 2001-03-20 Packet shaper
US11/080,475 US7525912B2 (en) 2000-05-17 2005-03-16 Packet shaper

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000149811A JP4484317B2 (en) 2000-05-17 2000-05-17 Shaping device

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2005361180A Division JP4484810B2 (en) 2005-12-15 2005-12-15 Packet transfer device

Publications (2)

Publication Number Publication Date
JP2001326688A JP2001326688A (en) 2001-11-22
JP4484317B2 true JP4484317B2 (en) 2010-06-16

Family

ID=18655611

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000149811A Expired - Lifetime JP4484317B2 (en) 2000-05-17 2000-05-17 Shaping device

Country Status (2)

Country Link
US (2) US6920109B2 (en)
JP (1) JP4484317B2 (en)

Families Citing this family (91)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7082471B2 (en) * 2000-03-20 2006-07-25 International Business Machines Corporation Method and system of dispatching socks traffic using type of service (TOS) field of IP datagrams
WO2002030064A1 (en) * 2000-10-03 2002-04-11 U4Ea Technologies Limited Information flow control in a packet network based on variable conceptual packet lengths
AU2000275414A1 (en) * 2000-10-03 2002-04-15 U4Ea Technologies Limited Filtering data flows
US7236491B2 (en) * 2000-11-30 2007-06-26 Industrial Technology Research Institute Method and apparatus for scheduling for packet-switched networks
US7486686B2 (en) * 2001-02-26 2009-02-03 Vitesse Semiconductor Corporation Method and apparatus for scheduling data on a medium
JP2002300193A (en) * 2001-03-30 2002-10-11 Hitachi Ltd Router
US7072291B1 (en) 2001-08-23 2006-07-04 Cisco Technology, Inc. Devices, softwares and methods for redundantly encoding a data stream for network transmission with adjustable redundant-coding delay
AU2002326995A1 (en) * 2001-09-19 2003-04-01 Bay Microsystems, Inc. Vertical instruction and data processing in a network processor architecture
TWI227616B (en) * 2001-11-20 2005-02-01 Hitachi Ltd Packet communication device, packet communication system, packet communication module, data processor and data transmission system
US6999417B1 (en) 2001-11-30 2006-02-14 Cisco Technology, Inc. Devices, softwares and methods for incorporating burstiness of packet loss metric in QoS based network routing
JP3904922B2 (en) * 2001-12-28 2007-04-11 株式会社日立製作所 Traffic shaper and concentrator
US7266612B1 (en) * 2002-02-14 2007-09-04 At&T Corp. Network having overload control using deterministic early active drops
JP3891945B2 (en) * 2002-05-30 2007-03-14 株式会社ルネサステクノロジ Packet communication device
US7688833B2 (en) * 2002-08-30 2010-03-30 Nortel Networks Limited Synchronous transmission network node
US7551558B2 (en) * 2002-09-06 2009-06-23 Infineon Technologies Ag Method and system for controlling bandwidth allocation
GB0226249D0 (en) * 2002-11-11 2002-12-18 Clearspeed Technology Ltd Traffic handling system
GB2395856A (en) * 2002-11-26 2004-06-02 King S College London Method for reducing packet congestion at a network node
CN1729655A (en) * 2003-01-17 2006-02-01 富士通株式会社 Network-switching equipment and network exchange method
CN100546301C (en) 2003-02-25 2009-09-30 株式会社日立制作所 Flow shaping method and traffic shaping device
US7349342B2 (en) * 2003-03-17 2008-03-25 International Business Machines Corporation Traffic metering in data networks
JP4069818B2 (en) 2003-07-17 2008-04-02 株式会社日立製作所 Bandwidth monitoring method and packet transfer apparatus having bandwidth monitoring function
JP2005150948A (en) * 2003-11-12 2005-06-09 Fujitsu Ltd Apparatus for switching packet
JP4419541B2 (en) 2003-12-03 2010-02-24 株式会社日立製作所 Polishing equipment
US20050149563A1 (en) * 2004-01-06 2005-07-07 Yong Yean K. Random early detect and differential packet aging flow control in switch queues
JP2005277804A (en) * 2004-03-25 2005-10-06 Hitachi Ltd Information relaying apparatus
US7715310B1 (en) 2004-05-28 2010-05-11 Cisco Technology, Inc. L2VPN redundancy with ethernet access domain
US7644317B1 (en) 2004-06-02 2010-01-05 Cisco Technology, Inc. Method and apparatus for fault detection/isolation in metro Ethernet service
US7643409B2 (en) * 2004-08-25 2010-01-05 Cisco Technology, Inc. Computer network with point-to-point pseudowire redundancy
CN100370787C (en) * 2004-12-29 2008-02-20 华为技术有限公司 Method for scheduling data packets in packet service
US7957271B2 (en) * 2005-03-09 2011-06-07 International Business Machines Corporation Using mobile traffic history to minimize transmission time
FR2882939B1 (en) * 2005-03-11 2007-06-08 Centre Nat Rech Scient FLUIDIC SEPARATION DEVICE
US8612647B2 (en) * 2005-04-12 2013-12-17 Hewlett—Packard Development Company, L.P. Priority aware queue
US7606147B2 (en) * 2005-04-13 2009-10-20 Zeugma Systems Inc. Application aware traffic shaping service node positioned between the access and core networks
US8194656B2 (en) * 2005-04-28 2012-06-05 Cisco Technology, Inc. Metro ethernet network with scaled broadcast and service instance domains
US9088669B2 (en) * 2005-04-28 2015-07-21 Cisco Technology, Inc. Scalable system and method for DSL subscriber traffic over an Ethernet network
US7835370B2 (en) * 2005-04-28 2010-11-16 Cisco Technology, Inc. System and method for DSL subscriber identification over ethernet network
US8213435B2 (en) * 2005-04-28 2012-07-03 Cisco Technology, Inc. Comprehensive model for VPLS
US8094663B2 (en) * 2005-05-31 2012-01-10 Cisco Technology, Inc. System and method for authentication of SP ethernet aggregation networks
WO2007002034A2 (en) * 2005-06-20 2007-01-04 Comcast Cable Holdings, Llc Method and system of managing and allocating communication related resources
US7660312B2 (en) * 2005-06-20 2010-02-09 At&T Intellectual Property, I, L.P. Method and apparatus for reshaping cell-based traffic
JP2007013449A (en) * 2005-06-29 2007-01-18 Nec Commun Syst Ltd Shaper control method, data communication system, network interface device and network repeating device
US8175078B2 (en) * 2005-07-11 2012-05-08 Cisco Technology, Inc. Redundant pseudowires between Ethernet access domains
US7515542B2 (en) 2005-07-12 2009-04-07 Cisco Technology, Inc. Broadband access note with a virtual maintenance end point
US7889754B2 (en) * 2005-07-12 2011-02-15 Cisco Technology, Inc. Address resolution mechanism for ethernet maintenance endpoints
CN104076162A (en) * 2005-07-20 2014-10-01 康宁股份有限公司 Label-free high throughput biomolecular screening system and method
CN103220748B (en) * 2005-07-21 2017-04-12 发尔泰公司 Method and system for enabling the efficient operation of arbitrarily interconnected mesh networks
US7855950B2 (en) * 2005-08-01 2010-12-21 Cisco Technology, Inc. Congruent forwarding paths for unicast and multicast traffic
US8169924B2 (en) 2005-08-01 2012-05-01 Cisco Technology, Inc. Optimal bridging over MPLS/IP through alignment of multicast and unicast paths
US7719995B2 (en) * 2005-09-09 2010-05-18 Zeugma Systems Inc. Application driven fast unicast flow replication
US7733891B2 (en) * 2005-09-12 2010-06-08 Zeugma Systems Inc. Methods and apparatus to support dynamic allocation of traffic management resources in a network element
KR100745682B1 (en) 2005-12-08 2007-08-02 한국전자통신연구원 I/o packet control device and method of line card in packet exchange system
JP4864461B2 (en) * 2006-01-04 2012-02-01 株式会社日立製作所 ATM converter
JP4519079B2 (en) * 2006-01-31 2010-08-04 富士通株式会社 Concentrator
EP2079246A4 (en) * 2006-11-01 2012-08-22 Fujitsu Ltd Wireless communication apparatus and wireless communication method
TW200833026A (en) * 2007-01-29 2008-08-01 Via Tech Inc Packet processing method and a network device using the method
US8077607B2 (en) * 2007-03-14 2011-12-13 Cisco Technology, Inc. Dynamic response to traffic bursts in a computer network
JP4753909B2 (en) * 2007-04-12 2011-08-24 アラクサラネットワークス株式会社 Traffic shaping circuit, terminal device and network node
US7646778B2 (en) * 2007-04-27 2010-01-12 Cisco Technology, Inc. Support of C-tagged service interface in an IEEE 802.1ah bridge
US8804534B2 (en) * 2007-05-19 2014-08-12 Cisco Technology, Inc. Interworking between MPLS/IP and Ethernet OAM mechanisms
US7773510B2 (en) * 2007-05-25 2010-08-10 Zeugma Systems Inc. Application routing in a distributed compute environment
US20080298230A1 (en) * 2007-05-30 2008-12-04 Luft Siegfried J Scheduling of workloads in a distributed compute environment
JP5224731B2 (en) * 2007-06-18 2013-07-03 キヤノン株式会社 Video receiving apparatus and video receiving apparatus control method
US8531941B2 (en) 2007-07-13 2013-09-10 Cisco Technology, Inc. Intra-domain and inter-domain bridging over MPLS using MAC distribution via border gateway protocol
US8203943B2 (en) * 2007-08-27 2012-06-19 Cisco Technology, Inc. Colored access control lists for multicast forwarding using layer 2 control protocol
US8077709B2 (en) 2007-09-19 2011-12-13 Cisco Technology, Inc. Redundancy at a virtual provider edge node that faces a tunneling protocol core network for virtual private local area network (LAN) service (VPLS)
US8374102B2 (en) * 2007-10-02 2013-02-12 Tellabs Communications Canada, Ltd. Intelligent collection and management of flow statistics
US7843917B2 (en) 2007-11-08 2010-11-30 Cisco Technology, Inc. Half-duplex multicast distribution tree construction
JP4881887B2 (en) * 2008-01-30 2012-02-22 アラクサラネットワークス株式会社 Traffic shaping functions and equipment
JP4893646B2 (en) * 2008-02-04 2012-03-07 富士通株式会社 BAND CONTROL DEVICE AND BAND CONTROL METHOD
US8036115B2 (en) * 2008-09-17 2011-10-11 Intel Corporation Synchronization of multiple incoming network communication streams
JP5205289B2 (en) * 2009-01-14 2013-06-05 パナソニック株式会社 Terminal apparatus and packet transmission method
JP5365415B2 (en) * 2009-08-25 2013-12-11 富士通株式会社 Packet relay apparatus and congestion control method
US8797864B2 (en) * 2010-01-21 2014-08-05 International Business Machines Corporation Adaptive traffic management via analytics based volume reduction
US8897132B2 (en) * 2010-03-31 2014-11-25 Blue Coat Systems, Inc. Enhanced random early discard for networked devices
US8861364B2 (en) * 2010-05-16 2014-10-14 Altera Corporation Method and apparatus for implementing non-blocking priority based flow control
EP2663919B1 (en) 2011-01-11 2019-07-03 A10 Networks Inc. Virtual application delivery chassis system
US8650285B1 (en) 2011-03-22 2014-02-11 Cisco Technology, Inc. Prevention of looping and duplicate frame delivery in a network environment
US9154577B2 (en) 2011-06-06 2015-10-06 A10 Networks, Inc. Sychronization of configuration file of virtual application distribution chassis
JP5919727B2 (en) * 2011-10-26 2016-05-18 富士通株式会社 Program for buffer management, relay device, and control method
US8908522B2 (en) * 2012-04-30 2014-12-09 Fujitsu Limited Transmission rate control
US8767542B2 (en) 2012-06-26 2014-07-01 Adtran, Inc. Event-based shaper for a packet switch
CN103828312B (en) * 2012-07-24 2017-06-30 松下知识产权经营株式会社 bus system and repeater
US9961130B2 (en) 2014-04-24 2018-05-01 A10 Networks, Inc. Distributed high availability processing methods for service sessions
US10742559B2 (en) 2014-04-24 2020-08-11 A10 Networks, Inc. Eliminating data traffic redirection in scalable clusters
US10318288B2 (en) 2016-01-13 2019-06-11 A10 Networks, Inc. System and method to process a chain of network applications
JP7180462B2 (en) 2019-03-11 2022-11-30 株式会社デンソー Relay device and frame storage control method
JP7180485B2 (en) 2019-03-22 2022-11-30 株式会社デンソー Relay device and queue capacity control method
US11102138B2 (en) * 2019-10-14 2021-08-24 Oracle International Corporation Methods, systems, and computer readable media for providing guaranteed traffic bandwidth for services at intermediate proxy nodes
US11425598B2 (en) 2019-10-14 2022-08-23 Oracle International Corporation Methods, systems, and computer readable media for rules-based overload control for 5G servicing
JP7441024B2 (en) * 2019-10-21 2024-02-29 アラクサラネットワークス株式会社 Transfer device, transfer system, and transfer program
EP4030708A1 (en) * 2021-01-19 2022-07-20 Nokia Solutions and Networks Oy Method and apparatus for bandwidth allocation

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4323405A1 (en) 1993-07-13 1995-01-19 Sel Alcatel Ag Access control method for a buffer memory and device for buffering data packets and switching center with such a device
JPH0795212A (en) 1993-09-20 1995-04-07 Fujitsu Ltd Congestion control system for atm exchange system
US5434848A (en) * 1994-07-28 1995-07-18 International Business Machines Corporation Traffic management in packet communications networks
US5706279A (en) * 1995-03-24 1998-01-06 U S West Technologies, Inc. Methods and systems for managing packet flow into a fast packet switching network
JP3162975B2 (en) 1995-10-16 2001-05-08 株式会社日立製作所 ATM switch using discard priority control management system
JP3382517B2 (en) 1997-08-04 2003-03-04 日本電信電話株式会社 Priority control circuit
US6104700A (en) * 1997-08-29 2000-08-15 Extreme Networks Policy based quality of service
US6643293B1 (en) * 1997-09-05 2003-11-04 Alcatel Canada Inc. Virtual connection shaping with hierarchial arbitration
JP3624363B2 (en) * 1998-11-10 2005-03-02 富士通株式会社 Bandwidth control device in ATM equipment
US6560230B1 (en) * 1999-02-01 2003-05-06 Redback Networks Inc. Packet scheduling methods and apparatus
US6757249B1 (en) * 1999-10-14 2004-06-29 Nokia Inc. Method and apparatus for output rate regulation and control associated with a packet pipeline

Also Published As

Publication number Publication date
US20050163049A1 (en) 2005-07-28
JP2001326688A (en) 2001-11-22
US20020093910A1 (en) 2002-07-18
US7525912B2 (en) 2009-04-28
US6920109B2 (en) 2005-07-19

Similar Documents

Publication Publication Date Title
JP4484317B2 (en) Shaping device
JP4078755B2 (en) Bandwidth monitoring method
US6912225B1 (en) Packet forwarding device and packet priority setting method
JP4069818B2 (en) Bandwidth monitoring method and packet transfer apparatus having bandwidth monitoring function
JP4547339B2 (en) Packet relay device having transmission control function
AU9084398A (en) Packet network
JP4484810B2 (en) Packet transfer device
JP5041089B2 (en) Communication device
JP4135007B2 (en) ATM cell transfer device
JP4640513B2 (en) Bandwidth monitoring method and apparatus
JP5218690B2 (en) Communication device
JP4844607B2 (en) Bandwidth monitoring method and apparatus
JP2006136033A (en) Band monitoring apparatus
Hu et al. Virtual buffering strategy for GFR services in IP/ATM internetworks

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051215

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20060417

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070705

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070710

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070910

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20071023

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071121

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20071228

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20080118

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100212

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100323

R151 Written notification of patent or utility model registration

Ref document number: 4484317

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130402

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140402

Year of fee payment: 4

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term