パケットロスと再送制御がスループット

目次
パケットロスと再送制御がスループットに与える影響|TCP性能低下のメカニズム
ネットワークが「遅い」と感じる原因は帯域不足だけではありません。 実務では、パケットロス(Packet Loss)とそれに伴う再送制御が、 スループット低下の大きな要因になるケースが非常に多くあります。
特にTCP通信では、わずかなパケットロスでも輻輳制御が働き、 通信速度が大きく低下することがあります。
本記事では、パケットロスの発生原因、再送制御の仕組み、 それがスループットに与える影響について、エンジニア向けに詳しく解説します。
パケットロスとは
パケットロスとは、送信されたパケットがネットワーク途中で失われ、 受信側に届かない現象です。
通常、ネットワークは完全な伝送路ではないため、 一定の確率でパケットロスが発生します。
主な原因
- ネットワークの輻輳(混雑)
- ルータ・スイッチのバッファ不足
- 無線通信の干渉
- ケーブル品質や物理層エラー
- 過負荷による機器の処理落ち
パケットロスは、単なる「データ欠損」ではなく、 TCPの動作に大きな影響を与えます。
TCPと再送制御
TCPは信頼性を確保するため、 受信側からACK(確認応答)を受け取る仕組みを持っています。
送信 → ACK受信 → 次送信
パケットロスが発生すると、ACKが返ってこないため、 TCPは再送を行います。
再送の種類
- タイムアウト再送(RTO)
- Fast Retransmit(重複ACKによる再送)
パケットロスがスループットに与える影響
TCPでは、パケットロスは「ネットワークが混雑している」というシグナルとして扱われます。
その結果、送信速度が意図的に低下します。
輻輳ウィンドウの減少
ロス発生
→ cwnd = cwnd / 2
この動作により、スループットが半分以下に低下する可能性があります。
タイムアウト時の影響
タイムアウト発生
→ cwnd = 1(初期化)
→ スロースタートから再開
この場合、通信速度は大幅に低下します。
スループット低下の数式モデル
TCPスループットは、パケットロス率に大きく依存します。
スループット ≒ 1 / √(ロス率)
例えば:
- ロス率 0.01% → 高速通信維持
- ロス率 1% → 大幅な速度低下
わずかなロスでも性能に大きな影響を与えることが分かります。
RTTとの相互作用
パケットロスの影響はRTT(往復遅延時間)とも強く関係します。
スループット ≒ 1 / (RTT × √ロス率)
RTTが大きい(遠距離通信)ほど、 ロスの影響はさらに大きくなります。
小パケットとPPSの影響
小さいパケットが多い場合、 ロスの影響はさらに顕著になります。
- PPS増加
- 再送頻度増加
- CPU負荷増加
このため、VoIPやゲーム通信ではUDPが使われることが多いです。
無線ネットワークでの影響
Wi-Fiなどの無線通信では、 電波干渉や距離によってパケットロスが発生しやすくなります。
TCPはロスを輻輳と誤認するため、 本来必要ない速度制御が行われることがあります。
バッファブロートとの関係
バッファが大きすぎる場合、 パケットロスは減るものの、 遅延が増加する「バッファブロート」が発生します。
バッファ過剰
→ ロス減少
→ 遅延増加
→ TCP制御悪化
適切なバッファ設計が重要です。
実務での影響例
ケース1:WAN回線でのロス
数%のロスでも、スループットが1/10以下になることがある。
ケース2:VPN通信
暗号化オーバーヘッド+ロスで性能低下。
ケース3:Wi-Fi環境
ロスによる再送で体感速度が低下。
改善・最適化ポイント
- パケットロスの原因特定(traceroute / ping)
- QoSによる優先制御
- 回線品質の改善
- バッファサイズの調整
- TCPアルゴリズム(CUBIC / BBR)の最適化
- MTU調整によるフラグメンテーション回避
TCPとUDPの違い
| 項目 | TCP | UDP |
|---|---|---|
| 再送制御 | あり | なし |
| ロス時の挙動 | 速度低下 | 継続送信 |
| 用途 | 信頼性重視 | リアルタイム |
よくある誤解
少しのロスなら問題ない
→ TCPでは致命的な影響が出る場合があります。
帯域が広ければ速い
→ ロスがあると速度は出ません。
再送すれば問題ない
→ 再送自体が性能低下の原因になります。
まとめ
パケットロスは、TCP通信においてスループット低下の主要因です。
TCPはロスを輻輳と判断し、 輻輳ウィンドウを縮小することで通信速度を制御します。
わずかなロスでも、特に高遅延環境では大きな性能低下を引き起こします。
ネットワークの性能改善には、 帯域だけでなく「ロス率」と「再送制御」の理解が不可欠です。
パケットロスを最小化することが、 高速で安定した通信を実現する最も重要なポイントの一つです。





