性能指標とは ― 帯域幅・遅延・ジッタ・スループット
帯域幅は
帯域幅・遅延・ジッタ・スループットの違い
帯域幅は、回線や機器が1秒あたりに理論上送れる最大のデータ量です。スループットは、1秒あたりに実際に運べたデータ量で、帯域幅を超えません。遅延(レイテンシ)は、データが送信されてから届くまでにかかる時間です。ジッタは、遅延の大きさがパケットごとにばらつく度合いを指します。
「回線は速いはずなのに遅い」と感じたとき、原因と対策はどの指標が悪いかで変わります。帯域幅とスループットの差、遅延の内訳とpingで測るRTT、ジッタとパケットロスの見方を順に説明します。
帯域幅とスループットの違い:上限と実測値
帯域幅は、回線や機器の仕様で決まる値で、1秒あたりに送れる理論上の最大のデータ量です。単位はbps(ビット毎秒)で、100Mbpsや1Gbpsのように書きます。伝送時間の記事で使う回線速度は、帯域幅とほぼ同じ意味の言葉です。
スループットは、ある時間に実際に送受信できたデータ量を、その時間で割った値です。単位は、帯域幅と同じbpsです。ヘッダなどの制御情報、再送、途中経路の混雑が原因で、スループットは帯域幅より小さくなります。スループットが帯域幅を超えることはありません。
たとえば、帯域幅100Mbpsの回線で、10秒間に52.5MB(420,000,000ビット)を転送できたとします。
- データ量をビットに換算します:52.5MB × 8 = 420,000,000ビット
- スループット=データ量÷時間:420,000,000 ÷ 10 = 42,000,000bps = 42Mbps
帯域幅100Mbpsに対し、実測のスループットは42Mbpsにとどまります。なお、システムが単位時間に処理する件数もスループットと呼びます。こちらはレスポンスタイムとターンアラウンドタイムの記事で説明しています。
伝送時間・回線利用率の計算で使う実効速度は、回線速度に伝送効率をかけた理論上の値です。これに対し、スループットは実際に測った値です。伝送効率が条件として与えられたときの計算は、そのページで説明しています。
遅延(レイテンシ)の内訳:伝送・伝搬・処理・待ち
遅延は、データが送信されてから届くまでにかかる時間です。英語ではレイテンシと呼びます。遅延は、次の4つに分けられます。
| 遅延の | 内容 | 何で |
|---|---|---|
| 処理遅延 | ルータなどの機器が、パケットを調べて次へ送る判断をする時間 | 機器の処理性能 |
| 待ち時間(キューイング遅延) | 送り出す順番を待つ行列(キュー)の中で待つ時間 | そのときの混雑の度合い |
| 伝送遅延 | データの全ビットを回線に送り出すのにかかる時間 | データ量(ビット)÷回線速度 |
| 伝搬遅延 | 信号が物理的な距離を伝わる時間 | 距離÷信号が伝わる速さ |
たとえば、1,500バイトのパケットを回線速度10Mbpsの区間に送り出す場合を考えます。伝送遅延は、データ量をビットに換算し、回線速度で割って求めます。
- データ量をビットに換算します:1,500バイト × 8 = 12,000ビット
- 伝送遅延=データ量(ビット)÷回線速度(bps):12,000 ÷ 10,000,000 = 0.0012秒 = 1.2ms
続いて、同じパケットが2,000km先まで伝わる場合の伝搬遅延を求めます。伝搬遅延は、距離を信号が伝わる速さで割って求めます。光ファイバの中を信号が伝わる速さは、おおよそ毎秒20万km(真空中の光速のおよそ2/3)です。
- 距離をメートルに換算します:2,000km = 2,000,000m
- 伝搬遅延=距離÷伝わる速さ:2,000,000 ÷ 200,000,000 = 0.01秒 = 10ms
処理遅延を0.5ms、待ち時間を1msとすると、片道の遅延の合計は0.5 + 1 + 1.2 + 10 = 12.7msです。
伝送時間の計算機で求める伝送時間は、ここでの伝送遅延と同じ式です。ただし、そのページの計算に伝搬遅延は含まれていません。
RTT(往復遅延)とは
RTT(Round Trip Time、往復遅延)は、送信してから相手の応答が戻るまでの、往復にかかる時間です。pingコマンドが表示するtimeの値が、RTTです。
行きと帰りの経路が同じ条件だと仮定すると、RTTは片道の遅延の2倍になります。先の例では、片道12.7msの2倍で、RTTは25.4msです。実際には、行きと帰りで通るルータが異なることがあり、その場合、RTTは片道の2倍と正確には一致しません。
ジッタとは:遅延のばらつき
ジッタは、遅延の大きさがパケットごとにばらつく度合いです。インターネットの標準を定めるIETFのRFC 3393は、2つのパケットの一方向の遅延の差を、IPDV(IP Packet Delay Variation)と定義しています。たとえば、1つ目のパケットの遅延が12.0ms、2つ目のパケットの遅延が15.0msだったとします。この2つの差である15.0 − 12.0 = 3.0msが、この2パケット間のIPDVで、ジッタを表す値です。なお、RFC 3393は、ジッタという言葉は使う人によって意味が異なるとして、なるべく遅延の変動(delay variation)と呼ぶことにしています。
ジッタが大きいと、音声通話やWeb会議で、音が途切れたり詰まったりします。QoSの優先制御は、ジッタを抑える目的でも使われます。pingの結果に出るstddevも、往復時間のばらつきを数値にしたものです。計算のしかたはIPDVと異なりますが、どちらも遅延のばらつきを表します。
パケットロスとは
パケットロスは、送ったパケットのうち、届かなかった割合です。送った回数と受け取った回数から求める式は、ping・tracerouteの記事で説明しています。
パケットロスが増えると、TCPは失われたデータを再送します。再送が増えるほど実際に運べるデータ量は減り、スループットが下がります。
TCPのウィンドウとRTTでスループットの上限が決まる
TCPは、受信確認(ACK)を待たずにまとめて送ってよいデータ量を決めています。これがウィンドウサイズです。送信側は、送ったデータのACKが戻るまで、次のウィンドウ分を送り出せません。そのため、1往復(RTT)の間に送れるデータ量の上限は、ウィンドウサイズで決まります。最大スループットは、おおよそ次の式で表せます。
たとえば、ウィンドウサイズが64KiB(65,536バイト)、RTTが100msの場合を考えます。KiBは1,024バイトを単位とする2進の表記で、通信速度のk・M(1,000倍)とは別のものです。ここではRFC 7323の表記に合わせています。
- ウィンドウサイズをビットに換算します:65,536バイト × 8 = 524,288ビット
- RTTを秒に換算します:100ms = 0.1秒
- 最大スループット=524,288 ÷ 0.1 = 5,242,880bps ≈ 5.24Mbps
この例では、回線の帯域幅がこれより大きくても、ウィンドウサイズとRTTでスループットの上限が決まります。
練習問題(全5問)
正解:帯域幅は
帯域幅は、
正解:伝送遅延
伝送遅延は、
正解:送信してから、
RTT
正解:遅延の
ジッタは、
正解:ACKを
ACKを
選んでから「採点する」を押すと、解説つきで答え合わせができます。
関連記事
おすすめの本 PR
ネットワークを初めて学ぶ人向けの入門書です。
![『[改訂新版]3分間ネットワーク基礎講座』の表紙](https://m.media-amazon.com/images/P/4774143731.09.MZZZZZZZ.jpg)
