転送速度の全貌:仕組み・計測・最適化(ITエンジニアのための深堀コラム)

はじめに:転送速度とは何か

ITやネットワークにおける「転送速度(throughput/bandwidth/speed)」は、単純に「データがどれだけ速く移動するか」を表す言葉として使われます。しかし実務では物理層の伝送能力、プロトコルのオーバーヘッド、遅延やパケットロス、アプリケーションの並列性など複数の要因が絡み合い、同じ回線でも「理論値」と「実効値(ユーザが体感する速度)」が大きく異なります。本稿では定義から計測・解析・最適化までを体系的に解説します。

1. 基本概念と単位

転送速度に関する基本的な概念を押さえます。

  • 帯域幅(bandwidth): 通常は回線やチャネルが理論的に担える最大伝送率(例:100 Mbps, 1 Gbps)。物理的/論理的な上限を示します。
  • スループット(throughput): 実際に測定される有効なデータ伝送量。プロトコルオーバーヘッドや再送、混雑の影響を受けます。
  • レイテンシ(latency / RTT): 伝送にかかる時間遅延。往復時間(RTT)はTCPの挙動や利用効率に直結します。
  • ジッタ(jitter): パケット到着時間のばらつき。リアルタイム系に影響します。
  • ビットとバイトの違い: 速度は通常ビット毎秒(bps, kbps, Mbps, Gbps)で表記。ファイルサイズはバイト(B)で表記されることが多く、混同に注意が必要です。

2. 物理層と伝送容量の限界

伝送媒体(光ファイバ、銅線、無線)や変調方式、チャンネル帯域幅が理論上の限界を決めます。シャノン・ハートレーの定理は雑音が存在するチャネルでの最大情報伝送率を示し、SNR(信号対雑音比)と帯域幅から容量を計算できます。実際のネットワーク機器やケーブル規格(例:Ethernet 1 Gbps/10 Gbpsなど)も影響します。

3. プロトコルとオーバーヘッド

OSIモデルの上位で使われるプロトコル(Ethernet、IP、TCP/UDP、TLS、HTTPなど)はヘッダや管理フレーム、暗号化コストなどのオーバーヘッドを伴います。例えば小さなパケットを大量に送る場合、ヘッダ比率が高くなり実効スループットが低下します。

  • MTU/MSS: 最大転送ユニット(MTU)やTCPの最大セグメントサイズ(MSS)は分割回数とオーバーヘッドに直結します。
  • 暗号化(TLS/QUIC): TLSはCPU負荷とレイテンシを増やしますが、QUICはUDP上でコネクション再生性や多重化を改善します。

4. レイテンシ、パケットロス、ジッタが速度に与える影響

TCPのような信頼性のあるプロトコルはパケットロスを検出すると再送や輻輳制御を行うため、スループットが大きく下がります。特に高レイテンシ・高帯域幅の環境ではBDP(Bandwidth-Delay Product)を満たすウィンドウサイズが必要です。BDPが不足するとリンクをフルに使えません。

5. TCPの挙動と輻輳制御(重要)

TCPは輻輳ウィンドウと受信ウィンドウに依存しており、初期ウィンドウ、遅延 ACK、ウィンドウスケーリング(RFC 7323)や輻輳アルゴリズム(Reno、CUBIC、BBRなど)がスループットを決めます。例えば高帯域幅・高遅延回線ではウィンドウスケーリングと大きな送信バッファが必須です。BBRは帯域幅推定に基づく制御で、従来の損失検出型制御より高スループットを実現する場合があります。

6. 無線・モバイル固有の問題

無線は物理環境(遮蔽物、電波干渉、多重経路)や移動性による変動が大きく、変調方式の自動調整(MCS)や再送が頻発します。セルラネットワークでは基地局のスケジューリングやユーザ密度が実効速度に直結します。

7. 計測方法と注意点

転送速度を正しく計測するには、以下を考慮する必要があります。

  • 単一フロー vs 複数フロー: 単一TCP接続では輻輳制御の影響で測定値が低く出ることがあり、iperfなどで複数並列ストリームを使うと実効帯域を把握しやすい。
  • テスト時間: 短時間のピーク値はノイズに過ぎない。十分な試験時間を確保する。
  • プロトコルやポート: 中間装置(ファイアウォール、プロキシ)が一部のプロトコルやポートを制限していることがある。
  • 測定ツール: iperf/iperf3、netperf、speedtest、ping、tracerouteなどを組み合わせる。各ツールの特性を理解して使う。

8. ボトルネックの特定方法

ネットワークのどこが制限しているかを順に切り分けます。

  • ローカル要因: NIC設定(フル/ハーフデュプレックス)、ケーブル品質、スイッチポートの速度。
  • ホスト要因: CPU、メモリ、I/O、ソケットバッファ設定。
  • ネットワーク要因: スイッチやルータの負荷、QoS設定、MTUの不一致。
  • 回線要因: ISP側の帯域制御、ピアリング、ラストマイル品質。
  • アプリケーション要因: シングルスレッドの制限、同期処理、プロトコル設計。

9. 最適化の技術と実践

転送速度を改善するための実践的な手段を列挙します。

  • 適切なMTU設定とTCP MSSの調整でフラグメンテーションを防ぐ。
  • ウィンドウサイズやソケットバッファのチューニング(特に高BDP環境)。
  • HTTP/2やHTTP/3(QUIC)を利用した多重化・遅延削減。QUICはUDPベースで接続再開が速く、TLSも組み込まれている。
  • CDNやキャッシュを使って遅延を低減し、バックエンド負荷を分散する。
  • TCPアルゴリズムの選定(CUBIC vs BBRなど)、またはUDPベースでアプリ側制御することで特性を改善。
  • リンク集約(LAG)や複数経路利用、MPTCPによる複数インターフェース利用。
  • QoSで優先度設定を行い、重要トラフィックの遅延・損失を抑える。

10. 実務上の注意点とトレードオフ

速度改善は往々にしてトレードオフを伴います。例えばキャッシュは最新性(整合性)を犠牲にする場合があり、暗号化はCPU負荷を増やします。また、帯域確保のためにQoSを設定すると他トラフィックに影響を与えます。改善策を適用する際は、可観測性(ログ、メトリクス)、段階的なロールアウト、リスク評価を行ってください。

まとめ

転送速度は単なる数値ではなく、物理層・プロトコル・アプリケーション・運用の総合的な結果です。計測は複数の観点から行い、BDP、レイテンシ、パケットロス、プロトコル設計を理解して対策を組み合わせることが重要です。現代の高速ネットワークでは、TCPチューニングやQUICの活用、CDN・キャッシュ・分散アーキテクチャの導入が有効です。

参考文献