ネットワークのふくそうが起こると・・・

ネットワークが混雑している状態を「輻輳(ふくそう:Congestion)」といいます。ここでいうふくそうとは、キューの中からパケットをネットワーク上に転送するよりも、到着するパケットの数のほうが多く、どんどんキューにパケットがたまっていく状態を指しています。

ふくそうが発生すると、キューにパケットがたまっていきますが、キューは有限です。キューがパケットでいっぱいになってしまうと、新しく到着したパケットはキューに入りきらず破棄されます。これをテイルドロップ(Tail Drop)といいます。つまり、ふくそう状態になると、テイルドロップされパケットが失われます。



※図をクリックすると拡大します

グローバルシンクロナイぜーション

そして、テイルドロップが発生している状態になると、新しく到着するパケットの優先度は一切考慮せずにすべて破棄されます。

また、TCPを利用しているアプリケーションなら、テイルドロップが発生し、パケットが破棄されるとふくそうが起こっていることを認識します。TCPにはふくそう回避機能が備わっており、ふくそうを認識すると送信元が送信レートを下げます。

ネットワーク上にたくさんのTCPを利用するアプリケーションが存在する場合、テイルドロップによってそれらのパケットがすべて破棄されます。すると、破棄されたすべてのアプリケーションの送信元で一気に送信レートが下げられます。この現象をグローバルシンクロナイゼーションと呼びます。

グローバルシンクロナイゼーションが発生すれば、多くのアプリケーションで一度に送信レートが下げられるのでふくそうは解消しますが、帯域幅の利用効率が悪くなるという問題点があります。

パケットの優先度が考慮されずにテイルドロップされてしまうことと、グローバルシンクロナイゼーションによる帯域幅の利用効率の悪さを解消するためにWRED(Weighted Random Early Detection)が有効です。