JP3989197B2 - Packet discard device - Google Patents

Packet discard device Download PDF

Info

Publication number
JP3989197B2
JP3989197B2 JP2001205994A JP2001205994A JP3989197B2 JP 3989197 B2 JP3989197 B2 JP 3989197B2 JP 2001205994 A JP2001205994 A JP 2001205994A JP 2001205994 A JP2001205994 A JP 2001205994A JP 3989197 B2 JP3989197 B2 JP 3989197B2
Authority
JP
Japan
Prior art keywords
queue length
packet
connection
buffer
σxi
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
JP2001205994A
Other languages
Japanese (ja)
Other versions
JP2003023452A (en
JP2003023452A5 (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2001205994A priority Critical patent/JP3989197B2/en
Publication of JP2003023452A publication Critical patent/JP2003023452A/en
Publication of JP2003023452A5 publication Critical patent/JP2003023452A5/ja
Application granted granted Critical
Publication of JP3989197B2 publication Critical patent/JP3989197B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は通信網に収容される各コネクションの最低帯域の保証を行う装置に関する。
【0002】
【従来の技術】
近年、インターネットやLANの急速な普及から、IPトラヒック等のデータ系トラヒックが指数関数的に増加している。これにともないネットワーク上で輻輳発生頻度が増加しており、ユーザに対するサービス品質の低下が問題となっている。例えば、従来のインターネットでは転送品質を保証しないベストエフォートサービスが主流であったが、ベストエフォートサービスのみでは十分なスループットが得られないケースが増えており、ISP(Internet Service Provider)間や企業間を高速回線で接続する場合に回線毎に最低帯域や遅延品質を保証するようなサービスの要求が今後ますます増加すると考えられる。
【0003】
ユーザ毎に契約している最低帯域を保証するサービスとしてはGFR(GuaranteedFrame Rate)サービスがある。非輻輳時には各ユーザは互いに利用可能帯域(残余帯域)を共有して利用できる。
【0004】
GFRサービスを実現する方式に関しては数多くの提案がなされているが、その一つにWRR(WeightedRound Robin)方式がある。図16はWRR方式の概略を表す図である。WRR方式はコネクション毎にキューを持ち、コネクション毎に重みが付けられており、重みに応じた読出制御を各キューに対して行うことでコネクション間に帯域を分配する。
【0005】
WRRに、帯域を共有する全てのコネクションを収容することによって、収容コネクションの重みに応じて帯域を分配することができる。WRR方式により、最低帯域を保証しつつ、余剰帯域をある規則にしたがってコネクション間に公平に分配することが可能である。
【0006】
しかし、WRR方式のハードウェアの複雑さは収容するコネクション数に比例し、高速化のボトルネックとなる。また、コネクション毎にキューを持つ必要があるため、バッファ部のハード量も問題となる。つまり、WRR方式は高速になり、収容されるコネクション数が増加すると、経済的にGFRサービスを実現することが困難である。したがって、簡易なハードウェア構成でGFRサービスを実現する方式が求められている。
【0007】
簡易なハードウェア構成でGFRサービスを実現する方式として、FIFO−Tagging方式が知られている。この方式では、バッファはコネクション毎に持つ必要はなく、回線毎に一つあればよい。FIFO−Tagging方式ではコネクション毎に網の入り口で網への入力レートを観測し、計測されたレートがMCR(Minimum Cell Rate)以下であれば、そのコネクションのパケットはそのまま通過し、MCRを超えていればパケットのヘッダ部にTagが付けられる。ここで、MCRとは網がコネクションに対して転送を保証する帯域のことである。
【0008】
FIFOバッファには閾値が設けられており、キュー長が閾値を超えているか否か常に観測している。仮にキュー長が設定された閾値を超えている場合には、ヘッダ部にTagが付けられているパケットはFIFOバッファに入る前に廃棄され、FIFOバッファにはTagが付いていないパケット、つまり網への入力レートがMCR以下のコネクションのパケットのみ通過する。
【0009】
FIFO−Tagging方式では、FIFOバッファの出力速度を収容するコネクションのMCRの合計以上にすることで、輻輳時におけるMCRの保証が可能である。また、非輻輳時、各コネクションのMCRの和を超えた部分の帯域、余剰帯域がある場合には、その帯域は複数コネクションでシェアされる。
【0010】
【発明が解決しようとする課題】
しかし、この方式では複数コネクションでバッファを共用するので、各コネクションのMCRの和を超えた部分の帯域、余剰帯域に関しては、FIFOバッファへの入力レートに比例するかたちで各コネクション間に分配されるため、「公平性」という面で問題があった。FIFO−Tagging方式では余剰帯域が生じた場合にその帯域をどのようにコネクション間で分配するかという規定がないため、極端な場合では余剰帯域を一つのコネクションが占有してしまうという不公平な状況が生じるという問題があった。
【0011】
本発明は、このような背景に行われたものであって、通信網内に設置することにより、通信網に収容されている各コネクションに対し、輻輳時においても契約している最低帯域を保証しつつ、通常時(非輻輳時)には、余剰帯域をコネクション間で公平に分配し、より効率的な網資源の利用を可能にすることができるパケット廃棄装置を提供することを目的とする。本発明は、高速回線においても経済的に実現可能なパケット廃棄装置を提供することを目的とする。さらに、パケット交換スイッチ等のノード内に設置することにより、簡単なハードウェア構成を実現し、効率の良いノード内の輻輳回避を実現することができるパケット廃棄装置を提供することを目的とする。
【0012】
【課題を解決するための手段】
本発明は、到着するパケットの受付可否を判定する手段と、この判定により受付拒否されたパケットについてはこれを廃棄する手段とを備えたパケット廃棄装置である。
【0013】
ここで、本発明の特徴とするところは、前記受付可否を判定する手段は、到着するパケットの到着レートあるいはキュー長が受付許可のレートあるいは受付許可のキュー長を超えその比が所定値を超えたときは、少なくもと2個連続してパケットを受付拒否する手段を備えたところにある。
【0014】
さらに、前記受付可否を判定する手段は、連続した受付拒否を禁止する手段を備えることもでき、この場合には、前記2個連続してパケットを受付拒否する手段と前記連続した受付拒否を禁止する手段とを切替選択する手段を備えることもできる。
【0015】
例えば、急激にキュー長Xjが許可キュー長AQjを超えたときには、輻輳発生を回避するために急激なトラヒック制御を行う必要がある。そのような事態が発生したときには、パケットを連続して廃棄することにより対処することができる。反対に、緩やかにキュー長Xjが許可キュー長AQjを超えたときには、緩やかなトラヒック制御を行って安定したトラヒック制御を実現することができる。このような相反する制御形態は、状況に応じて切替えて用いることが望ましい。このような切替制御は、前記判定する手段の付加機能として備えることが望ましい。なお、パケットは固定長パケットであるセルであっても同様に説明することができる。
【0016】
これにより、通信網内に設置することにより、通信網に収容されている各コネクションに対し、輻輳時においても契約している最低帯域を保証しつつ、通常時(非輻輳時)には、余剰帯域をコネクション間で公平に分配し、より効率的な網資源の利用を可能にすることができ、高速回線においても経済的に実現可能なパケット廃棄装置を実現することができる。さらに、パケット交換スイッチ等のノード内に設置することにより、簡単なハードウェア構成を実現し、効率の良いノード内の輻輳回避を実現することができる。
【0017】
【発明の実施の形態】
(第一実施例)
本発明のパケット廃棄装置が適用される本発明第一実施例の多重化装置を図1および図12を参照して説明する。図1は本発明第一実施例の多重化装置のブロック構成図である。図12はモニタリングパケットを用いるキュー長検出を説明するための図である。
【0018】
本発明のパケット廃棄装置5が適用される多重化装置は、図1に示すように、到着するパケットの属するコネクション1〜kを識別するコネクション識別部1と、当該パケットの受付可否を判定するパケット廃棄装置5と、このパケット廃棄装置5の判定結果にしたがってパケットを多重化するFIFO型のバッファ6と、複数コネクションのパケットがバッファ6に蓄積されている中からコネクションi毎のバッファ6のキュー長Xiを検出するキュー長監視部7および仮想キュー管理部3と、コネクションi毎にあらかじめ定められた重みWiの値を保持するコネクション情報格納部2とを備え、バッファ6にはあらかじめ閾値となる最大キュー長Qmaxが設定され、当該最大キュー長Qmaxを超えるとほぼゼロとなる前記キュー長Xiの総和であるΣXiの連続関数をα(ΣXi)とし、バッファ6に1以上のパケットが蓄積されているコネクションiの前記重みの和をWactとし、許可キュー長計算部4は、許可キュー長AQiを
AQi=α(ΣXi)・Wi/Wact
として計算し、パケット廃棄装置5は、コネクションi毎のキュー長Xiが当該許可キュー長AQi以下のコネクションに属するパケットについてはこれを受付許可と判定する。
【0019】
本実施例では、複数コネクションが混在して一つのバッファ6に蓄積されている状況下における実際のバッファ6のキュー長に対してキュー長監視部7および仮想キュー管理部3によりコネクションi毎にバッファ6のキュー長Xiを検出したものを仮想キュー長という。以下では、説明を簡単にするために、仮想キュー長を単にキュー長XiまたはXjということにする。
【0020】
本発明のパケット廃棄装置5の特徴としては、受付拒否したコネクションjのキュー長Xjが前記許可キュー長AQjを超えている割合を算出し、この算出された割合が所定の値を超えているときには少なくとも2個連続して前記コネクションjのパケットを受付拒否し、また、この算出された割合が所定の値以下であるときには受付拒否したコネクションjのパケットについて連続した受付拒否を禁止することもできる。いずれの受付判定ポリシを採用するかはユーザの操作によって切替選択することができる。
【0021】
また、パケット廃棄装置5は、受付拒否と判定すべきコネクションjのパケットがバッファ6に存在しないときにはこの受付拒否と判定すべきパケットを受付許可と判定することもできる。
【0022】
最低保証帯域を超えてネットワークに到着するパケットについてはこれにタグが付与され、パケット廃棄装置5は、受付拒否と判定すべきパケットに前記タグが付与されているときにはこの受付拒否と判定すべきパケットを受付許可と判定する。
【0023】
キュー長監視部7は、キュー長Xiの所定の変化周期以下の変化周期についてキュー長Xiを検出する。あるいは、キュー長監視部7は、単位時間内のキュー長Xの最大値をキュー長Xiの検出結果として当該単位時間毎に出力する。
【0024】
また、図12に示すように、バッファ6にモニタリングパケットを送出するモニタリングパケット挿入部18を備え、キュー長監視部7は、このモニタリングパケット挿入部18から送出されたモニタリングパケットがバッファ6に入力された時刻と当該モニタリングパケットがバッファ6から出力された時刻との時間差にしたがってキュー長Xiを検出することもできる。
【0025】
また、複数のサービスクラスが設けられ、コネクション識別部1では、到着するパケットのコネクションと共にそのパケットが属する前記サービスクラスも同時に識別し、仮想キュー管理部3では、コネクションi毎のバッファ6の前記サービスクラス毎のキュー長Xiを検出し、コネクション情報格納部2では、コネクションi毎にあらかじめ定められた前記サービスクラス毎の重みWiの値を保持し、パケット廃棄装置5は、前記サービスクラス毎の許可キュー長AQiを
AQi=α(ΣXi)・Wi/Wact
として計算し、コネクションi毎の前記サービスクラス毎のキュー長Xiがサービスクラス毎の当該許可キュー長AQi以下のコネクションに属するパケットについてはこれを受付許可と判定することもできる。
【0026】
以下では、本発明第一実施例をさらに詳細に説明する。
【0027】
図14は本発明を適用して最低帯域保証サービスの提供を行うネットワークの構成図である。発側ユーザは着側ユーザへとネットワークを通してパケットを送出する。ネットワークはユーザに対して契約している最低帯域までの転送レートの保証を行う。ネットワークの各リンクには複数ユーザが収容されており、余剰帯域に関しては料金や最低保証帯域などに基づいて決められる重みにしたがってユーザ間に分配される。
【0028】
このように、本発明のパケット廃棄装置を備えた多重化装置は、図14に示すように、ネットワークに設けることにより、帯域制御装置(UPC:Usage Parameter Control)として用いることができる。また、パケット交換スイッチ内に設けることにより、当該スイッチ内のバッファの輻輳の回避にも利用できる。
【0029】
まず、発側ユーザがネットワークにパケットを送出すると、ネットワークの入側エッジに位置するレート観測装置でユーザのネットワークへのパケット送出レートが計測される。パケットの送出レートが最低保証帯域を超えていれば、パケットのヘッダにTagが付けられ、最低保証帯域以下で送出されるパケットに関してはそのままネットワークへと送出される。Tagが付けられていないパケットをネットワーク内で廃棄することなく着側ユーザまで転送することで最低帯域の保証を行う。本発明の多重化装置は中継ノード内に位置し、複数ユーザで共用しているリンク帯域を各ユーザに重みにしたがって分配するという処理を行う。
【0030】
本発明第一実施例を図1ないし図11を参照して説明する。多重化装置は、図1に示すように、コネクション識別部1、帯域制御部10、バッファ部11から構成されている。コネクション識別部1では到着したパケットのヘッダからコネクションを識別する。帯域制御部10では、そのコネクション情報をもとに帯域制御に関する処理を行う。バッファ部11は単純なFIFO型のバッファ6でリンクに収容されている全ユーザ間で共用されている。
【0031】
バッファ6にはキュー長監視部7が接続されており、バッファ6のキュー長とパケット入出力時に入出力パケットに関する情報を前段の仮想キュー管理部3に伝達する。ここで、入出力パケットに関する情報とは、バッファ6に入力またはバッファ6から出力されるパケットのパケット長およびそのパケットが属しているコネクションの識別番号を含む。
【0032】
入力回線側からパケットが到着すると、コネクション識別部1でパケットのコネクション識別が行われ、後段の帯域制御部10に送られ、バッファ6に入力するか否かの判定を行い、廃棄と判定されたパケットはその場で廃棄され、廃棄と判定されなかったパケットは後段のバッファ部11へと入力されFIFO規範にしたがって出力回線へと出力される。
【0033】
本発明では帯域制御部10でのパケット廃棄に基づく帯域制御が重要な役割を果たす。したがって、帯域制御部10の処理について詳細に説明する。帯域制御部10は、仮想キュー管理部3、許可キュー長計算部4、コネクション情報格納部2、パケット廃棄装置5により構成されている。
【0034】
仮想キュー管理部3では、キュー長監視部7からの情報をもとにバッファ6のキュー長とコネクション毎のキュー長とを算出する。仮想キュー管理部3はコネクション情報格納部2と接続されており、算出されたコネクション毎の仮想的なキュー長はコネクション情報格納部2に記録される。
【0035】
各キュー長の算出方法について説明する。まず、バッファ6のキュー長の算出に関しては、キュー長監視部7から伝達されるキュー長情報をそのまま仮想キュー管理部3に保持するだけである。次にコネクション毎の仮想キュー長の算出方法であるが、初期状態ではバッファ6は空であるため、各コネクションの仮想キュー長はゼロである。バッファ6にパケットが入力されると、そのパケットのパケット長とコネクション識別番号とがキュー長監視部7を通して伝達される。その情報をもとに仮想キュー管理部3はコネクション識別部1にアクセスし、該当コネクションの仮想キュー長に送られてきたパケット長を足し込むという処理を行う。パケット出力時にはこれとは逆に仮想キュー長から伝達されたパケット長を減算するという処理を行う。
【0036】
図2はコネクション情報格納部2の一例で、仮想キュー管理部3で算出されたコネクション毎の仮想キュー長に関する情報、コネクションの重みに関する情報が格納されている。
【0037】
次に、許可キュー長計算部4は、仮想キュー管理部3およびコネクション情報格納部2からバッファ6のキュー長に関する情報と、コネクション毎の仮想キュー長、重みに関する情報を受け取り、それらをもとに許可キュー長を計算する機能を持つ。ここでコネクションの許可キュー長とはバッファ6への入力が認められる最大キュー長を表す。
【0038】
コネクションiの許可キュー長AQiの計算方法について具体的に説明する。コネクションの重みをWi、現在のバッファ6のキュー長の総和ΣXiとすると、
AQi=α(ΣXi)・Wi/Wact
で計算される。α(ΣXi)はある連続関数で、図3ないし図9のグラフはキュー長の関数α(ΣXi)の一例である。横軸にキュー長の総和ΣXiをとり、縦軸に関数α(ΣXi)の値をとる。Wactはアクティブなコネクションの重みの和である。ここでアクティブなコネクションとは仮想キュー長がゼロより大きなコネクション、つまり少なくとも一つ以上のパケットがバッファ6に入っているコネクションのことである。
【0039】
関数α(ΣXi)はキュー長がある閾値(図ではQmax)を超えるとゼロとなる。つまりキュー長がある閾値を超えた場合には、輻輳であると判定され、各コネクションの許可キュー長はゼロとなる。
【0040】
例えば、図3の例では閾値Qmaxを超えない範囲では、関数α(ΣXi)は一定の値をとり、閾値Qmaxを超えたときには関数α(ΣXi)はゼロとなる。すなわち、閾値Qmaxを超えない範囲で許可キュー長AQiはコネクションの重みに比例して分配される。
【0041】
図4の例では、キュー長の総和ΣXiがゼロから閾値Qmax未満の所定の値までの間で、途中までは関数α(ΣXi)は緩やかに減少し、閾値Qmaxに近付くにつれて急に減少し、閾値Qmaxではゼロとなる。すなわち、許可キュー長AQiはキュー長の総和ΣXiが小さいときには、コネクションiの重み以上に分配されるが、キュー長の総和ΣXiが所定の値を超えると急峻に許可キュー長AQiの分配率が低下する。
【0042】
図5の例では、キュー長の総和ΣXiと関数α(ΣXi)の値とがリニアに反比例する。すなわち、許可キュー長AQiはキュー長の総和ΣXiにリニアに反比例する。最も単純かつ基本的な制御例である。
【0043】
図6の例では、キュー長の総和ΣXiと関数α(ΣXi)の値とが二次関数にしたがって反比例する。すなわち、許可キュー長AQiはキュー長の総和ΣXiが小さいときには大きいが、キュー長の総和ΣXiが増加するとともに急に減少を始め、キュー長の総和ΣXiが閾値Qmaxに近付くにつれて減少が緩やかになる。これにより、キュー長の総和ΣXiが増え始めた時点でトラヒックの増加を強く抑えることができる。
【0044】
図7の例では、キュー長の総和ΣXiと関数α(ΣXi)の値とが図6に示す二次関数とは逆転した二次関数にしたがって反比例する。すなわち、許可キュー長AQiはキュー長の総和ΣXiが小さいときには大きいが、キュー長の総和ΣXiが増加するとともに徐々に減り始め、キュー長の総和ΣXiが閾値Qmaxに近付くにつれて減少が急になる。これにより、キュー長の総和ΣXiが閾値Qmaxに近付くにつれてトラヒックの増加を強く抑えることができる。
【0045】
図8の例では、キュー長の総和ΣXiと関数α(ΣXi)の値とが段階的に反比例する。すなわち、許可キュー長AQiはキュー長の総和ΣXiが小さいときには大きいが、キュー長の総和ΣXiが増加するとともに徐々に減り始め、所定のキュー長の総和ΣXiから急に減り始め、キュー長の総和ΣXiが閾値Qmaxに近付くにつれて再び減少が緩やかになる。これにより、キュー長の総和ΣXiがゼロと閾値Qmaxとの中間付近にあるときにトラヒックの増加を強く抑えることができる。
【0046】
図9の例では、キュー長の総和ΣXiと関数α(ΣXi)の値とが図8の例とは逆転して段階的に反比例する。すなわち、許可キュー長AQiはキュー長の総和ΣXiが小さいときには大きいが、キュー長の総和ΣXiが増加するとともに急に減り始め、所定のキュー長ΣXiから緩やかに減り始め、キュー長の総和ΣXiが閾値Qmaxに近付くにつれて再び急に減り始める。これにより、キュー長の総和ΣXiがゼロから増え始めた時点と閾値Qmaxに近付いた時点とでトラヒックの増加を強く抑えることができる。
【0047】
また、キュー長の総和ΣXiとしては現在のキュー長(パケット到着時のキュー長の瞬間値)を用いるとしているが、キュー長の総和ΣXiとして一定時間内のキュー長の平均値を採用してもよい。
【0048】
パケット廃棄装置5は許可キュー長とコネクション毎の仮想キュー長から到着したパケットをバッファ6へ入力するか廃棄するかの判定をする。図10は確定的な廃棄処理を行うパケット到着時の処理フローを示すフローチャートであるが、図10に示すように、仮想キュー長Xiが許可キュー長AQi以下であればバッファ6に入力し、許可キュー長AQiを超えていれば、Tagが付けられているパケットは廃棄し、Tagが付けられていないパケットはバッファ6へ入力することにより、常に各コネクションの最低帯域は保証しつつ、バッファ6の占有率が公平になるように制御する。
【0049】
また、仮想キュー長が許可キュー長を超えていた場合には、上記のように確定的にパケット廃棄するのではなく、確率的にパケット廃棄することも可能である。図11は確率的な廃棄処理を行うパケット到着時の処理フローを示すフローチャートであるが、図11に示すように、許可キュー長をAQi、仮想キュー長の総和をΣXiとすると、廃棄確率Pは、
P=(ΣXi−AQi)/ΣXi
で与えられる。つまり、仮想キュー長が許可キュー長を超えた場合には、超えた割合だけ落すというものである。確率的な廃棄によって帯域制御することで、一つのコネクションに注目した場合には、仮想キュー長が許可キュー長を超えたときでも、連続してパケットが廃棄される現象が、確定的にパケット廃棄する場合よりも減少するため、TCPのレート制御との親和性が高くなるといえる。バッファ6へと入力されたパケットはFIFO規範にしたがって出力回線へと出力される。
【0050】
図11における擬似乱数Randの生成は、パケット到着毎に行われ、廃棄確率Pと擬似乱数Randとを比較した結果に基づき廃棄を実行することにより、実際に廃棄確率Pによる廃棄を実現することができる。例えば、廃棄確率Pが0.5であるときに、擬似乱数Randが0.5よりも大きい値をとる確率もまた0.5であり、擬似乱数Randが0.5よりも大きい場合に廃棄を実行することにより、廃棄確率Pにしたがった廃棄が行われる。
【0051】
本発明のパケット廃棄装置5が適用される多重化装置はキュー長をもとに網の輻輳状態を推定し、輻輳であると判定されれば許可キュー長はゼロに等しくなり、最低保証帯域以下のレートで網に送出されているパケットのみを網は転送する。キュー長がある閾値以下のときは、余剰帯域が存在すると判断され、各コネクションは重みに比例したバッファの占有によって、帯域をコネクション間に公平に配分される。
【0052】
また、ハードウェア構成が簡易なFIFOバッファでGFRサービスを実現しつつ、WRR方式等のようなコネクション毎に個別にバッファを持ってパケットの読出制御を行う方法と同様に余剰帯域を公平にコネクション間の分配することが可能である。また、一つのバッファを多数のコネクションで共用するため、コネクション毎に個別にバッファを持つ方式に比べて、統計多重効果により必要なバッファ量を削減できるという利点もある。
【0053】
次に、本発明第一実施例におけるパケット廃棄装置5の特徴として、パケット廃棄装置5が受付拒否したコネクションjのキュー長Xjが前記許可キュー長AQjを超えている割合を算出し、この算出された割合が所定の値を超えているときには少なくとも2個連続してコネクションjのパケットを受付拒否し、この算出された割合が所定の値以下であるときには受付拒否したコネクションjのパケットについて連続した受付拒否を禁止する。
【0054】
すなわち、急激にキュー長Xjが許可キュー長AQjを超えたときには、輻輳発生を回避するために急激なトラヒック制御を行う必要がある。そのような事態が発生したときには、パケットを連続して廃棄することにより対処することができる。反対に、緩やかにキュー長Xjが許可キュー長AQjを超えたときには、緩やかなトラヒック制御を行って安定したトラヒック制御を実現することができる。
【0055】
また、キュー長監視部7の機能として、キュー長Xiの所定の変化周期以下の変化周期についてキュー長Xiを検出する。これにより、瞬間的なキュー長Xiの変化を吸収し、外乱によるトラヒック制御の誤動作を回避することができる。
【0056】
あるいは、キュー長監視部7の機能として、単位時間内のキュー長Xiの最大値をキュー長Xiの検出結果として当該単位時間毎に出力する。これにより、瞬間的なキュー長Xiの変化を吸収し、外乱によるトラヒック制御の誤動作を回避することができる。
【0057】
図12に示すように、バッファ6にモニタリングパケットを送出するモニタリングパケット挿入部18を備え、キュー長監視部7は、このモニタリングパケット挿入部18から送出されたモニタリングパケットがバッファ6に入力された時刻と当該モニタリングパケットがバッファ6から出力された時刻との時間差にしたがってキュー長Xを検出する。
【0058】
これにより、単にパケット蓄積数に基づくキュー長Xiの検出と比較すると、実際の遅延時間等のパラメータを含めた実効的なキュー長Xiを検出することができる。
【0059】
また、一つのコネクションに属するパケットをさらに二つのサービスクラスに分類して取り扱うこともできる。一つのサービスクラスは、リアルタイム性を重要視するパケットに対するリアルタイム(R)クラスであり、もう一つのサービスクラスは、リアルタイム性を重要視しないパケットに対するノンリアルタイム(NR)クラスである。
【0060】
このためには、図1に示すコネクション識別部1において、到着するパケットのコネクションを識別すると共にそのパケットのサービスクラスを識別する。また、仮想キュー管理部3では、バッファ6に蓄積されたパケットのコネクションの情報と共にサービスクラスの情報も取得する。これにより、コネクション情報格納部2には、図13に示すようなテーブルを設けることができる。
【0061】
例えば、コネクション#1についてみると、仮想キュー長としてリアルタイムクラスに属するX1(R)およびノンリアルタイムクラスに属するX1(NR)が記録されている。また、重みとしてリアルタイムクラスの重みW1(R)およびノンリアルタイムクラスの重みW1(NR)が記録されている。重みW1(R)はW1(NR)よりも重く設定されており、リアルタイムクラスに属するパケットをノンリアルタイムクラスに属するパケットに優先して読出すことができる。
【0062】
これにより、リアルタイム性を重要視するパケットの遅延を少なくすることができるため、ユーザに対するQoSを向上させることができる。
【0063】
(第二実施例)
本発明のパケット廃棄装置が適用される本発明第二実施例の多重化装置を図15を参照して説明する。図15は本発明第二実施例の多重化装置のブロック構成図である。
【0064】
多重化装置は、図15に示すように、到着する固定長パケットであるセルの属するコネクション1〜kを識別するコネクション識別部1と、当該セルの受付可否を判定する受付判定部15と、この受付判定部15の判定結果にしたがってセルを一時蓄積するFIFO型のバッファ6と、コネクションi毎にセルの到着レートRiを検出するレート検出部8と、コネクションi毎にあらかじめ定められた重みWiの値を保持するコネクション情報格納部2とを備え、セルの到着レートRiにはあらかじめ閾値となる最大レートが設定され、当該最大レートを超えるとほぼゼロになる前記セルの到着レートRiの総和ΣRiの連続関数をβ(ΣRi)とし、バッファ部11のバッファ6に1以上のセルが蓄積されているコネクションiの前記重みの和をWactとし、許可到着レート計算部14は、許可到着レートACRiを
ACRi=β(ΣRi)・Wi/Wact
として計算し、受付判定部15は、コネクションi毎のセルの到着レートRiが当該許可到着レートACRi以下のコネクションに属するセルについてはこれを受付許可と判定する。
【0065】
本実施例では、複数コネクションが混在して一つのバッファ6に蓄積されている状況下における実際のバッファ6のキュー長に対してキュー長監視部7および仮想キュー管理部3によりコネクションi毎にバッファ6のキュー長Xiを検出したものを仮想キュー長という。
【0066】
図14は本発明を適用して最低帯域保証サービスの提供を行うネットワークの構成図である。発側ユーザは着側ユーザへとネットワークを通してパケットを送出する。ネットワークはユーザに対して契約している最低帯域までの転送レートの保証を行う。ネットワークの各リンクには複数ユーザが収容されており、余剰帯域に関しては料金や最低保証帯域などに基づいて決められる重みにしたがってユーザ間に分配される。
【0067】
このように、本発明のパケット廃棄装置を備えた多重化装置は、図14に示すように、ネットワークに設けることにより、帯域制御装置(UPC:Usage Parameter Control)として用いることができる。また、パケット交換スイッチ内に設けることにより、当該スイッチ内のバッファの輻輳の回避にも利用できる。
【0068】
まず、発側ユーザがネットワークにパケットを送出すると、ネットワークの入側エッジに位置するレート観測装置でユーザのネットワークへのパケット送出レートが計測される。パケットの送出レートが最低保証帯域を超えていれば、パケットのヘッダにTagが付けられ、最低保証帯域以下で送出されるパケットに関してはそのままネットワークへと送出される。Tagが付けられていないパケットをネットワーク内で廃棄することなく着側ユーザまで転送することで最低帯域の保証を行う。本発明の多重化装置は中継ノード内に位置し、複数ユーザで共用しているリンク帯域を各ユーザに重みにしたがって分配するという処理を行う。
【0069】
本発明第二実施例におけるパケット廃棄装置としての図15に示す受付判定部15の特徴として、受付判定部15が受付拒否したコネクションjの到着レートRjが許可到着レートACRjを超えている割合を算出し、この算出された割合が所定の値を超えているときには少なくとも2個連続してコネクションjのパケットを受付拒否し、この算出された割合が所定の値以下であるときには受付拒否したコネクションjのパケットについて連続した受付拒否を禁止する。
【0070】
すなわち、急激に到着レートRjが許可到着レートACRjを超えたときには、輻輳発生を回避するために急激なトラヒック制御を行う必要がある。そのような事態が発生したときには、パケットを連続して廃棄することにより対処することができる。反対に、緩やかに到着レートRjが許可到着レートACRjを超えたときには、緩やかなトラヒック制御を行って安定したトラヒック制御を実現することができる。
【0071】
【発明の効果】
以上説明したように、本発明によれば、通信網内に設置することにより、通信網に収容されている各コネクションに対し、輻輳時においても契約している最低帯域を保証しつつ、通常時(非輻輳時)には、余剰帯域をコネクション間で公平に分配し、より効率的な網資源の利用を可能にすることができる。また、高速回線においても経済的に実現可能なパケット廃棄装置を実現することができる。さらに、パケット交換スイッチ等のノード内に設置することにより、簡単なハードウェア構成を実現し、効率の良いノード内の輻輳回避を実現することができる。
【図面の簡単な説明】
【図1】本発明第一実施例の多重化装置のブロック構成図。
【図2】コネクション情報格納部のテーブル例を示す図。
【図3】関数α(ΣXi)の例を示す図。
【図4】関数α(ΣXi)の例を示す図。
【図5】関数α(ΣXi)の例を示す図。
【図6】関数α(ΣXi)の例を示す図。
【図7】関数α(ΣXi)の例を示す図。
【図8】関数α(ΣXi)の例を示す図。
【図9】関数α(ΣXi)の例を示す図。
【図10】確定的な廃棄処理を行うパケット到着時の処理フローを示すフローチャート。
【図11】確率的な廃棄処理を行うパケット到着時の処理フローを示すフローチャート。
【図12】モニタリングパケットを用いるキュー長検出を説明するための図。
【図13】コネクション情報格納部のテーブル例を示す図。
【図14】本発明を適用したネットワーク構成の一例を示す図。
【図15】本発明第二実施例の多重化装置のブロック構成図。
【図16】従来のWRR方式の概要を説明するための図。
【符号の説明】
1 コネクション識別部
2 コネクション情報格納部
3 仮想キュー管理部
4 許可キュー長計算部
5 パケット廃棄装置
6 バッファ
7 キュー長監視部
8 レート検出部
10 帯域制御部
11 バッファ部
14 許可到着レート計算部
15 受付判定部
18 モニタリングパケット挿入部
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an apparatus for guaranteeing the minimum bandwidth of each connection accommodated in a communication network.
[0002]
[Prior art]
In recent years, data traffic such as IP traffic has increased exponentially due to the rapid spread of the Internet and LAN. Along with this, the frequency of occurrence of congestion is increasing on the network, and degradation of service quality for users is a problem. For example, in the conventional Internet, the best effort service that does not guarantee the transfer quality has been mainstream, but the number of cases where sufficient throughput cannot be obtained only by the best effort service is increasing, and between ISPs (Internet Service Providers) and between companies. In the case of connecting with a high-speed line, it is considered that the demand for services that guarantee the minimum bandwidth and delay quality for each line will increase in the future.
[0003]
As a service for guaranteeing the minimum bandwidth contracted for each user, there is a GFR (Guaranteed Frame Rate) service. At the time of non-congestion, each user can share and use an available bandwidth (residual bandwidth).
[0004]
Many proposals have been made regarding a method for realizing the GFR service, and one of them is a WRR (Weighted Round Robin) method. FIG. 16 is a diagram showing an outline of the WRR system. The WRR method has a queue for each connection, and a weight is assigned to each connection, and a bandwidth is distributed among the connections by performing read control according to the weight on each queue.
[0005]
By accommodating all connections that share a bandwidth in the WRR, the bandwidth can be distributed according to the weight of the accommodated connection. With the WRR scheme, it is possible to distribute the surplus bandwidth fairly between connections according to a certain rule while guaranteeing the minimum bandwidth.
[0006]
However, the complexity of the WRR hardware is proportional to the number of connections accommodated, and becomes a bottleneck for speeding up. In addition, since it is necessary to have a queue for each connection, the hardware amount of the buffer unit also becomes a problem. That is, the WRR method becomes high speed, and if the number of connections accommodated increases, it is difficult to economically realize the GFR service. Therefore, there is a demand for a method for realizing the GFR service with a simple hardware configuration.
[0007]
As a method for realizing the GFR service with a simple hardware configuration, a FIFO-Tagging method is known. In this method, it is not necessary to have a buffer for each connection, and only one buffer is required for each line. In the FIFO-Tagging method, the input rate to the network is observed at the entrance of the network for each connection, and if the measured rate is equal to or less than the MCR (Minimum Cell Rate), the packet of that connection passes as it is and exceeds the MCR. Then, Tag is added to the header part of the packet. Here, the MCR is a band for which the network guarantees transfer for a connection.
[0008]
The FIFO buffer is provided with a threshold, and it is always observed whether or not the queue length exceeds the threshold. If the queue length exceeds the set threshold value, the packet with Tag in the header is discarded before entering the FIFO buffer, and the packet without Tag in the FIFO buffer, that is, to the network. Only packets with connections whose input rate is less than or equal to MCR pass.
[0009]
In the FIFO-Tagging method, the MCR can be guaranteed at the time of congestion by setting the output speed of the FIFO buffer to be equal to or higher than the total MCR of the connections accommodating the FIFO buffer. In addition, when there is a part of the bandwidth exceeding the sum of the MCRs of each connection and a surplus bandwidth at the time of non-congestion, the bandwidth is shared by a plurality of connections.
[0010]
[Problems to be solved by the invention]
However, in this method, a buffer is shared by a plurality of connections, so the bandwidth and surplus bandwidth that exceed the sum of the MCRs of each connection are distributed among the connections in proportion to the input rate to the FIFO buffer. Therefore, there was a problem in terms of “fairness”. In the FIFO-Tagging method, when there is a surplus bandwidth, there is no provision on how to distribute the bandwidth among the connections, so in an extreme case an unfair situation where one connection occupies the surplus bandwidth There was a problem that occurred.
[0011]
The present invention is made in such a background, and by installing it in the communication network, the minimum bandwidth contracted even during congestion is guaranteed for each connection accommodated in the communication network. However, it is an object of the present invention to provide a packet discarding device that can distribute the surplus bandwidth fairly between connections during normal times (non-congestion) and enable more efficient use of network resources. . It is an object of the present invention to provide a packet discard apparatus that can be realized economically even on a high-speed line. It is another object of the present invention to provide a packet discarding apparatus that can be installed in a node such as a packet switching switch to realize a simple hardware configuration and efficiently avoid congestion in the node.
[0012]
[Means for Solving the Problems]
The present invention is a packet discard apparatus comprising means for determining whether or not an incoming packet can be accepted, and means for discarding a packet that has been rejected due to this determination.
[0013]
Here, the feature of the present invention is that Acceptability The means to determine When the arrival rate or queue length of incoming packets exceeds the admission permission rate or admission permission queue length and the ratio exceeds the specified value, At least two consecutive packets are rejected.
[0014]
In addition, Acceptability The means for determining may comprise means for prohibiting continuous acceptance refusal. In this case, the means for switching between the means for refusing acceptance of the two consecutive packets and the means for prohibiting continuous acceptance refusal are selected. It is also possible to provide means for
[0015]
For example, when the queue length Xj suddenly exceeds the permission queue length AQj, it is necessary to perform rapid traffic control in order to avoid congestion. When such a situation occurs, it can be dealt with by continuously discarding packets. On the other hand, when the queue length Xj gently exceeds the permitted queue length AQj, it is possible to realize a stable traffic control by performing a gentle traffic control. It is desirable to use such conflicting control modes by switching according to the situation. Such switching control is desirably provided as an additional function of the means for determining. The packet can be described similarly even if it is a cell that is a fixed-length packet.
[0016]
By installing it in the communication network, it guarantees the minimum bandwidth contracted for each connection accommodated in the communication network even at the time of congestion, while surplus at normal time (when there is no congestion) A bandwidth can be evenly distributed among connections, network resources can be used more efficiently, and a packet discard device that can be realized economically even on a high-speed line can be realized. Furthermore, by installing in a node such as a packet switching switch, a simple hardware configuration can be realized, and efficient congestion avoidance in the node can be realized.
[0017]
DETAILED DESCRIPTION OF THE INVENTION
(First Example)
A multiplexing apparatus according to the first embodiment of the present invention to which the packet discarding apparatus of the present invention is applied will be described with reference to FIGS. FIG. 1 is a block diagram of a multiplexing apparatus according to the first embodiment of the present invention. FIG. 12 is a diagram for explaining queue length detection using a monitoring packet.
[0018]
As shown in FIG. 1, a multiplexing apparatus to which the packet discarding apparatus 5 of the present invention is applied includes a connection identifying unit 1 for identifying connections 1 to k to which an arriving packet belongs, and a packet for determining whether or not to accept the packet. The discard device 5, the FIFO type buffer 6 that multiplexes packets according to the determination result of the packet discard device 5, and the queue length of the buffer 6 for each connection i from among the packets of multiple connections accumulated in the buffer 6 The queue length monitoring unit 7 and the virtual queue management unit 3 that detect Xi, and the connection information storage unit 2 that holds the value of the weight Wi predetermined for each connection i are provided. The queue length Qmax is set, and the queue length becomes almost zero when the maximum queue length Qmax is exceeded. The continuous function of ΣXi that is the sum of i is α (ΣXi), the sum of the weights of the connection i in which one or more packets are stored in the buffer 6 is Wact, and the permission queue length calculation unit 4 AQi
AQi = α (ΣXi) ・ Wi / Wact
The packet discarding device 5 determines that the packet that belongs to the connection whose queue length Xi for each connection i is equal to or smaller than the permitted queue length AQi is accepted.
[0019]
In the present embodiment, the queue length monitoring unit 7 and the virtual queue management unit 3 buffer each connection i with respect to the actual queue length of the buffer 6 in a situation where a plurality of connections are mixed and accumulated in one buffer 6. What detected the queue length Xi of 6 is called a virtual queue length. In the following, for simplicity of explanation, the virtual queue length is simply referred to as queue length Xi or Xj.
[0020]
As a feature of the packet discard device 5 of the present invention, the ratio that the queue length Xj of the connection j that has been rejected is calculated exceeds the permission queue length AQj, and when the calculated ratio exceeds a predetermined value It is also possible to reject the acceptance of packets of the connection j in succession at least two, and prohibit the continuous acceptance rejection of the packets of the connection j whose acceptance has been rejected when the calculated ratio is not more than a predetermined value. Which acceptance determination policy is adopted can be switched and selected by a user operation.
[0021]
Further, the packet discarding device 5 can determine that the packet to be determined to be unacceptable is permitted to be accepted when the packet of the connection j that should be determined to be unacceptable does not exist in the buffer 6.
[0022]
A packet is attached to a packet that exceeds the minimum guaranteed bandwidth and arrives at the network, and the packet discarding device 5 determines that the packet is to be rejected when the tag is attached to the packet that is determined to be rejected. Is determined to be accepted.
[0023]
The queue length monitoring unit 7 detects the queue length Xi for a change cycle that is equal to or less than a predetermined change cycle of the queue length Xi. Alternatively, the queue length monitoring unit 7 outputs the maximum value of the queue length X within the unit time as the detection result of the queue length Xi for each unit time.
[0024]
Further, as shown in FIG. 12, a monitoring packet insertion unit 18 for sending a monitoring packet to the buffer 6 is provided, and the queue length monitoring unit 7 receives the monitoring packet sent from the monitoring packet insertion unit 18 as input to the buffer 6. The queue length Xi can also be detected according to the time difference between the received time and the time when the monitoring packet is output from the buffer 6.
[0025]
A plurality of service classes are provided, and the connection identifying unit 1 simultaneously identifies the service class to which the packet belongs together with the connection of the arriving packet, and the virtual queue management unit 3 performs the service of the buffer 6 for each connection i. The queue length Xi for each class is detected, and the connection information storage unit 2 holds the value of the weight Wi for each service class that is predetermined for each connection i, and the packet discard device 5 determines the permission for each service class. Queue length AQi
AQi = α (ΣXi) ・ Wi / Wact
And a packet belonging to a connection whose queue length Xi for each service class per connection i is equal to or smaller than the permissible queue length AQi for each service class can be determined to be accepted.
[0026]
Hereinafter, the first embodiment of the present invention will be described in more detail.
[0027]
FIG. 14 is a block diagram of a network that applies the present invention and provides a minimum bandwidth guarantee service. The calling user sends a packet over the network to the called user. The network guarantees the transfer rate up to the minimum bandwidth contracted with the user. A plurality of users are accommodated in each link of the network, and the surplus bandwidth is distributed among users according to a weight determined based on a fee, a minimum guaranteed bandwidth, and the like.
[0028]
As described above, the multiplexing device including the packet discarding device of the present invention can be used as a bandwidth control device (UPC: Usage Parameter Control) by being provided in the network as shown in FIG. Further, by providing it in the packet switching switch, it can be used to avoid buffer congestion in the switch.
[0029]
First, when the originating user sends a packet to the network, the packet sending rate to the user's network is measured by a rate observation device located at the incoming edge of the network. If the packet transmission rate exceeds the minimum guaranteed bandwidth, Tag is attached to the packet header, and packets transmitted below the minimum guaranteed bandwidth are transmitted to the network as they are. A packet without a tag is transferred to the called user without being discarded in the network, thereby guaranteeing the minimum bandwidth. The multiplexing device of the present invention is located in the relay node and performs a process of distributing a link band shared by a plurality of users to each user according to the weight.
[0030]
A first embodiment of the present invention will be described with reference to FIGS. As shown in FIG. 1, the multiplexing apparatus includes a connection identification unit 1, a bandwidth control unit 10, and a buffer unit 11. The connection identifying unit 1 identifies the connection from the header of the packet that arrived. The bandwidth control unit 10 performs processing related to bandwidth control based on the connection information. The buffer unit 11 is a simple FIFO buffer 6 and is shared among all users accommodated in the link.
[0031]
A queue length monitoring unit 7 is connected to the buffer 6, and the queue length of the buffer 6 and information on input / output packets are transmitted to the virtual queue management unit 3 at the previous stage when packets are input / output. Here, the information relating to the input / output packet includes the packet length of the packet input to or output from the buffer 6 and the identification number of the connection to which the packet belongs.
[0032]
When a packet arrives from the input line side, the connection identifying unit 1 identifies the connection of the packet, and the packet is sent to the subsequent bandwidth control unit 10 to determine whether or not to input to the buffer 6 and is determined to be discarded. Packets are discarded on the spot, and packets that are not determined to be discarded are input to the buffer unit 11 at the subsequent stage and output to the output line in accordance with the FIFO rules.
[0033]
In the present invention, bandwidth control based on packet discard in the bandwidth controller 10 plays an important role. Therefore, the processing of the bandwidth control unit 10 will be described in detail. The bandwidth control unit 10 includes a virtual queue management unit 3, a permission queue length calculation unit 4, a connection information storage unit 2, and a packet discard device 5.
[0034]
The virtual queue management unit 3 calculates the queue length of the buffer 6 and the queue length for each connection based on information from the queue length monitoring unit 7. The virtual queue management unit 3 is connected to the connection information storage unit 2, and the calculated virtual queue length for each connection is recorded in the connection information storage unit 2.
[0035]
A method for calculating each queue length will be described. First, regarding the calculation of the queue length of the buffer 6, the queue length information transmitted from the queue length monitoring unit 7 is simply held in the virtual queue management unit 3 as it is. Next, a virtual queue length calculation method for each connection will be described. Since the buffer 6 is empty in the initial state, the virtual queue length of each connection is zero. When a packet is input to the buffer 6, the packet length and connection identification number of the packet are transmitted through the queue length monitoring unit 7. Based on the information, the virtual queue management unit 3 accesses the connection identification unit 1 and performs a process of adding the packet length sent to the virtual queue length of the connection. On the contrary, at the time of packet output, a process of subtracting the packet length transmitted from the virtual queue length is performed.
[0036]
FIG. 2 shows an example of the connection information storage unit 2 in which information on the virtual queue length for each connection calculated by the virtual queue management unit 3 and information on connection weights are stored.
[0037]
Next, the permission queue length calculation unit 4 receives information on the queue length of the buffer 6 from the virtual queue management unit 3 and the connection information storage unit 2, and information on the virtual queue length and weight for each connection, and based on them Has a function to calculate the authorization queue length. Here, the permitted queue length of the connection represents the maximum queue length that is allowed to be input to the buffer 6.
[0038]
A method for calculating the permission queue length AQi of the connection i will be specifically described. Connection weight is Wi, queue length of current buffer 6 Sum of The Σ Let Xi be
AQi = α (ΣXi) ・ Wi / Wact
Calculated by α (ΣXi) is a continuous function, and the graphs of FIGS. 3 to 9 are examples of the queue length function α (ΣXi). Queue length on the horizontal axis Sum of ΣXi is taken, and the value of the function α (ΣXi) is taken on the vertical axis. Wact is the sum of the weights of active connections. Here, the active connection is a connection having a virtual queue length larger than zero, that is, a connection in which at least one packet is stored in the buffer 6.
[0039]
The function α (ΣXi) becomes zero when the queue length exceeds a certain threshold value (Qmax in the figure). That is, when the queue length exceeds a certain threshold value, it is determined that the queue is congested, and the permission queue length of each connection becomes zero.
[0040]
For example, in the example of FIG. 3, the function α (ΣXi) takes a constant value within a range not exceeding the threshold value Qmax, and the function α (ΣXi) becomes zero when the threshold value Qmax is exceeded. That is, the permission queue length AQi is distributed in proportion to the connection weight within a range not exceeding the threshold value Qmax.
[0041]
In the example of FIG. 4, the queue length Sum of Between ΣXi and a predetermined value less than the threshold value Qmax, the function α (ΣXi) gradually decreases until halfway, rapidly decreases as it approaches the threshold value Qmax, and becomes zero at the threshold value Qmax. That is, the permission queue length AQi is the queue length Sum of When ΣXi is small, it is distributed over the weight of connection i, but the queue length Sum of When ΣXi exceeds a predetermined value, the distribution ratio of the permission queue length AQi sharply decreases.
[0042]
In the example of FIG. 5, the queue length Sum of ΣXi and the value of the function α (ΣXi) are linearly inversely proportional. That is, the permission queue length AQi is the queue length Sum of Linearly inversely proportional to ΣXi. This is the simplest and basic control example.
[0043]
In the example of FIG. 6, the queue length Sum of ΣXi and the value of the function α (ΣXi) are inversely proportional according to a quadratic function. That is, the permission queue length AQi is the queue length Sum of Large when ΣXi is small, but queue length Sum of As ΣXi increases, it begins to decrease suddenly, and the queue length Sum of As ΣXi approaches the threshold value Qmax, the decrease becomes gradual. This allows the queue length Sum of When ΣXi starts to increase, traffic increase can be strongly suppressed.
[0044]
In the example of FIG. 7, the queue length Sum of The value of ΣXi and the function α (ΣXi) are inversely proportional to the quadratic function reversed from the quadratic function shown in FIG. That is, the permission queue length AQi is the queue length Sum of Large when ΣXi is small, but queue length Sum of As ΣXi increases, it begins to decrease gradually, and the queue length Sum of The decrease becomes steeper as ΣXi approaches the threshold value Qmax. This allows the queue length Sum of As ΣXi approaches the threshold value Qmax, an increase in traffic can be strongly suppressed.
[0045]
In the example of FIG. 8, the queue length Sum of ΣXi and the value of the function α (ΣXi) are inversely proportional in steps. That is, the permission queue length AQi is the queue length Sum of Large when ΣXi is small, but queue length Sum of As ΣXi increases, it begins to decrease gradually, and the specified queue length Sum of The queue length starts to decrease suddenly from ΣXi. Sum of As ΣXi approaches the threshold value Qmax, the decrease becomes gentle again. This allows the queue length Sum of When ΣXi is near the middle between zero and the threshold value Qmax, an increase in traffic can be strongly suppressed.
[0046]
In the example of FIG. 9, the queue length Sum of ΣXi and the value of the function α (ΣXi) are reversed from the example of FIG. That is, the permission queue length AQi is the queue length Sum of Large when ΣXi is small, but queue length Sum of As ΣXi increases, it begins to decrease suddenly, starts to decrease gradually from the predetermined queue length ΣXi, and queue length Sum of As ΣXi approaches the threshold value Qmax, it suddenly starts decreasing again. This allows the queue length Sum of The increase in traffic can be strongly suppressed between the time when ΣXi starts to increase from zero and the time when ΣXi approaches the threshold value Qmax.
[0047]
Also queue length Sum of The current queue length (the instantaneous value of the queue length when the packet arrives) is used as ΣXi. Sum of You may employ | adopt the average value of the queue length within a fixed time as (SIGMA) Xi.
[0048]
The packet discard device 5 determines whether a packet arriving from the permission queue length and the virtual queue length for each connection is input to the buffer 6 or discarded. FIG. 10 is a flowchart showing a processing flow at the time of arrival of a packet for performing deterministic discarding processing. As shown in FIG. Long X If i is less than or equal to the permission queue length AQi, the packet is input to the buffer 6. If the queue exceeds the permission queue length AQi, the packet with Tag is discarded, and the packet without Tag is input to the buffer 6. Thus, control is performed so that the occupation ratio of the buffer 6 becomes fair while always guaranteeing the minimum bandwidth of each connection.
[0049]
Further, when the virtual queue length exceeds the permitted queue length, it is possible to discard packets probabilistically instead of deterministically discarding packets as described above. FIG. 11 is a flowchart showing a processing flow at the time of arrival of a packet for performing probabilistic discard processing. As shown in FIG. 11, the permitted queue length is AQi, and the virtual queue length. Sum of Is assumed to be ΣXi, the discard probability P is
P = (ΣXi−AQi) / ΣXi
Given in. In other words, when the virtual queue length exceeds the permission queue length, the excess queue length is dropped. By controlling bandwidth by probabilistic discarding, when focusing on one connection, even if the virtual queue length exceeds the permitted queue length, the phenomenon that packets are discarded continuously is deterministic. Therefore, it can be said that the compatibility with TCP rate control is increased. The packet input to the buffer 6 is output to the output line according to the FIFO standard.
[0050]
The generation of the pseudo random number Rand in FIG. 11 is performed every time the packet arrives, and by executing the discard based on the result of comparing the discard probability P and the pseudo random number Rand, it is possible to actually realize the discard with the discard probability P. it can. For example, when the discard probability P is 0.5, the probability that the pseudo random number Rand takes a value larger than 0.5 is also 0.5, and discarding is performed when the pseudo random number Rand is larger than 0.5. By executing, discard according to the discard probability P is performed.
[0051]
The multiplexing apparatus to which the packet discarding apparatus 5 of the present invention is applied estimates the network congestion state based on the queue length, and if it is determined to be congested, the permitted queue length becomes equal to zero and is below the minimum guaranteed bandwidth. The network transfers only packets that are sent to the network at a rate of. When the queue length is less than or equal to a certain threshold value, it is determined that there is an excess bandwidth, and each connection is equally distributed between connections by occupying a buffer proportional to the weight.
[0052]
In addition, while realizing a GFR service with a FIFO buffer with a simple hardware configuration, the surplus bandwidth is fairly shared between connections as in the method of performing packet read control with a buffer individually for each connection, such as the WRR method. Can be distributed. In addition, since one buffer is shared by many connections, there is an advantage that a necessary buffer amount can be reduced by the statistical multiplexing effect, compared with a method in which a buffer is individually provided for each connection.
[0053]
Next, as a feature of the packet discard device 5 in the first embodiment of the present invention, the ratio that the queue length Xj of the connection j rejected by the packet discard device 5 exceeds the permitted queue length AQj is calculated. When the ratio exceeds the predetermined value, at least two consecutive connection j packets are rejected. When the calculated ratio is equal to or less than the predetermined value, the connection j packets rejected are continuously received. Prohibit refusal.
[0054]
That is, when the queue length Xj suddenly exceeds the permission queue length AQj, it is necessary to perform rapid traffic control in order to avoid congestion. When such a situation occurs, it can be dealt with by continuously discarding packets. On the other hand, when the queue length Xj gently exceeds the permitted queue length AQj, it is possible to realize a stable traffic control by performing a gentle traffic control.
[0055]
Further, as a function of the queue length monitoring unit 7, the queue length Xi is detected for a change period equal to or less than a predetermined change period of the queue length Xi. Thereby, the instantaneous change in the queue length Xi can be absorbed, and the malfunction of traffic control due to disturbance can be avoided.
[0056]
Alternatively, as a function of the queue length monitoring unit 7, the maximum value of the queue length Xi within the unit time is output as the detection result of the queue length Xi for each unit time. Thereby, the instantaneous change in the queue length Xi can be absorbed, and the malfunction of traffic control due to disturbance can be avoided.
[0057]
As shown in FIG. 12, the buffer 6 includes a monitoring packet insertion unit 18 for sending a monitoring packet, and the queue length monitoring unit 7 is the time when the monitoring packet sent from the monitoring packet insertion unit 18 is input to the buffer 6. And the queue length X is detected according to the time difference between the time when the monitoring packet is output from the buffer 6.
[0058]
As a result, the effective queue length Xi including parameters such as the actual delay time can be detected as compared with the detection of the queue length Xi simply based on the number of accumulated packets.
[0059]
Also, packets belonging to one connection can be further classified into two service classes and handled. One service class is a real-time (R) class for packets that place importance on real-time characteristics, and another service class is a non-real-time (NR) class for packets that do not place importance on real-time characteristics.
[0060]
For this purpose, the connection identifying unit 1 shown in FIG. 1 identifies the connection of the arriving packet and identifies the service class of the packet. The virtual queue management unit 3 also acquires service class information together with packet connection information stored in the buffer 6. Thereby, the connection information storage unit 2 can be provided with a table as shown in FIG.
[0061]
For example, regarding connection # 1, X1 (R) belonging to the real-time class and X1 (NR) belonging to the non-real-time class are recorded as the virtual queue length. In addition, real-time class weight W1 (R) and non-real-time class weight W1 (NR) are recorded as weights. The weight W1 (R) is set to be heavier than W1 (NR), and packets belonging to the real-time class can be read with priority over packets belonging to the non-real-time class.
[0062]
Thereby, since the delay of the packet which attaches importance to the real time property can be reduced, the QoS for the user can be improved.
[0063]
(Second embodiment)
A multiplexing apparatus according to the second embodiment of the present invention to which the packet discarding apparatus of the present invention is applied will be described with reference to FIG. FIG. 15 is a block diagram of a multiplexing apparatus according to the second embodiment of the present invention.
[0064]
As shown in FIG. 15, the multiplexing apparatus includes a connection identification unit 1 that identifies connections 1 to k to which a cell that is a fixed-length packet arrives, a reception determination unit 15 that determines whether or not the cell is acceptable, A FIFO buffer 6 that temporarily accumulates cells according to the determination result of the acceptance determination unit 15, a rate detection unit 8 that detects the arrival rate Ri of the cell for each connection i, and a weight Wi that is predetermined for each connection i. A connection information storage unit 2 for holding a value, and a maximum rate serving as a threshold is set in advance for the cell arrival rate Ri, and the sum ΣRi of the cell arrival rates Ri that becomes almost zero when the maximum rate is exceeded. The continuous function is β (ΣRi), and the weight of the connection i in which one or more cells are stored in the buffer 6 of the buffer unit 11 Was used as a Wact, permitted the arrival rate calculation unit 14, the permission arrival rate ACRi
ACRI = β (ΣRi) · Wi / Wact
The reception determination unit 15 determines that this is a reception permission for cells belonging to connections whose cell arrival rate Ri for each connection i is equal to or lower than the permitted arrival rate ACRi.
[0065]
In the present embodiment, the queue length monitoring unit 7 and the virtual queue management unit 3 buffer each connection i with respect to the actual queue length of the buffer 6 in a situation where a plurality of connections are mixed and accumulated in one buffer 6. What detected the queue length Xi of 6 is called a virtual queue length.
[0066]
FIG. 14 is a block diagram of a network that applies the present invention and provides a minimum bandwidth guarantee service. The calling user sends a packet over the network to the called user. The network guarantees the transfer rate up to the minimum bandwidth contracted with the user. A plurality of users are accommodated in each link of the network, and the surplus bandwidth is distributed among users according to a weight determined based on a fee, a minimum guaranteed bandwidth, and the like.
[0067]
As described above, the multiplexing device including the packet discarding device of the present invention can be used as a bandwidth control device (UPC: Usage Parameter Control) by being provided in the network as shown in FIG. Further, by providing it in the packet switching switch, it can be used to avoid buffer congestion in the switch.
[0068]
First, when the originating user sends a packet to the network, the packet sending rate to the user's network is measured by a rate observation device located at the incoming edge of the network. If the packet transmission rate exceeds the minimum guaranteed bandwidth, Tag is attached to the packet header, and packets transmitted below the minimum guaranteed bandwidth are transmitted to the network as they are. A packet without a tag is transferred to the called user without being discarded in the network, thereby guaranteeing the minimum bandwidth. The multiplexing device of the present invention is located in the relay node and performs a process of distributing a link band shared by a plurality of users to each user according to the weight.
[0069]
As a feature of the reception determination unit 15 shown in FIG. 15 as the packet discarding apparatus in the second embodiment of the present invention, the ratio that the arrival rate Rj of the connection j rejected by the reception determination unit 15 exceeds the permitted arrival rate ACRj is calculated. When the calculated ratio exceeds a predetermined value, at least two consecutive packets of connection j are rejected. When the calculated ratio is equal to or lower than the predetermined value, the connection j of the rejected connection j is rejected. Prohibits continuous rejection of packets.
[0070]
That is, when the arrival rate Rj suddenly exceeds the permitted arrival rate ACRj, it is necessary to perform rapid traffic control in order to avoid congestion. When such a situation occurs, it can be dealt with by continuously discarding packets. On the other hand, when the arrival rate Rj gently exceeds the permitted arrival rate ACRj, it is possible to perform stable traffic control by performing gentle traffic control.
[0071]
【The invention's effect】
As described above, according to the present invention, by installing in the communication network, for each connection accommodated in the communication network, the guaranteed minimum bandwidth is guaranteed even during congestion, and at normal times. In the time of non-congestion, the surplus bandwidth can be evenly distributed among the connections, thereby enabling more efficient use of network resources. In addition, it is possible to realize a packet discard apparatus that can be realized economically even on a high-speed line. Furthermore, by installing in a node such as a packet switching switch, a simple hardware configuration can be realized, and efficient congestion avoidance in the node can be realized.
[Brief description of the drawings]
FIG. 1 is a block diagram of a multiplexing apparatus according to a first embodiment of the present invention.
FIG. 2 is a diagram showing a table example of a connection information storage unit.
FIG. 3 is a diagram illustrating an example of a function α (ΣXi).
FIG. 4 is a diagram illustrating an example of a function α (ΣXi).
FIG. 5 is a diagram illustrating an example of a function α (ΣXi).
FIG. 6 is a diagram illustrating an example of a function α (ΣXi).
FIG. 7 is a diagram illustrating an example of a function α (ΣXi).
FIG. 8 is a diagram illustrating an example of a function α (ΣXi).
FIG. 9 is a diagram illustrating an example of a function α (ΣXi).
FIG. 10 is a flowchart showing a processing flow when a packet arrives for deterministic discarding processing.
FIG. 11 is a flowchart showing a processing flow when a packet arrives to perform probabilistic discard processing.
FIG. 12 is a diagram for explaining queue length detection using a monitoring packet.
FIG. 13 is a diagram showing a table example of a connection information storage unit.
FIG. 14 is a diagram showing an example of a network configuration to which the present invention is applied.
FIG. 15 is a block diagram of a multiplexing apparatus according to the second embodiment of the present invention.
FIG. 16 is a diagram for explaining the outline of a conventional WRR method.
[Explanation of symbols]
1 Connection identifier
2 Connection information storage
3 Virtual queue manager
4 Allowed queue length calculator
5 Packet discard device
6 buffers
7 Queue length monitor
8 Rate detector
10 Band control part
11 Buffer section
14 Permitted arrival rate calculator
15 Reception determination part
18 Monitoring packet insertion part

Claims (2)

到着するパケットの受付可否を判定する手段と、この判定により受付拒否されたパケットについてはこれを廃棄する手段とを備えたパケット廃棄装置において、
前記受付可否を判定する手段は、
到着するパケットのキュー長がバッファ内でのコネクションごとの受付許可のキュー長を超え、その比が所定値を超えたときは少なくとも2個連続してパケットを受付拒否する手段と、
到着するパケットのキュー長がバッファ内でのコネクションごとの受付許可のキュー長を超え、その比が所定値以下のときは連続した受付拒否を禁止する手段と
を備えたことを特徴とするパケット廃棄装置。
In a packet discarding device comprising means for judging whether or not to accept an incoming packet and means for discarding a packet rejected by this judgment,
The means for determining acceptability is:
Means for rejecting at least two consecutive packets when the queue length of the arriving packet exceeds the queue length of acceptance permission for each connection in the buffer and the ratio exceeds a predetermined value ;
Packet discard characterized in that it comprises means for prohibiting continuous acceptance refusal when the queue length of arriving packets exceeds the queue length of acceptance permission for each connection in the buffer and the ratio is below a predetermined value apparatus.
到着するパケットの受付可否を判定する手段と、この判定により受付拒否されたパケットについてはこれを廃棄する手段とを備えたパケット廃棄装置において、
前記受付可否を判定する手段は、
到着するパケットの到着レートが受付許可のレートを超え、その比が所定値を超えたときは少なくとも2個連続してパケットを受付拒否する手段と、
到着するパケットの到着レートが受付許可のレートを超え、その比が所定値以下のときは連続した受付拒否を禁止する手段と
を備えたことを特徴とするパケット廃棄装置。
In a packet discarding device comprising means for judging whether or not to accept an incoming packet and means for discarding a packet rejected by this judgment,
The means for determining acceptability is:
Means for rejecting at least two consecutive packets when the arrival rate of arriving packets exceeds the acceptance permission rate and the ratio exceeds a predetermined value;
Means for prohibiting continuous acceptance refusal when the arrival rate of arriving packets exceeds the acceptance permission rate and the ratio is below a predetermined value;
A packet discarding device.
JP2001205994A 2001-07-06 2001-07-06 Packet discard device Expired - Lifetime JP3989197B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001205994A JP3989197B2 (en) 2001-07-06 2001-07-06 Packet discard device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001205994A JP3989197B2 (en) 2001-07-06 2001-07-06 Packet discard device

Publications (3)

Publication Number Publication Date
JP2003023452A JP2003023452A (en) 2003-01-24
JP2003023452A5 JP2003023452A5 (en) 2005-08-04
JP3989197B2 true JP3989197B2 (en) 2007-10-10

Family

ID=19042206

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001205994A Expired - Lifetime JP3989197B2 (en) 2001-07-06 2001-07-06 Packet discard device

Country Status (1)

Country Link
JP (1) JP3989197B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1703004B (en) 2005-02-28 2010-08-25 联想(北京)有限公司 Method for implementing network access authentication
JP5340186B2 (en) 2010-01-21 2013-11-13 アラクサラネットワークス株式会社 Packet relay apparatus and packet relay method

Also Published As

Publication number Publication date
JP2003023452A (en) 2003-01-24

Similar Documents

Publication Publication Date Title
US8467295B2 (en) System and methods for distributed quality of service enforcement
US6765873B1 (en) Connections bandwidth right sizing based on network resources occupancy monitoring
US6690646B1 (en) Network capacity planning based on buffers occupancy monitoring
US20040125815A1 (en) Packet transmission apparatus and method thereof, traffic conditioner, priority control mechanism and packet shaper
EP2761826B1 (en) Attribution of congestion contributions
JPH0690255A (en) Method for control of congestion of data network
JPH0744542B2 (en) Bandwidth allocation method of virtual path in asynchronous transfer mode
EP2273736B1 (en) Method of managing a traffic load
JP3989197B2 (en) Packet discard device
JP3631701B2 (en) Multiplexing device, bandwidth control device, program, and recording medium
JP3631699B2 (en) Multiplexing device, bandwidth control device, program, and recording medium
JP3813473B2 (en) Packet discard device
JP3917830B2 (en) Rate control device
JP3989196B2 (en) Cell multiplexer
Pillai A distributed overload control algorithm for delay-bounded call setup
JP3583711B2 (en) Bandwidth control device and method
JP2003023457A (en) Arrival rate detector
JP2003023451A (en) Arrival rate detector
JP2003023450A (en) Rate controller
JP2003023455A (en) Rate controller
JP2003023454A (en) Rate controller
JP2003023458A (en) Arrival rate detector
JP2003023449A (en) Device for packet abortion
JP2003023453A (en) Device for cell abortion
Ziegler et al. RED+ Gateways for Identification and Discrimination of unfriendly best-effort Flows in the Internet

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041224

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041224

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061121

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070122

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070717

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070717

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

Free format text: PAYMENT UNTIL: 20100727

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 3989197

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: 20100727

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110727

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120727

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130727

Year of fee payment: 6

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

EXPY Cancellation because of completion of term