輻輳制御とは? わかりやすく解説

輻輳制御

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2025/04/19 19:24 UTC 版)

輻輳制御(ふくそうせいぎょ、: congestion control)は、電気通信においてトラフィックを制御し、例えばパケットの転送レートを削減するなどして中間ノードやネットワークの許容量(処理能力やリンク数)を超過することによる輻輳さらには輻輳崩壊を防ぐことである。受信側が受信バッファの容量を超えてしまう処理超過を防ぐフロー制御とは異なる概念である。

概要

バックプレッシャー、チョークパケット、暗黙の輻輳信号は輻輳制御技術である[1]

バックプレッシャーとは、ソフトウェアの世界では、下流の力を「押し戻す」ためにシステムが実行するアクションを指す[2]

チョークパケットは、ネットワークでイベントや災害時に発生する、通信要求過多により、通信が成立しにくくなる現象における伝送制御単位である。コンピュータなどの装置で生成され、トラフィックフローを制限するために送信元装置に返送される制御単位である[1]

暗黙の輻輳信号となる場合は、送信元が遅延の増加とパケットの破棄を検出できる場合である[3]

理論

輻輳制御の現代的理論は、Frank Kelly が先駆者である。彼は、ミクロ経済学凸最適化理論を応用して、個々が自分のレートを制御することで最適なネットワーク転送レートを達成できることを示した。

最適な転送レートの例として、Max-Min公平性や Kelly が示唆した比例公平性があるが、他にもいろいろなものが考えられる。

最適転送レートの割り当てを数式で表すと次のようになる。フロー の転送レートを 、リンク の容量を とし、フロー がリンク を使う場合 を 1 とし、そうでなければ 0 とする。 を対応するベクトルおよび行列とする。 が増大する厳密な凸関数だとする。この関数を効用と呼び、あるユーザーがレート で送信したときに得られる利益を数値化したものである。最適な転送レートの割り当ては、以下を満たす。

ここで

この問題のラグランジュ双対は切り離され、各フローはネットワークにより伝えられた「価格」にのみ基づいて自身の転送レートを決定する。各リンクの容量が制約となり、ラグランジュ乗数 が得られる。その総和

がフローに対する価格になる。

従って、輻輳制御とはこの問題を解く分散最適化アルゴリズムに他ならない。現在使われている輻輳制御の多くはこのフレームワークでモデル化でき、 は損失確率とされたり、リンク における遅延とされたりする。

このモデルの弱点は、全てのフローが同じ価格であると仮定する点である。実際にはフロー制御のウィンドウをスライドさせるとバースト的な転送が発生し、あるリンクでの損失や遅延が変化し、フローも変化する。

輻輳制御アルゴリズムの分類

輻輳制御アルゴリズムの分類法は以下のように様々である。

  • ネットワークから得られるフィードバックの型や量で分類する。損失、遅延、シングルビット、マルチビットなど。
  • 現在のインターネットからの増大時の対応によって分類する。送信側のみ修正が必要な場合、送信・受信双方で修正が必要な場合、ルーターのみ修正が必要な場合、送信側・受信側・ルーターで修正が必要な場合など。
  • 性能面の改善の程度によって分類する。高帯域遅延積ネットワーク、損失性リンク、公平性、短いフローが有利となるもの、可変レートリンクなど。
  • 使っている公平性基準によって分類する。Max-Min、比例、最小潜在遅延など。

脚注

  1. ^ a b Stallings, William (2016). Foundations of modern networking : SDN, NFV, QoE, IoT, and Cloud. Florence Agboma, Sofiene Jelassi. Indianapolis, Indiana. ISBN 978-0-13-417547-8. OCLC 927715441. https://www.worldcat.org/oclc/927715441 
  2. ^ Wu, Pei-Ming. “Preventing Systemic Failure: Backpressure—What It Is and How It Works - Glasnostic Blog” (英語). https://glasnostic.com. 2021年11月30日閲覧。
  3. ^ CAPTER 13 :CONGESTION CONTROL IN DATA NETWORK”. 2021年11月30日閲覧。

関連項目

外部リンク


輻輳制御

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/06/01 19:49 UTC 版)

Transmission Control Protocol」の記事における「輻輳制御」の解説

TCP高性能達成し輻輳崩壊ネットワーク性能が数オーダー低下する現象)を防ぐため、輻輳制御機構いくつか備えている。ネットワーク流入させるデータレートを制御し崩壊きっかけとなるようなレート未満データを送るよう保つ。また、おおまかに最大最小公平(英語版)なフロー割り当て目指す送信データへの ACK (確認応答)の有無は、送信側ネットワークの状態を推測する材料となる。これをタイマ組み合わせデータフロー振る舞い変化させることができる。これを一般に輻輳制御またはネットワーク輻輳回避などと呼ぶ。 最近TCP実装では、スロースタート英語版)、輻輳回避英語版)、TCP高速再送アルゴリズム英語版)、ファストリカバリ(en, RFC 5681) という4つ相互にからみあったアルゴリズム使用している。 スループットをあげるため輻輳しない限界まで送信側スライディングウィンドウ大きくする必要があるが、ウィンドウサイズ調整する輻輳回避アルゴリズム長年研究されている。一覧は w:TCP congestion avoidance algorithm参照かつては輻輳するとパケットロス発生することを利用しパケットロスベースにした TCP Reno およびそれを改良した TCP NewReno (RFC 3782) がよく使われていたが、現在では、送信側スライディングウィンドウにどれだけの時間とどまっていたかを元にしたアルゴリズム (Delay-based Congestion Avoidance) が中心になっており、Microsoft Windows では、Windows Vista 以降は、Compound TCP英語版) が採用されLinux では 2.6.8〜2.6.18 は BIC TCP英語版) が、2.6.19 以降CUBIC TCP英語版) が使われている。 さらに送信側には「再送タイムアウト (RTO)」があり、送信してから確認応答が戻るまでの時間であるラウンドトリップタイム (RTT) を推算し、ばらつき考慮して設定する。このタイマ動作RFC 2988 で規定されている。RTT推算には微妙な点がある。例えば、再送パケットRTT計算する場合注意しなければならず、一般にカーンアルゴリズム英語版)やTCPタイムスタンプRFC 1323 参照)を使う。個々RTT標本から時系列平均をとり、ジェイコブソンアルゴリズム使って Smoothed Round Trip Time (SRTT) を生成する最終的にSRTT値がRTT推算使われるTCP拡張して喪失高信頼に扱ったり、誤り最小化したり、輻輳制御してより高速化しようという試みが今も行われている。

※この「輻輳制御」の解説は、「Transmission Control Protocol」の解説の一部です。
「輻輳制御」を含む「Transmission Control Protocol」の記事については、「Transmission Control Protocol」の概要を参照ください。

ウィキペディア小見出し辞書の「輻輳制御」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「輻輳制御」の関連用語

輻輳制御のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



輻輳制御のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアの輻輳制御 (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、WikipediaのTransmission Control Protocol (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS