輻輳とは

輻輳は、ネットワーク通信において、送信されるデータ量が通信経路の処理能力や帯域幅を超え、パケットの遅延や消失が発生する混雑状態のことです。

道路における交通渋滞に例えられることが多く、特定の通信リンクやネットワーク機器にトラフィックが集中することで、システム全体のパフォーマンスが著しく低下する現象を指します。

輻輳が発生するメカニズム

ネットワーク上のルーターやスイッチには、受信したパケットを一時的に蓄えるためのキュー(バッファメモリ)が備わっています。

1. バッファの溢れ

流入するパケットの速度が送出速度を上回り続けると、キューが満杯になります。この状態をバッファオーバーフローと呼び、以降に到着したパケットは破棄(ドロップ)されます。

2. 再送による悪循環

パケットが消失すると、TCP(Transmission Control Protocol)などの信頼性を担保するプロトコルは、データの再送を試みます。しかし、混雑時に再送が繰り返されると、ネットワーク上のトラフィックがさらに増大し、輻輳が加速するという悪循環(輻輳崩壊)に陥ります。

輻輳制御のアルゴリズム

通信品質を維持するため、TCPにはネットワークの状況に応じて送信量を調整する「輻輳制御(Congestion Control)」機能が組み込まれています。

1. スロースタート

通信開始直後は少ないデータ量から送信を始め、正常な到達が確認されるたびに送信量を倍増させていく手法です。

2. 輻輳回避(Congestion Avoidance)

ある一定の閾値に達した後は、送信量の増加を緩やかにします。パケットの消失を検知した場合には、送信量を大幅に絞り込み、ネットワークの負荷を軽減します。

ネットワークの負荷と遅延の評価

ネットワークの利用効率を考える際、スループット $S$ とトラフィック密度 $\rho$ 、および平均遅延 $D$ の関係は重要な指標となります。

一般的に、トラフィック密度が1(100%)に近づくにつれ、待ち行列理論に基づき遅延は急激に増大します。

平均遅延 $D$ と回線利用率 $\rho$ の関係は、簡易的に以下の式で近似されることがあります。

D = \frac{1}{1 - \rho}

この式から、利用率 $\rho$ が1に近づくほど、分母が0に近づき、遅延 $D$ が無限大に発散することが数学的にも説明されます。そのため、実際のネットワーク設計では、輻輳を回避するために利用率を一定以下(例えば50%から70%程度)に抑えるよう帯域設計が行われます。

輻輳への対策技術

現代のネットワークでは、輻輳を未然に防ぎ、発生時の影響を最小限にするための技術が導入されています。

  • QoS(Quality of Service): 通信に優先順位を付け、音声通話やWeb会議などのリアルタイム性が重要なパケットを優先的に処理します。
  • トラフィックシェイピング: 送信パケットの速度を一定の平滑な流れに調整し、突発的なバーストトラフィックを抑制します。
  • RED(Random Early Detection): キューが完全に満杯になる前に、パケットをランダムに早期破棄することで、送信側に混雑の予兆を伝え、送信速度を自律的に下げさせます。

まとめ

輻輳はネットワークの物理的な制約と利用要求のギャップから生じる不可避な現象ですが、適切な設計と制御アルゴリズムの適用によって管理が可能です。クラウドサービスの普及やデータ通信量の増大に伴い、インフラエンジニアにとって輻輳の制御はシステムの可用性を左右する最重要課題の一つとなっています。

関連用語

パケット | 今更聞けないIT用語集
バッファオーバーフロー | 今更聞けないIT用語集
クラウドソリューション

お問い合わせ

システム開発・アプリ開発に関するご相談がございましたら、APPSWINGBYまでお気軽にご連絡ください。

APPSWINGBYの

ソリューション

APPSWINGBYのセキュリティサービスについて、詳しくは以下のメニューからお進みください。

システム開発

既存事業のDXによる新規開発、既存業務システムの引継ぎ・機能追加、表計算ソフトによる管理からの卒業等々、様々なWebシステムの開発を行っています。

iOS/Androidアプリ開発

既存事業のDXによるアプリの新規開発から既存アプリの改修・機能追加まで様々なアプリ開発における様々な課題・問題を解決しています。


リファクタリング

他のベンダーが開発したウェブサービスやアプリの不具合改修やソースコードの最適化、また、クラウド移行によってランニングコストが大幅にあがってしまったシステムのリアーキテクチャなどの行っています。