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

JP5365415B2 - パケット中継装置および輻輳制御方法 - Google Patents

パケット中継装置および輻輳制御方法 Download PDF

Info

Publication number
JP5365415B2
JP5365415B2 JP2009194422A JP2009194422A JP5365415B2 JP 5365415 B2 JP5365415 B2 JP 5365415B2 JP 2009194422 A JP2009194422 A JP 2009194422A JP 2009194422 A JP2009194422 A JP 2009194422A JP 5365415 B2 JP5365415 B2 JP 5365415B2
Authority
JP
Japan
Prior art keywords
queues
shaper
congestion
packets
unit
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 - Fee Related
Application number
JP2009194422A
Other languages
English (en)
Other versions
JP2011049658A (ja
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2009194422A priority Critical patent/JP5365415B2/ja
Priority to US12/862,420 priority patent/US8553538B2/en
Publication of JP2011049658A publication Critical patent/JP2011049658A/ja
Application granted granted Critical
Publication of JP5365415B2 publication Critical patent/JP5365415B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/12Avoiding congestion; Recovering from congestion
    • 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/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
    • 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
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/6215Individual queue per QOS, rate or priority

Landscapes

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

Description

本発明はパケット中継装置および輻輳制御方法に関する。
パケット通信では、パケットを中継する中継装置において輻輳が発生することがある。輻輳制御方法の1つとして、テイルドロップ方式がある。テイルドロップ方式では、中継装置が備えるキューに送信待ちのパケットを可能な限り格納する。そして、キューが満杯になると、キューに再び空きができるまで後から到着するパケットを廃棄する。ここで、パケットを送信する送信装置の中には、宛先の受信装置からパケットを受信した旨の確認応答がないと、送信レートを低下させる制御(例えば、スロースタートアルゴリズム)を行うものがある。よって、中継装置でパケットを廃棄すると、輻輳の解消が期待できる。
しかし、テイルドロップ方式では、キューが満杯になると、送信量の多い送信装置からのパケットも送信量の少ない装置からのパケットも含めて、後から到着するパケットを無条件に廃棄する。そのため、複数の送信装置が一斉に送信レートを低下させ、トラヒックが一時的に極端に低下する現象(グローバルシンクロナイゼーション)が発生しやすい。グローバルシンクロナイゼーションが発生すると、ネットワークの利用率が低下する。
これに対し、他の輻輳制御方法として、ランダム初期検知(RED:Random Early Detection)方式がある。RED方式では、中継装置が備えるキューが満杯になる前に、到着するパケットを確率的に廃棄する。パケットを確率的に廃棄した場合、送信量の多い送信装置からのパケットが、送信量の少ない装置からのパケットよりも廃棄されやすくなる。よって、RED方式では、グローバルシンクロナイゼーションの発生を抑制できる。
なお、RED方式の輻輳制御について、輻輳が発生すると、到着したセルが最終セルか否か判定し、最終セル以外のセルを任意の確率で廃棄する技術が提案されている。また、キュー長の分布情報を取得し、分布情報に応じてパケット廃棄を行うことで、データ蓄積状況が廃棄制御により反映されるようにした技術が提案されている。
特開2001−111556号公報 特開2004−104417号公報
ところで、パケットを中継する中継装置には、QoS(Quality of Service)制御のため、送信待ちのパケットを格納するキューを複数備えるものがある。複数のキューを備えることで、ネットワークを利用するユーザや通信の種類に応じて、パケットの送信順序を優先付けすることができる。
しかし、前述のRED方式のような輻輳制御方法では、パケットの廃棄制御はキュー単位で行われていた。従って、複数のキューそれぞれに対してパケット廃棄のための回路を設けた場合、回路規模が大きくなるという問題がある。一方、回路規模の制約から、一部のキューのみにパケット廃棄のための回路を割り当てた場合、すなわち、パケット廃棄の制御の対象外であるキューが存在する場合、グローバルシンクロナイゼーションの抑制が不十分になるおそれがあるという問題がある。
本発明はこのような点に鑑みてなされたものであり、複数のキューに対するパケット廃棄の制御を効率的に実現するパケット中継装置および輻輳制御方法を提供することを目的とする。
上記課題を解決するためにパケット中継装置が提供される。このパケット中継装置は、複数のキューと輻輳検出部と振分部と廃棄部とを有する。複数のキューは、送信待ちのパケットを格納する。輻輳検出部は、複数のキューの輻輳状態を検出し、輻輳状態に基づいて複数のキューから1またはそれ以上のキューを選択する。振分部は、複数のキューに格納される前の一連のパケットから、輻輳検出部で選択された1またはそれ以上のキュー宛てのパケットを分離する。廃棄部は、振分部で分離された1またはそれ以上のキュー宛てのパケットを、所定の確率で廃棄する。
また、上記課題を解決するために輻輳制御方法が提供される。この輻輳制御方法では、送信待ちのパケットを格納する複数のキューの輻輳状態を検出し、輻輳状態に基づいて複数のキューから1またはそれ以上のキューを選択する。複数のキューに格納される前の一連のパケットから、選択した1またはそれ以上のキュー宛てのパケットを分離する。分離した1またはそれ以上のキュー宛てのパケットを所定の確率で廃棄する。
上記パケット中継装置および輻輳制御方法によれば、複数のキューに対するパケット廃棄の制御が効率的に実現される。
第1の実施の形態のパケット中継装置を示す図である。 第2の実施の形態の通信システムを示す図である。 第2の実施の形態の中継装置を示す図である。 キュー管理部の詳細を示す図である。 廃棄制御部の詳細を示す図である。 シェーパテーブルのデータ構造例を示す図である。 RED回路テーブルのデータ構造例を示す図である。 平均キュー長と廃棄率との関係を示すグラフである。 輻輳発生時の処理を示すフローチャートである。 RED回路適用の処理を示すフローチャートである。 輻輳解消時の処理を示すフローチャートである。 パケットの振り分け例を示す第1の図である。 パケットの振り分け例を示す第2の図である。 パケットの振り分け例を示す第3の図である。 RED回路とキューとの対応付け例を示す図である。
以下、本実施の形態を図面を参照して詳細に説明する。
[第1の実施の形態]
図1は、第1の実施の形態のパケット中継装置を示す図である。第1の実施の形態に係るパケット中継装置1は、ネットワークにおいてパケットの転送を行う。パケット中継装置1は、例えば、ルータやスイッチなどの通信装置である。パケット中継装置1が扱うパケットは、IP(Internet Protocol)パケットに限られず、通信のために区切られた一定のデータ単位であればよい。パケット中継装置1は、複数のキュー1a,1b,1c、輻輳検出部1d、振分部1eおよび廃棄部1fを有する。
キュー1a,1b,1cは、送信待ちのパケットを格納する。キュー1a,1b,1cは、例えば、ユーザやQoSクラスに対応して設けられている。送信するパケットは出力優先度が判定され、キュー1a,1b,1cの何れかの末尾に挿入される。キュー1a,1b,1cに格納されたパケットは、先頭から順次取り出されて送信される。送信側には、例えば、キュー1a,1b,1cのパケットの送信順序を制御するスケジューラや、帯域に応じて送信タイミングを制御するシェーパが設けられる。複雑なQoS制御を実現するため、多段のシェーパを設けてもよい。
輻輳検出部1dは、キュー1a,1b,1cについての輻輳状態を検出する。そして、検出した輻輳状態に基づいて、キュー1a,1b,1cからパケット廃棄の対象とする1またはそれ以上のキューを選択する。輻輳状態は、シェーパ単位で検出してもよい。例えば、各シェーパのパケットの通過状況(例えば、使用率)を監視する方法や、シェーパ毎にそのシェーパにパケットを出力するキューにおけるパケットの滞留状況(例えば、直近の一定時間の平均キュー長)を監視する方法が考えられる。その場合、輻輳と判断されたシェーパにパケットを出力しているキューを、パケット廃棄の対象として選択する。
振分部1eは、キュー1a,1b,1cに格納される前の一連のパケットを取得する。そして、一連のパケットから、輻輳検出部1dで選択された1またはそれ以上のキュー、すなわち、パケット廃棄の対象とするキュー宛てのパケットを分離する。宛先キューまたは出力優先度を示す情報がパケットに付加されている場合、その情報に基づいて分離するか否か判断すればよい。分離されたパケットは、廃棄部1fに振り分けられる。一方、それ以外のパケットは、キュー1a,1b,1cの何れかに格納される。
廃棄部1fは、振分部1eで分離されたパケットを取得し、取得したパケットを一定の廃棄率で廃棄する。廃棄されずに残ったパケットは、キュー1a,1b,1cの何れかに格納される。廃棄率は、対象のキューにおけるパケットの滞留状況(例えば、直近の一定時間の平均キュー長)に応じて決まる確率を用いてもよい。複数のキューがパケット廃棄の対象である場合、それらキューについてのキュー長の合計値や最大値に基づいて、廃棄率を算出してもよい。なお、パケット中継装置1は、廃棄部1fを含む複数の廃棄部を備えていてもよい。その場合、廃棄部毎に異なる廃棄率を適用できる。
このようなパケット中継装置1によれば、輻輳検出部1dにより、キュー1a,1b,1cについての輻輳状態が検出され、輻輳状態に基づいてキュー1a,1b,1cから1またはそれ以上のキューが選択される。振分部1eにより、キュー1a,1b,1cに格納される前の一連のパケットから、輻輳検出部1dで選択された1またはそれ以上のキュー宛てのパケットが分離される。廃棄部1fにより、振分部1eで分離されたパケットが所定の確率で廃棄される。キュー1a,1b,1cには、振分部1eで分離されなかったパケットおよび廃棄部1fで廃棄されなかったパケットが格納される。
例えば、キュー1a,1b,1cのうちキュー1b,1cに多くのパケットが滞留しており、輻輳の原因になっているとする。そして、輻輳検出部1dにより、パケット廃棄の対象としてキュー1b,1cが選択されたとする。すると、振分部1eにより、キュー1b,1c宛てのパケットが廃棄部1fに振り分けられ、廃棄部1fにより、キュー1b,1c宛てのパケットが所定の確率で廃棄される。
これにより、廃棄部に対し1またはそれ以上のキューを動的に割り当てることができ、複数のキューに対するパケット廃棄の制御を効率的に実現することができる。すなわち、全てのキューについて1対1に対応する廃棄部を固定的に設ける方法と比べ、回路規模を抑制することができる。また、一部のキューにのみ対応する廃棄部を固定的に設ける方法と比べ、より多くのキューに対してパケット廃棄の処理を適用でき、グローバルシンクロナイゼーションによる通信品質の劣化を抑制できる。
また、廃棄部とキューとを1対多に固定的に対応付ける方法と比べ、通信品質の劣化を抑制できる。すなわち、廃棄部に対して複数のキューが固定的に対応付けられていると、一部のキューのみで輻輳が発生した場合に、輻輳に関与していない他のキューもパケット廃棄の対象となってしまい、通信品質が劣化するおそれがある。これに対し、パケット中継装置1によれば、廃棄部と1またはそれ以上のキューとの対応付けが動的であるため、過剰なパケット廃棄による通信品質の劣化を抑制できる。
特に、シェーパ単位で輻輳状態を検出し、輻輳しているシェーパに対応する複数のキューをパケット廃棄の対象として選択する場合は、シェーパの輻輳に関与していると考えられるキューを適切にグループ化できる。すなわち、輻輳に関与している可能性の高い複数のキューを纏めて1つの仮想的なキューとして扱うことができる。これにより、廃棄部と複数のキューとの対応付けを効率的に行うことができる。
[第2の実施の形態]
図2は、第2の実施の形態の通信システムを示す図である。第2の実施の形態に係る通信システムは、パケット通信が可能なシステムである。この通信システムは、中継装置10,10a,10b、端末装置20,20aおよびネットワーク30,30aを含む。
中継装置10,10a,10bは、パケットの転送を行う通信装置である。中継装置10,10a,10bとしては、例えば、ルータやスイッチを用いることができる。中継装置10は、中継装置10a,10bと接続されている。中継装置10aは、ネットワーク30に接続され、中継装置10bは、ネットワーク30aに接続されている。なお、中継装置10,10a,10bが扱うパケットは、通信のために区切られた一定のデータ単位であればよく、IPパケットが含まれる。
端末装置20,20aは、パケットを送受信する通信端末装置である。端末装置20,20aとしては、例えば、通信インタフェースを備えたコンピュータを用いることができる。TCP(Transmission Control Protocol)の通信を行う場合、端末装置20,20aは、TCPセッションを終端する。端末装置20は、ネットワーク30に接続されており、端末装置20aは、ネットワーク30aに接続されている。端末装置20と端末装置20aとは、ネットワーク30−中継装置10a−中継装置10−中継装置10b−ネットワーク30aという経路でパケット通信を行うことができる。
図3は、第2の実施の形態の中継装置を示す図である。中継装置10は、複数の受信部11,11a,・・・、パケットスイッチ12および複数の送信部13,13a,・・・を有する。中継装置10a,10bも、中継装置10と同様の構成によって実現できる。
受信部11,11a,・・・は、中継装置10が備える通信ポートに到着した受信パケットを取得し、各種の受信処理を行ってパケットスイッチ12に出力する。受信部は通信ポート毎に設けることができる。例えば、受信部11は、中継装置10aと接続された通信ポートに到着した受信パケットを処理し、受信部11aは、中継装置10bと接続された通信ポートに到着した受信パケットを処理する。
受信処理には、フロー検出、帯域監視、マーキングなどの処理が含まれる。フロー検出では、プロトコル種別、IPアドレス、TCPポート番号などのヘッダ情報に基づいてフローを検出する。帯域監視では、フロー毎に使用帯域を監視する。マーキングでは、帯域監視の結果に応じて、ヘッダ内のユーザ優先度を示す値を書き換える。例えば、所定の帯域を超えたフローに対してペナルティを与え、ユーザ優先度を下げる。
パケットスイッチ12は、パケットを出力先の通信ポートに振り分ける内部スイッチである。パケットスイッチ12は、受信部11,11a,・・・からパケットを取得し、ヘッダ情報に基づいて出力先の通信ポートを判断する。そして、出力先の通信ポートに対応する送信部にパケットを出力する。
送信部13,13a,・・・は、パケットスイッチ12からパケットを取得し、各種の送信処理を行って通信ポートに出力する。送信部は通信ポート毎に設けることができる。例えば、送信部13は、中継装置10aと接続された通信ポートから出力するパケットを処理し、送信部13aは、中継装置10bと接続された通信ポートから出力するパケットを処理する。
送信処理には、優先度決定、廃棄制御、出力制御などの処理が含まれる。優先度決定では、パケットの出力優先度が判断され、そのパケットを格納するキューが指定される。廃棄制御では、キューの状態に応じてパケットを廃棄する。出力制御では、複数のキューに格納されたパケットの出力順序の制御(スケジューリング)や、割り当てられた帯域に応じた出力タイミングの制御(シェーピング)を行う。
ここで、送信部13は、廃棄制御部100とキュー管理部200を有する。廃棄制御部100は、RED方式により送信するパケットを確率的に廃棄する。キュー管理部200は、複数のキューを備え、これらキューに格納されたパケットのスケジューリングおよびシェーピングを行う。なお、送信部13aを含む他の送信部も、送信部13と同様の構成で実現できる。
以下、廃棄制御部100とキュー管理部200の詳細を説明する。なお、第2の実施の形態では、RED方式でパケット廃棄を行う場合を説明するが、ユーザ優先度などの情報を用いて、WRED(Weighted RED)方式でパケット廃棄を行ってもよい。
図4は、キュー管理部の詳細を示す図である。キュー管理部200は、分離部210、キュー220,220a,220b,220c,220d,220e、シェーパ230,230a,230b,230c,230d,230e,250,250a,250b,250c、スケジューラ240,240a,240b,240c、キュー監視部260およびシェーパ監視部270を有する。
分離部210は、廃棄制御部100から取得するパケットを、キュー220,220a,220b,220c,220d,220eの何れかに格納する。格納先のキューは、廃棄制御の前に行われる優先度決定において指定されている。ただし、分離部210が、パケットのヘッダ情報に基づいて格納先のキューを判断してもよい。
キュー220,220a,220b,220c,220d,220eは、送信待ちのパケットを一時的に格納するFIFO(First In First Out)型のバッファメモリである。第2の実施の形態では、一例として、キュー管理部200に6個のキューが設けられている。これら複数のキューは、パケット出力の優先度が異なる。キュー220,220a,220b,220c,220d,220eは、分離部210から取得するパケットを末尾に追加すると共に、格納されているパケットを先頭から順に出力する。
なお、キュー220,220a,220b,220c,220d,220eは、物理的なキューでもよいし、論理的なキューでもよい。すなわち、各キューのために個別にメモリ装置を設けてもよいし、1つのメモリ装置のメモリ領域を複数に分割して、複数のキューを実現してもよい。後者の場合、設定に応じて、論理的なキューの数を増減させることも可能である。
シェーパ230,230a,230b,230c,230d,230e,250,250a,250b,250cは、割り当てられた帯域に応じて、パケットの出力タイミングの制御(シェーピング)を行う。シェーピングにより、到着するパケット量の変動に対し、割り当てられた帯域の範囲内で出力するパケット量を平準化できる。各シェーパには予め帯域が割り当てられている。例えば、シェーパ230には15Mbps、シェーパ230aには10Mbpsなどの帯域が割り当てられる。シェーパ250cに割り当てられた帯域が、通信ポートの帯域に対応する。
ここで、シェーパ230は、キュー220からパケットを取得してスケジューラ240cに出力する。シェーパ230a,230bは、それぞれキュー220a,220bからパケットを取得してスケジューラ240に出力する。シェーパ230c,230d,230eは、それぞれキュー220c,220d,220eからパケットを取得してスケジューラ240aに出力する。
また、シェーパ250,250aは、それぞれスケジューラ240,240aからパケットを取得してスケジューラ240bに出力する。シェーパ250bは、スケジューラ240bからパケットを取得してスケジューラ240cに出力する。シェーパ250cは、スケジューラ240cからパケットを取得し、通信ポートから出力するパケットとする。このように、キュー管理部200は、多段シェーパを備えている。多段シェーパを用いることで、複数のキューを用いた複雑なQoS制御に柔軟に対応できる。
シェーパ230は、トークン供給部231、トークンバケット232および通過制御部233を有する。シェーパ230a,230b,230c,230d,230e,250,250a,250b,250cも、シェーパ230と同様の構成によって実現できる。
トークン供給部231は、シェーパ230に割り当てられた帯域に応じた時間間隔で、トークンと呼ばれるデータを継続的に生成する。そして、生成したトークンを、トークンバケット232の末尾に順次追加する。トークンバケット232は、トークンを格納するFIFO型のバッファメモリである。格納されたトークンは、先頭から順に取り出すことができる。
通過制御部233は、トークンバケット232に格納されたトークンを用いて、パケットを通過させるか否かを制御する。具体的には、トークンバケットの先頭からトークンを1つ取り出す毎にパケットを1つ通過させる。トークンバケットが空でありトークンを取得できない間は、パケットを通過させることができない。これにより、パケットの通過レートを制限することができる。
スケジューラ240,240a,240b,240cは、前段の複数のシェーパから入力されるパケットの出力順序の制御(スケジューリング)を行う。すなわち、スケジューラ240は、シェーパ230a,230bからのパケットをスケジューリングする。スケジューラ240aは、シェーパ230c,230d,230eからのパケットをスケジューリングする。スケジューラ240bは、シェーパ250,250aからのパケットをスケジューリングする。スケジューラ240cは、シェーパ230,250bからのパケットをスケジューリングする。
スケジューリングアルゴリズムは、スケジューラ毎に設定できる。例えば、スケジューラ240aは、重み付きラウンドロビン(WRR:Weighted Round Robin)を使用する。WRRでは、複数のシェーパそれぞれが所定の重みに応じた確率で選択される。スケジューラ240bは、ラウンドロビン(RR:Round Robin)を使用する。RRでは、複数のシェーパが所定の順番で均等に選択される。スケジューラ240cは、完全優先(SP:Strict Priority)を使用する。SPでは、高優先度のシェーパを優先して選択し、高優先度のシェーパからパケットの入力ない場合のみ低優先度のシェーパを選択できる。
キュー監視部260は、キュー220,220a,220b,220c,220d,220eそれぞれについて、滞留しているパケットの量、すなわち、キュー長を監視する。そして、キュー監視部260は、キュー長を示す情報を、廃棄制御部100に報告する。
シェーパ監視部270は、シェーパ230,230a,230b,230c,230d,230e,250,250a,250b,250cそれぞれについて、シェーパの使用率を監視する。シェーパの使用率は、トークンバケットに格納されているトークン量に基づいて判断することができる。例えば、トークン量が一定時間以上連続して所定の閾値を下回っている場合に、使用率100%と判断する方法が考えられる。そして、シェーパ監視部270は、シェーパの使用率を示す情報を、廃棄制御部100に報告する。
図5は、廃棄制御部の詳細を示す図である。廃棄制御部100は、振分部110、RED回路120,120a,120b、集約部130、輻輳検出部140および記憶部150を有する。
振分部110は、入力されたパケットが、キュー220,220a,220b,220c,220d,220eの何れに格納されるパケットであるか特定する。そして、格納先のキューに応じて、パケットを、RED回路120,120a,120bおよび集約部130の何れかに振り分ける。RED回路120,120a,120bとキューとの対応関係は、輻輳検出部140から通知される。輻輳検出部140から通知されていないキュー宛てのパケットは、集約部130に振り分けられる。
格納先のキューは、廃棄制御部100にパケットが入力される前に行われる優先度決定において指定されている。ただし、振分部110が、パケットのヘッダ情報に基づいて格納先のキューを判断してもよい。
RED回路120,120a,120bは、振分部110から取得するパケットを確率的に廃棄し、廃棄しなかったパケットを集約部130に出力する。すなわち、取得する一連のパケットから、ランダムにパケットを間引く。
初期状態では、RED回路120,120a,120bは、振分部110からパケットが振り分けられず、待機状態にある。すなわち、空きRED回路がストックされている。その後、輻輳検出部140の制御によりパケットが振り分けられると、RED回路120,120a,120bは、パケット廃棄を開始する。また、パケットの振り分けが停止すると、パケット廃棄を停止する。なお、第2の実施の形態では3個のRED回路を設けたが、回路規模を考慮した上で、任意の数のRED回路を設けてよい。
RED回路120は、平均キュー長算出部121、廃棄率算出部122およびパケット廃棄部123を有する。RED回路120a,120bも、RED回路120と同様の構成によって実現できる。
平均キュー長算出部121は、RED回路120を適用する1またはそれ以上のキューが輻輳検出部140から通知されると、輻輳検出部140経由で、通知されたキューについてのキュー長の情報を取得し始める。そして、取得したキュー長の情報を用いて、直近の一定時間の平均キュー長を算出し、算出した平均キュー長を廃棄率算出部122に通知する。平均キュー長の算出は、例えば、パケット廃棄の開始時点と、その後の定期的なタイミングで実行される。
ここで、RED回路120を適用するキューが複数ある場合、各キューのキュー長に基づいて算出される統計値を、複数のキューを1つのキューと見なした場合の仮想的なキュー長と定義することができる。例えば、各キューのキュー長の合計値を、仮想的なキュー長と定義できる。この方法では、複数のキューに滞留しているパケット量を精度よく把握することができる。また、各キューのキュー長の最大値を、仮想的なキュー長と定義することもできる。この方法では、回路の簡素化や処理負荷の軽減を図ることができる。
廃棄率算出部122には、平均キュー長とパケット廃棄率との対応関係が予め設定されている。廃棄率算出部122は、平均キュー長算出部121から平均キュー長が通知されると、平均キュー長に対応する廃棄率を算出する。そして、算出した廃棄率を、パケット廃棄部123に通知する。また、パケット廃棄の開始後、平均キュー長が更新されると、新たな平均キュー長に対応する廃棄率をパケット廃棄部123に通知する。
パケット廃棄部123は、廃棄率算出部122から廃棄率が通知されると、通知された廃棄率で振分部110から取得するパケットを廃棄する。すなわち、振分部110から取得する一連のパケットから、一定の廃棄率でランダムにパケットを間引く。そして、廃棄しなかったパケットを集約部130に出力する。また、パケット廃棄の開始後、廃棄率が更新されると、新たな廃棄率でパケット廃棄を行う。
集約部130は、振分部110およびRED回路120,120a,120bから取得するパケットを、1つのストリームに集約する。そして、集約した一連のパケットをキュー管理部200に出力する。
輻輳検出部140は、キュー220,220a,220b,220c,220d,220eに対するRED回路120,120a,120bの適用を制御する。具体的には、輻輳検出部140は、キュー管理部200のシェーパ監視部270から、各シェーパの使用率の情報を継続的に取得する。使用率が所定の閾値を超えた場合、そのシェーパが輻輳していると判断する。使用率の閾値は、全シェーパに共通の値を用いてもよいし、シェーパ毎に異なる値を用いてもよい。
あるシェーパで輻輳が発生した場合、輻輳検出部140は、そのシェーパに対応するキュー、すなわち、そのシェーパにパケットを流入させている1またはそれ以上のキューを特定すると共に、適用するRED回路を選択する。そして、選択したRED回路にキューを通知すると共に、振分部110にキューとRED回路との対応関係を通知する。また、輻輳検出部140は、キュー管理部200のキュー監視部260からキュー長の情報を継続的に取得し、選択したRED回路に出力する。
ここで、所定のキューを、パケット廃棄の適用対象外として設定しておくことも可能である。例えば、高優先度のキューを適用対象外に設定することが考えられる。その場合、輻輳検出部140は、適用対象外のキューを除いて、振分部110および選択したRED回路にキューを通知する。また、輻輳検出部140は、あるシェーパで輻輳が解消した場合、そのシェーパに対応するキューと適用されているRED回路とを特定し、振分部110にキューとRED回路との対応付けの解除を指示する。
このように、シェーパの使用率の情報に基づいて輻輳検出を行うことで、輻輳の発生および解消を迅速に検出できる。一方、キュー長の情報に基づいて輻輳検出を行うことも可能である。その場合、輻輳検出部140は、シェーパ毎にそのシェーパに対応する1またはそれ以上のキューのキュー長の合計値を算出する。そして、キュー長の合計値が所定の閾値を超えた場合、そのシェーパが輻輳していると判断する。この方法では、キュー管理部200にシェーパ監視部270を設けなくてもよい。よって、回路規模を抑制することができる。
記憶部150は、輻輳検出部140の処理に使用される各種の情報を記憶する。記憶部150としては、例えば、不揮発性メモリを使用する。記憶部150に記憶される情報には、各シェーパに対応するキューを示す情報や、RED回路120,120a,120bを適用しているキューを示す情報が含まれる。後者の情報は、輻輳検出部140によって適宜書き換えられる。
図6は、シェーパテーブルのデータ構造例を示す図である。図6に示すシェーパテーブル151は、廃棄制御部100の記憶部150に記憶されている。シェーパテーブル151は、シェーパID(IDentification)、上流シェーパ、下流シェーパ、キューおよび輻輳フラグを示す項目を含む。各項目の横方向に並べられた情報同士が互いに関連付けられて、各シェーパについてのシェーパ情報を構成する。
シェーパIDの項目には、シェーパを識別するための識別情報が設定される。上流シェーパの項目には、そのシェーパの上流側(キュー220,220a,220b,220c,220d,220eに近い側)に接続された他のシェーパの識別情報が設定される。下流シェーパの項目には、そのシェーパの下流側(出力先の通信ポートに近い側)に接続された他のシェーパの識別情報が設定される。キューの項目には、そのシェーパに直接接続されているキューの識別情報が設定される。輻輳フラグの項目には、輻輳しているか否かを示す値が設定される。輻輳している場合は1、輻輳していない場合は0が設定される。
例えば、シェーパID=S7、上流シェーパ=S2,S3、下流シェーパ=S9、輻輳フラグ=0というシェーパ情報が、シェーパテーブル151に格納されている。これは、シェーパ250の上流側にシェーパ230a,230bが接続されると共に、下流側にシェーパ250bが接続されており、シェーパ250が輻輳していないことを示している。なお、輻輳フラグの項目の情報は、輻輳検出部140によって適宜書き換えられる。
図7は、RED回路テーブルのデータ構造例を示す図である。図7に示すRED回路テーブル152は、廃棄制御部100の記憶部150に記憶されている。RED回路テーブル152は、回路ID、シェーパおよびキューを示す項目を含む。各項目の横方向に並べられた情報同士が互いに関連付けられて、各RED回路についてのRED回路情報を構成する。
回路IDの項目には、RED回路120,120a,120bを識別するための識別情報が設定される。シェーパの項目には、そのRED回路が適用されているシェーパ、すなわち、そのRED回路が輻輳を解消しようとしているシェーパの識別情報が設定される。キューの項目には、そのRED回路が適用されているキューの識別情報が設定される。
例えば、回路ID=RED3、シェーパ=S8、キュー=Q4,Q5,Q6というRED回路情報が、RED回路テーブル152に格納される。これは、シェーパ250aの輻輳を解消するためにRED回路120bが使用されており、RED回路120bがキュー220c,220d,220e宛てのパケットを処理することを示している。なお、シェーパおよびキューの項目の情報は、輻輳検出部140によって適宜書き換えられる。
図8は、平均キュー長と廃棄率との関係を示すグラフである。RED回路120の廃棄率算出部122は、図8に示すようなグラフ(確率曲線)に従って、平均キュー長算出部121で算出された平均キュー長から廃棄率を決定する。RED回路120a,120bにおいても同様の制御が行われる。
具体的には、平均キュー長が閾値Tmin以下のときは、廃棄率が0に設定される。平均キュー長が閾値Tminより大きく閾値Tmax(Tmin<Tmax)未満のときは、廃棄率が平均キュー長に比例する確率P(0<P<Pmax<1)に設定される。平均キュー長が閾値Tmaxのときは、廃棄率がPmaxに設定される。平均キュー長が閾値Tmaxより大きいときは、廃棄率が1に設定される。
すなわち、平均キュー長が閾値Tmin以下のときは、入力されるパケットは廃棄されずに、全てRED回路120,120a,120bを通過する。平均キュー長が閾値Tmaxより大きいときは、入力されるパケットは全て廃棄され、RED回路120,120a,120bを通過しない。平均キュー長が閾値Tminより大きく閾値Tmax以下のときは、入力されるパケットの一部がランダムに廃棄され、残りのパケットがRED回路120,120a,120bを通過する。
なお、RED回路120,120a,120bは、キュー220,220a,220b,220c,220d,220eの任意の組み合わせに対して、共通の確率曲線を使用してもよいし、組み合わせに応じて異なる確率曲線を使用してもよい。
図9は、輻輳発生時の処理を示すフローチャートである。以下、図9に示す処理をステップ番号に沿って説明する。
(ステップS11)輻輳検出部140は、輻輳していないシェーパ、すなわち、シェーパテーブル151で輻輳フラグがOFF(0)であるシェーパを監視し、輻輳が発生したシェーパを検出する。輻輳検出部140は、例えば、使用率が所定の閾値を超えたシェーパを、輻輳が発生したと判断する。または、対応するキュー(そのシェーパにパケットを流入させているキュー)のキュー長の合計値が所定の閾値を超えたシェーパを、輻輳が発生したと判断する。
(ステップS12)輻輳検出部140は、シェーパテーブル151において、ステップS11で検出したシェーパの輻輳フラグを、OFF(0)からON(1)に変更する。
(ステップS13)輻輳検出部140は、シェーパテーブル151を検索し、ステップS11で検出したシェーパの下流、すなわち、そのシェーパと通信ポートとの間に、輻輳しているシェーパが存在するか否か判断する。下流に輻輳しているシェーパがある場合、処理を終了する。輻輳しているシェーパがない場合、処理をステップS14に進める。
(ステップS14)輻輳検出部140は、シェーパテーブル151を検索し、ステップS11で検出したシェーパの上流、すなわち、対応するキューとそのシェーパとの間に、輻輳しているシェーパが存在するか否か判断する。上流に輻輳しているシェーパがある場合、処理をステップS15に進める。輻輳しているシェーパがない場合、処理をステップS16に進める。
(ステップS15)輻輳検出部140は、RED回路テーブル152を検索し、上流の輻輳しているシェーパに適用されているRED回路を特定する。そして、特定したRED回路を解放する。具体的には、輻輳検出部140は、RED回路テーブル152から、特定したRED回路に対応付けられているシェーパの識別情報およびキューの識別情報を削除する。また、上流の輻輳しているシェーパに対応するキューと特定したRED回路との対応付けを解除するよう、振分部110に指示する。なお、上流の輻輳しているシェーパが複数ある場合、シェーパ毎に処理を行う。
(ステップS16)輻輳検出部140は、RED回路テーブル152を検索し、RED回路120,120a,120bのうち空きのRED回路があるか否か判断する。シェーパの項目およびキューの項目が空欄であるRED回路を、空きのRED回路と判断することができる。空きのRED回路がある場合、処理をステップS17に進める。空きのRED回路がない場合、処理を終了する。
(ステップS17)輻輳検出部140は、ステップS11で検出したシェーパを対象としてRED回路を適用する。処理の詳細は後述する。
このようにして、廃棄制御部100は、シェーパの使用状況またはキューの滞留状況に基づいて、シェーパ単位で輻輳状態を検出する。輻輳の発生したシェーパがあると、そのシェーパを対象としてRED回路を適用する。
ただし、下流に輻輳しているシェーパがある場合は、新たにRED回路を適用しない。検出されたシェーパに対応するキューは、下流のシェーパに適用されているRED回路によって既にカバーされているためである。また、上流に輻輳しているシェーパがある場合は、上流のシェーパに適用されているRED回路を解放する。検出されたシェーパに適用するRED回路によって、上流のシェーパに対応するキューがカバーされるからである。このように、上流・下流の関係にある複数のシェーパが輻輳している場合、下流側のシェーパを対象としてRED回路が適用される。
なお、図9のフローチャートでは、上流のシェーパに適用されているRED回路を解放した後、検出されたシェーパに適用するRED回路を選択しているが、空きのRED回路があれば両者の順序が逆でもよい。また、上流のシェーパに適用されているRED回路の1つを、検出されたシェーパに適用するRED回路として流用してもよい。
図10は、RED回路適用の処理を示すフローチャートである。この処理は、上記ステップS17で実行される。以下、図10に示す処理をステップ番号に沿って説明する。
(ステップS101)輻輳検出部140は、RED回路テーブル152を検索し、空きのRED回路の中から、上記ステップS11で検出されたシェーパに適用するRED回路を選択する。適用するRED回路は、ランダムに選択してもよいし、所定の規則に従って選択してもよい。後者の方法として、例えば、RED回路120,120a,120bの優先順位を予め決めておく、シェーパ毎に優先順位を決めておく、各RED回路の使用率が偏らないように選択する、などの方法が考えられる。
(ステップS102)輻輳検出部140は、シェーパテーブル151を検索して、検出されたシェーパに対応する1またはそれ以上のキューを特定する。そして、輻輳検出部140は、RED回路テーブル152に、ステップS101で選択したRED回路に対応付けて、検出されたシェーパの識別情報と特定したキューの識別情報とを登録する。また、選択したRED回路に、特定したキューを通知する。以下では、RED回路120が選択された場合を考える。
(ステップS103)平均キュー長算出部121は、輻輳検出部140から通知されたキューのキュー長の情報を取得し始める。そして、直近の一定時間の平均キュー長を算出する。ここで、通知されたキューが複数ある場合、各キューのキュー長の合計値を、複数のキュー全体に対する仮想的なキュー長と見なす。または、各キューのキュー長の最大値を仮想的なキュー長と見なす。そして、仮想的なキュー長を時間平均したものを平均キュー長として算出する。ただし、他の方法で平均キュー長を算出してもよい。
(ステップS104)廃棄率算出部122は、ステップS103で平均キュー長算出部121によって算出された平均キュー長から、パケットの廃棄率を算出する。例えば、図8に示したような確率曲線に基づいて算出することができる。確率曲線は、パケット廃棄の対象のキューまたはシェーパに応じて異なるものを使用してもよい。
(ステップS105)輻輳検出部140は、ステップS102で特定されたキュー宛てのパケットをRED回路120に振り分けるよう、振分部110に指示する。パケット廃棄部123は、ステップS104で廃棄率算出部122によって算出された廃棄率に従って、振分部110から取得するパケットを確率的に廃棄すると共に、廃棄しなかったパケットを集約部130に出力する。
このようにして、廃棄制御部100は、輻輳が発生したシェーパに適用するRED回路を、ストックされているRED回路120,120a,120bの中から選択する。選択されたRED回路は、輻輳が発生したシェーパに対応するキューの滞留状態に応じて廃棄率を算出し、それらキュー宛てのパケットを算出した廃棄率で確率的に廃棄する。なお、パケット廃棄の開始後、平均キュー長の算出および廃棄率の算出は継続的(例えば、定期的)に行い、キュー状態の変化に応じて廃棄率を変更することが好ましい。
図11は、輻輳解消時の処理を示すフローチャートである。以下、図11に示す処理をステップ番号に沿って説明する。
(ステップS21)輻輳検出部140は、輻輳しているシェーパ、すなわち、シェーパテーブル151で輻輳フラグがON(1)であるシェーパを監視し、輻輳が解消したシェーパを検出する。輻輳検出部140は、例えば、使用率が所定の閾値以下になったシェーパを、輻輳が解消したと判断する。または、対応するキューのキュー長の合計値が所定の閾値以下になったシェーパを、輻輳が解消したと判断する。なお、輻輳の発生を検出するための閾値と輻輳の解消を検出するための閾値とは、異なる閾値にすることができる。その場合、例えば、後者の閾値を前者の閾値よりも低く設定することが考えられる。
(ステップS22)輻輳検出部140は、シェーパテーブル151において、ステップS21で検出したシェーパの輻輳フラグを、ON(1)からOFF(0)に変更する。
(ステップS23)輻輳検出部140は、RED回路テーブル152を検索し、検出されたシェーパに対してRED回路が適用されているか否か判断する。RED回路が適用されている場合、処理をステップS24に進める。RED回路が適用されていない場合、処理を終了する。
(ステップS24)輻輳検出部140は、検出されたシェーパに適用されているRED回路を特定する。そして、特定したRED回路を解放する。具体的には、輻輳検出部140は、RED回路テーブル152から、検出されたシェーパの識別情報および対応するキューの識別情報を削除する。また、検出されたシェーパに対応するキューと特定したRED回路との対応付けを解除するよう、振分部110に指示する。
(ステップS25)輻輳検出部140は、シェーパテーブル151を検索し、検出されたシェーパの上流、すなわち、対応するキューとそのシェーパとの間に、輻輳しているシェーパが存在するか否か判断する。上流に輻輳しているシェーパがある場合、処理をステップS26に進める。輻輳しているシェーパがない場合、処理を終了する。
(ステップS26)輻輳検出部140は、上流の輻輳しているシェーパのうち、最も下流側に位置する1またはそれ以上のシェーパを選択する。そして、選択したシェーパそれぞれを対象としてRED回路を適用する。図10に示したフローと同様のフローにより、RED回路を適用することができる。
このようにして、廃棄制御部100は、シェーパの使用状況またはキューの滞留状況に基づいて、シェーパ単位で輻輳状態を検出する。輻輳が解消したシェーパがあると、そのシェーパに適用されているRED回路を解放する。
ここで、上流に輻輳しているシェーパがある場合は、上流のシェーパにRED回路を適用する。輻輳が解消したシェーパにRED回路が適用されなくなると、上流のシェーパに対応するキューがRED回路によってカバーされなくなるためである。このように、上流・下流の関係にある複数のシェーパがあり下流側のシェーパのみ輻輳が解消すると、RED回路の適用対象が上流側にシフトする。
なお、図11のフローチャートでは、輻輳が解消したシェーパに適用されているRED回路を解放した後、上流のシェーパに適用するRED回路を選択しているが、空きのRED回路があれば両者の順序が逆でもよい。また、輻輳が解消したシェーパに適用されているRED回路を、上流のシェーパに適用するRED回路として流用してもよい。
図12は、パケットの振り分け例を示す第1の図である。シェーパ230cで輻輳が発生し、シェーパ230d,230eとシェーパ250aを含む下流のシェーパでは輻輳が発生していないとする。すると、シェーパ230cに対してRED回路120,120a,120bの何れかが適用される。ここでは、RED回路120bが適用されたとする。
この場合、振分部110により、キュー220c宛てのパケットが、RED回路120bに振り分けられる。RED回路120bでは、キュー220cの平均キュー長に基づいて廃棄率が算出される。そして、キュー220c宛てのパケットが確率的に廃棄される。廃棄されなかったパケットは、キュー220cに格納される。一方、キュー220d,220e宛てのパケットは、RED回路120bを迂回して通過し、キュー220d,220eに格納される。
図13は、パケットの振り分け例を示す第2の図である。シェーパ230cに加えて、シェーパ250aで輻輳が発生し、シェーパ250aより下流のシェーパでは輻輳が発生していないとする。すると、シェーパ250aに対してRED回路120,120a,120bの何れかが適用される。シェーパ230cに対しては、RED回路を適用しなくてよい。ここでは、シェーパ250aに対してRED回路120bが適用されたとする。
この場合、振分部110により、キュー220c,220d,220e宛てのパケットが、RED回路120bに振り分けられる。RED回路120bでは、キュー220c,220d,220eの平均キュー長に基づいて廃棄率が算出される。そして、キュー220c,220d,220e宛てのパケットが確率的に廃棄される。廃棄されなかったパケットは、キュー220c,220d,220eに格納される。
図14は、パケットの振り分け例を示す第3の図である。図13の場合と同様、シェーパ230c,250aで輻輳が発生し、シェーパ250aより下流のシェーパでは輻輳が発生していないとする。すると、シェーパ250aに対してRED回路120,120a,120bの何れかが適用される。ここでは、RED回路120bが適用されたとする。ただし、キュー220eが、予めパケット廃棄の対象外として設定されているとする。
この場合、振分部110により、キュー220c,220d宛てのパケットが、RED回路120bに振り分けられる。RED回路120bでは、キュー220c,220dの平均キュー長に基づいて廃棄率が算出される。そして、キュー220c,220d宛てのパケットが確率的に廃棄される。廃棄されなかったパケットは、キュー220c,220dに格納される。一方、キュー220e宛てのパケットは、RED回路適用の対象外であるため、RED回路120bを迂回して通過し、キュー220eに格納される。
図15は、RED回路とキューとの対応付け例を示す図である。ここでは、シェーパ230aで輻輳が発生し、シェーパ230aより下流のシェーパ250,250b,250cでは輻輳が発生していない。また、シェーパ230c,250aで輻輳が発生し、シェーパ250aより下流のシェーパ250b、250cでは輻輳が発生していない。
そこで、例えば、シェーパ230aとシェーパ250aに対して、それぞれ、RED回路120とRED回路120bが適用される。この場合、RED回路120は、キュー220a宛てのパケットを取得し、取得したパケットを確率的に廃棄する。RED回路120bは、キュー220c,220d,220e宛てのパケットを取得し、取得したパケットを確率的に廃棄する。
このような第2の実施の形態に係る中継装置10,10a,10bによれば、輻輳が発生したシェーパに対応する1またはそれ以上のキューを、ストックしてある複数のRED回路の何れかに動的に対応付けることができる。これにより、複数のキューに対するパケット廃棄の制御を効率的に実現することができる。
すなわち、全てのキューについて固定的にRED回路を対応付けておく方法と比べて、回路規模を抑制することができる。また、一部のキューにのみ固定的にRED回路を対応付けておく方法と比べて、多くのキューをRED処理の対象とすることができ、通信品質の劣化を抑制できる。
また、輻輳が発生したシェーパに対応する1またはそれ以上のキュー、すなわち、その輻輳に関与していると考えられるキューを、仮想的な1つのキューと見なしてRED回路を適用する。このため、輻輳に関与していないキュー宛てのパケットを過剰に廃棄してしまう可能性を低減できると共に、RED回路とパケット廃棄の対象とすることが好ましいキューとの対応付けの制御が容易になる。
また、各シェーパのパケットの通過状況に基づいて輻輳を検出することで、迅速な輻輳検出が可能となる。一方、各シェーパに対応するキューにおけるパケットの滞留状況に基づいて輻輳を検出することで、回路の簡素化を図ることができる。また、複数のキューに対する平均キュー長を算出する際に、各キューのキュー長の合計値を仮想的なキュー長と見なすことで、平均キュー長の算出精度を向上できる。一方、最大のキュー長を仮想的なキュー長と見なすことで、負荷の軽減および回路の簡素化を図ることができる。また、特定のキューをパケット廃棄の対象外に設定することで、より柔軟なQoS制御ができる。
なお、第2の実施の形態では、RED回路とシェーパとが動的に1対1に対応付けられる。これにより、特定のシェーパの輻輳を解消するための制御が容易となる。ただし、RED回路が不足した場合、RED回路とシェーパとが動的に1対多に対応付けられるようにしてもよい。すなわち、1つのRED回路が複数のシェーパを担当してもよい。
1 パケット中継装置
1a,1b,1c キュー
1d 輻輳検出部
1e 振分部
1f 廃棄部

Claims (10)

  1. 送信待ちのパケットを格納する複数のキューと、
    前記複数のキューの輻輳状態を検出し、前記輻輳状態に基づいて前記複数のキューから1またはそれ以上のキューを選択する輻輳検出部と、
    前記複数のキューに格納される前の一連のパケットから、前記輻輳検出部で選択された前記1またはそれ以上のキュー宛てのパケットを分離する振分部と、
    前記振分部で分離された前記1またはそれ以上のキュー宛てのパケットを、それぞれ所定の確率で廃棄する複数の廃棄部と、
    を有し、
    前記振分部は、前記複数の廃棄部のいずれかに前記パケットを割り振り、
    前記廃棄部毎の確率で前記パケットが廃棄される
    ことを特徴とするパケット中継装置。
  2. 前記複数のキューの一部にそれぞれ対応しており、対応するキューに格納されたパケットの送信タイミングを制御する複数のシェーパを更に有し、
    前記輻輳検出部は、シェーパ単位で前記輻輳状態を検出し、輻輳していると判断されたシェーパに対応するキューを前記1またはそれ以上のキューとして選択す
    ことを特徴とする請求項1記載のパケット中継装置。
  3. 送信待ちのパケットを格納する複数のキューと、
    前記複数のキューの輻輳状態を検出し、前記輻輳状態に基づいて前記複数のキューから1またはそれ以上のキューを選択する輻輳検出部と、
    前記複数のキューに格納される前の一連のパケットから、前記輻輳検出部で選択された前記1またはそれ以上のキュー宛てのパケットを分離する振分部と、
    前記振分部で分離された前記1またはそれ以上のキュー宛てのパケットを、それぞれ所定の確率で廃棄する廃棄部と、
    前記複数のキューの一部にそれぞれ対応しており、対応するキューに格納されたパケットの送信タイミングを制御する複数のシェーパと、
    を有し、
    前記輻輳検出部は、各シェーパにおけるパケットの通過状況に基づいて前記輻輳状態を検出し、輻輳していると判断されたシェーパに対応するキューを前記1またはそれ以上のキューとして選択する
    ことを特徴とするパケット中継装置。
  4. 前記輻輳検出部は、各シェーパに対応するキューにおけるパケットの滞留状況に基づいて前記輻輳状態を検出する
    ことを特徴とする請求項2に記載のパケット中継装置。
  5. 前記複数のシェーパは、第1のシェーパと、前記第1のシェーパを通過したパケットが入力される第2のシェーパとを含み、
    前記輻輳検出部は、前記第1のシェーパと前記第2のシェーパとが輻輳していると判断された場合、前記第2のシェーパに対応するキューを前記1またはそれ以上のキューとして選択す
    ことを特徴とする請求項2乃至4の何れか一項に記載のパケット中継装置。
  6. 前記輻輳検出部で選択された前記1またはそれ以上のキューにおけるパケットの滞留状況を算出する算出部を更に有し、
    前記廃棄部は、前記算出部で算出された前記滞留状況に応じた廃棄率を前記所定の確率として使用す
    ことを特徴とする請求項1乃至5の何れか一項に記載のパケット中継装置。
  7. 前記算出部は、前記1またはそれ以上のキューそれぞれのキュー長の合計に基づいて、前記滞留状況を算出する
    ことを特徴とする請求項6記載のパケット中継装置。
  8. 送信待ちのパケットを格納する複数のキューと、
    前記複数のキューの輻輳状態を検出し、前記輻輳状態に基づいて前記複数のキューから1またはそれ以上のキューを選択する輻輳検出部と、
    前記複数のキューに格納される前の一連のパケットから、前記輻輳検出部で選択された前記1またはそれ以上のキュー宛てのパケットを分離する振分部と、
    前記振分部で分離された前記1またはそれ以上のキュー宛てのパケットを、それぞれ所定の確率で廃棄する廃棄部と、
    前記輻輳検出部で選択された前記1またはそれ以上のキューにおけるパケットの滞留状況を算出する算出部と、
    を有し、
    前記算出部は、前記1またはそれ以上のキューそれぞれのキュー長のうち最大のキュー長に基づいて、前記滞留状況を算出し、
    前記廃棄部は、前記算出部で算出された前記滞留状況に応じた廃棄率を前記所定の確率として使用する
    ことを特徴とするパケット中継装置。
  9. 前記輻輳検出部は、前記輻輳状態に拘わらず、前記複数のキューのうち所定のキューを選択対象から除外する
    ことを特徴とする請求項1乃至8の何れか一項に記載のパケット中継装置。
  10. 送信待ちのパケットを格納する複数のキューの輻輳状態を検出し、前記輻輳状態に基づいて前記複数のキューから1またはそれ以上のキューを選択し、
    前記複数のキューに格納される前の一連のパケットから、選択した前記1またはそれ以上のキュー宛てのパケットを分離し、
    分離した前記1またはそれ以上のキュー宛てのパケットを、それぞれ所定の確率で廃棄する複数の廃棄部のいずれかに割り振り
    前記廃棄部毎の確率で前記パケットが廃棄される
    ことを特徴とする輻輳制御方法。
JP2009194422A 2009-08-25 2009-08-25 パケット中継装置および輻輳制御方法 Expired - Fee Related JP5365415B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009194422A JP5365415B2 (ja) 2009-08-25 2009-08-25 パケット中継装置および輻輳制御方法
US12/862,420 US8553538B2 (en) 2009-08-25 2010-08-24 Packet relay device and congestion control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009194422A JP5365415B2 (ja) 2009-08-25 2009-08-25 パケット中継装置および輻輳制御方法

Publications (2)

Publication Number Publication Date
JP2011049658A JP2011049658A (ja) 2011-03-10
JP5365415B2 true JP5365415B2 (ja) 2013-12-11

Family

ID=43624760

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009194422A Expired - Fee Related JP5365415B2 (ja) 2009-08-25 2009-08-25 パケット中継装置および輻輳制御方法

Country Status (2)

Country Link
US (1) US8553538B2 (ja)
JP (1) JP5365415B2 (ja)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010089886A1 (ja) * 2009-02-06 2010-08-12 富士通株式会社 パケットバッファ装置及びパケット廃棄方法
JP5340186B2 (ja) * 2010-01-21 2013-11-13 アラクサラネットワークス株式会社 パケット中継装置及びパケットを中継する方法
JP5498889B2 (ja) * 2010-08-06 2014-05-21 アラクサラネットワークス株式会社 パケット中継装置および輻輳制御方法
US8514700B2 (en) * 2010-10-29 2013-08-20 Alcatel Lucent MLPPP occupancy based round robin
JP5625997B2 (ja) * 2011-02-23 2014-11-19 富士通株式会社 通信システムおよび伝送装置
JP5709210B2 (ja) * 2011-03-16 2015-04-30 日本電気通信システム株式会社 パケット交換装置、マルチコアプロセッサ、パケット交換方法、パケット制御方法、プログラム
US8705363B2 (en) * 2011-04-05 2014-04-22 Telefonaktiebolaget L M Ericsson (Publ) Packet scheduling method and apparatus
US8693489B2 (en) * 2011-04-28 2014-04-08 Alcatel Lucent Hierarchical profiled scheduling and shaping
GB201111106D0 (en) * 2011-06-30 2011-08-10 Xelerated Ab Method, network device, computer program and computer program product for communication queue state
JP5710418B2 (ja) * 2011-08-08 2015-04-30 アラクサラネットワークス株式会社 パケット中継装置、及び方法
JP5611171B2 (ja) * 2011-11-02 2014-10-22 株式会社日立製作所 パケット処理方法及びパケット処理装置
JP6004391B2 (ja) * 2012-05-14 2016-10-05 日本電信電話株式会社 シンクノード装置、ストレージサーバ装置、データ収集システム、データ収集方法、及びプログラム
US8797852B2 (en) * 2012-06-11 2014-08-05 Alcatel Lucent Dynamical bandwidth adjustment of a link in a data network
US9059915B2 (en) 2012-08-31 2015-06-16 Cisco Technology, Inc. Multicast replication skip
US8958329B2 (en) * 2012-11-20 2015-02-17 Cisco Technology, Inc. Fabric load balancing
US10122645B2 (en) 2012-12-07 2018-11-06 Cisco Technology, Inc. Output queue latency behavior for input queue based device
US9628406B2 (en) 2013-03-13 2017-04-18 Cisco Technology, Inc. Intra switch transport protocol
US9860185B2 (en) 2013-03-14 2018-01-02 Cisco Technology, Inc. Intra switch transport protocol
JP6303333B2 (ja) * 2013-08-28 2018-04-04 富士通株式会社 無線通信装置および制御方法
JP6127857B2 (ja) * 2013-09-17 2017-05-17 富士通株式会社 トラフィック制御装置
US10305762B2 (en) * 2014-12-19 2019-05-28 Oracle International Corporation Techniques for determining queue backlogs, active counts, and external system interactions in asynchronous systems
US10230600B2 (en) 2014-12-19 2019-03-12 Oracle International Corporation Performance analysis and bottleneck detection in service-oriented applications
US10587526B2 (en) * 2016-05-30 2020-03-10 Walmart Apollo, Llc Federated scheme for coordinating throttled network data transfer in a multi-host scenario
US11171890B1 (en) 2018-12-28 2021-11-09 Innovium, Inc. Reducing power consumption in an electronic device
US11599644B2 (en) 2019-05-17 2023-03-07 Walmart Apollo, Llc Blocking insecure code with locking
JP7441024B2 (ja) * 2019-10-21 2024-02-29 アラクサラネットワークス株式会社 転送装置、転送システム、および転送プログラム

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3711752B2 (ja) * 1998-07-09 2005-11-02 株式会社日立製作所 パケット通信装置
JP3394478B2 (ja) 1999-10-01 2003-04-07 日本電気通信システム株式会社 Redによる輻輳回避装置及びその方法
JP4484317B2 (ja) 2000-05-17 2010-06-16 株式会社日立製作所 シェーピング装置
EP1327333B1 (en) * 2000-10-03 2007-08-01 U4EA Technologies Limited Filtering data flows
JP3526269B2 (ja) 2000-12-11 2004-05-10 株式会社東芝 ネットワーク間中継装置及び該中継装置における転送スケジューリング方法
JP2002330165A (ja) 2001-04-27 2002-11-15 Fujitsu Ltd 輻輳制御装置
TWI227080B (en) * 2001-05-31 2005-01-21 Via Tech Inc Network switch providing congestion control and method thereof
JP2004104417A (ja) 2002-09-09 2004-04-02 Sony Corp データ中継装置、および中継データ制御方法、並びにコンピュータ・プログラム
JP3788803B2 (ja) * 2002-10-30 2006-06-21 富士通株式会社 L2スイッチ
US7768919B1 (en) * 2003-04-28 2010-08-03 Verizon Laboratories Inc. Selective packet discard apparatus and method
US20050147032A1 (en) * 2003-12-22 2005-07-07 Lyon Norman A. Apportionment of traffic management functions between devices in packet-based communication networks
GB0413482D0 (en) * 2004-06-16 2004-07-21 Nokia Corp Packet queuing system and method
US7809009B2 (en) * 2006-02-21 2010-10-05 Cisco Technology, Inc. Pipelined packet switching and queuing architecture
US7936678B2 (en) * 2006-09-13 2011-05-03 Nokia Corporation Energy aware early detection
US8467295B2 (en) * 2008-08-21 2013-06-18 Contextream Ltd. System and methods for distributed quality of service enforcement

Also Published As

Publication number Publication date
US20110051604A1 (en) 2011-03-03
US8553538B2 (en) 2013-10-08
JP2011049658A (ja) 2011-03-10

Similar Documents

Publication Publication Date Title
JP5365415B2 (ja) パケット中継装置および輻輳制御方法
US11095561B2 (en) Phantom queue link level load balancing system, method and device
US7701849B1 (en) Flow-based queuing of network traffic
US6765905B2 (en) Method for reducing packet data delay variation in an internet protocol network
US10601714B2 (en) Adaptive flow prioritization
EP1239637B1 (en) Time based packet scheduling and sorting system
US8576863B2 (en) Coordinated queuing between upstream and downstream queues in a network device
US8144588B1 (en) Scalable resource management in distributed environment
US20130343398A1 (en) Packet-based communication system with traffic prioritization
JP2002208937A (ja) フロー制御装置およびノード装置
US8588070B2 (en) Method for scheduling packets of a plurality of flows and system for carrying out the method
JP3687501B2 (ja) パケット交換機の送信キュー管理システム及び管理方法
US6771601B1 (en) Network switch having source port queuing and methods, systems and computer program products for flow level congestion control suitable for use with a network switch having source port queuing
CA2462793C (en) Distributed transmission of traffic streams in communication networks
CN102594669A (zh) 数据报文的处理方法、装置及设备
US7289525B2 (en) Inverse multiplexing of managed traffic flows over a multi-star network
JP5307745B2 (ja) トラヒック制御システムと方法およびプログラムならびに通信中継装置
US7619971B1 (en) Methods, systems, and computer program products for allocating excess bandwidth of an output among network users
CN106453141B (zh) 全局队列调整方法、业务流队列调整方法和网络系统
KR20090060108A (ko) 패킷 스케줄링 장치 및 방법
JP2003023460A (ja) レート制御装置
JP2003023450A (ja) レート制御装置
JP2003023455A (ja) レート制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120510

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130307

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130416

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130605

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130826

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees