【ネットワーク基礎】帯域と通信速度
はじめに
ネットワークについて学習していく中で「帯域」や「Mbps」というワードをよく目にしました。
調べてみると、ネットワークの基礎知識として、「帯域(Bandwidth)」と「通信速度(Latency / Throughput)」は非常に重要な知識であることがわかりました。
API設計やパフォーマンス改善に役立つみたいですので、本記事では、初心者向けにわかりやすく解説していきます。
帯域(Bandwidth)とは
※https://www.freshvoice.net/knowledge/word/6341/ より
帯域とは「ネットワークが一度に送受信できるデータ量の最大値」のことを指します。
帯域が広いと一度に送信できる情報が多く、狭いと少ないため、インターネットの世界では、帯域=通信速度の意味で使われることがほとんど。帯域が広い回線=通信速度が速い、帯域が狭い回線=通信速度が遅いという認識で問題ありません。
そのため、帯域が狭いと、大量データを一度に送ると通信が詰まって他の処理にも影響が出てしまいます。
単位は通常、bps(bits per second)やMbps(Megabits per second)が使われます。
インターネットの通信速度はbpsの数値が高ければ高いほど速く、快適にインターネットを利用できるということになります。
大きなファイル(例:動画、画像、CSV)を送るときに重要
サーバーやクラウドのネットワーク構成によって制限がある(例:VPSの上限、AWSのインスタンスタイプによる差)
レイテンシ(Latency)とは
※https://moneyshark.hatenablog.com/entry/2024/06/28/004549 より
レイテンシは「データを送ってから届くまでの時間(遅延)」のことを指します。
単位は通常、ms(ミリ秒)で表され、低いほど高速、高いほど低速を表します。
APIレスポンスやデータベース応答の速度に直結します。
海外サーバーやモバイルネットワークではレイテンシが高くなりやすい傾向にあります。
レイテンシが高くなる原因
・物理的距離(例:日本→アメリカ間の通信)
・ネットワークの混雑
・DNS解決やTLSのハンドシェイク
・プロキシやVPNの使用
スループット(Throughput)とは
※ https://xtech.nikkei.com/it/article/COLUMN/20060328/233609/?SS=imgview&FD=1893132163 より
スループットとは「一定時間内に実際に転送または処理されたデータ量」のことです。
理論上の帯域とは異なり、実際の通信でどれだけ効率よくデータが流れたかを表します。
単位はMbpsやMB/sで表されます。
帯域が広くても、レイテンシやパケットロスが多ければ、スループットは低下する。
※スループットが低下する:パフォーマンスが落ちたことを意味します。
・ネットワークで → データの転送が遅くなる(= 転送速度が落ちる)
・データベースやアプリで → 単位時間に処理できるリクエスト数が減る
※通信エラーや再送があると、スループットは低下します。
スループットを改善する方法
・帯域の増強(上限の拡大)
・レイテンシの低減(近距離サーバーの使用、CDN活用など)
・パケットロスの対策(信頼性の高いネットワーク、TCP最適化)
帯域が広くても速いとは限らない?
帯域は「一度に送れるデータの最大量」なので、データ送信できる道路の幅が広ければ広いほど一気にたくさんのデータを流すことができます。
しかし、転送データが目的地に着くまでに時間がかかっていた場合、「速い」とは言えません。
つまり、帯域が広くても、レイテンシ(遅延)が高いとユーザー体験は悪くなるのです。
(例)
・APIのレスポンス:通信速度(レイテンシ)と帯域の両方に影響されます。
・画像や動画を扱うとき:帯域がボトルネックになることもあります。
→ 大きなデータは一括送信ではなく分割・ストリーミングすることで帯域を節約することができます。
そのため、
・必要なデータだけ送る設計を心がけること(例:ページネーションやGraphQL)
・GzipやBrotliなどの圧縮技術で通信量を削減すること
・モバイルユーザーや海外ユーザーの通信環境も考慮すること
が対策として挙げられます。
まとめ
帯域・レイテンシ・スループットといったネットワークの基本指標は、それぞれが異なる役割を持ちつつ、密接に関係しています。
「なぜ遅いのか?」「どう改善すればいいのか?」という疑問に、ネットワークの観点からアプローチできるようになることで解決に繋げることができます。まずは身近なAPI通信の中から、意識してみたいところです。
最後までお読みいただき、ありがとうございました。
参考・画像引用元URL
Discussion