ネットワーク使用率とマイクロバースト ~ネットワークの計算~

今回は、ネットワークの計算の第二弾「ネットワーク使用率」について解説します。以前の記事「データ通信量と通信速度と時間 ~ネットワークの計算~」で、データ通信量と通信速度と時間の関係について解説したところ、予想外に多くの方に読まれていました。(この計算は、TI系の試験には絶対出ますよね。)

さて、前回の記事では通信速度の単位として「bsp」を使用しましたが、今回は帯域幅の単位として「bps」を使用します。どちらも「速度」を表していることは間違いないのですが、用法や意図が少し異なります。混乱しやすいですので、このあたりを整理して説明します。

帯域幅 vs 通信速度

ネットワーク使用率を考える上で重要になってくるのが、「帯域幅」です。帯域幅は、有線ネットワークの場合、リンクスピードもしくは回線容量に置き換えられます。無線ネットワークの場合は、周波数帯域とかバンド幅などと表現されます。
言い換えると、ネットワーク上の最大の伝送速度を指します。

よく使われるたとえですが、「狭い道路と広い道路とでは、どちらがより多くの車が通れるか」というイメージで考えるとわかりやすいです。道路が広い(=帯域幅が広い)と多くの車が通ることが可能(=多くのデータを転送できる)ということです。

これに対し、「通信速度」は単純に秒あたりのデータの転送量を指します。

ネットワーク使用率

ネットワーク使用率は、帯域幅(最大速度)に対してどのくらいのデータが流れたかの割合です。
帯域幅を分母にして実際の通信速度を分子にします。
例えば、帯域幅が1Gbpsで実際の転送速度が400Mbps出会った場合、ネットワーク使用率は40%となります。

実際の計算方法

前回の記事で解説したとおり、通信速度はデータ通信量を時間で割った値です。ただし単純に1秒間あたりに流れたデータ量ではありません。そのことについて、ここで詳しく解説します。

まず、イーサネット上のフレームは可変長であり、FCSを除いたフレーム長は60バイトから1514バイトが一般的です。(ジャンボフレーム環境やVLANやPPPoEなどカプセル化されたプロトコルは除きます。)
実際の使用率を計算する場合、データ量は、実際のフレーム長以外にIFS(Interframe Space)とPreamble、FCSの値を考慮する必要があります。
IFSとは、フレームとフレームの間隔のことで、最小値は、96ビット(すなわち12バイト)となっています。イメージはこんな感じでしょうか。どんなに混雑していても、間隔を96ビットはあける必要がある、ということです。

IFG

その後フレームの始まりを合図するためにPreambleが64ビット(8バイト)続き、フレームが始まります。
(実際には、IEEE 802.3ではサイズが7バイトの「Preamble」フィールドと、1バイトの「SFD(Start Frame Delimiter)」フィールドに分けられていますが、トータルではDIXと同じバイト数ですので、ここではひっくるめて8バイトとします。)
パケットキャプチャの際、イーサネットフレームのサイズにはPreambleは含まれません。これは、Preambleは、ハードウェアにより生成され受信後に破棄されるためです。

FCSは、エラーを検出するためのチェックサムです。キャプチャ専用のデバイスでなくPC等キャプチャした場合は、通常FCSはキャプチャされません。その場合はFCSの値も考慮する必要があります。

以下の例は、1Gbps(10^9 bps)の帯域幅において、1秒間でX、Y、Zのフレームが流れていた場合の使用率の計算方法です。

使用率計算

上記からわかることは、「フレーム長にかかわらず、ひとつのフレームを送信するためには必ずIFS + Preamble(合計160ビット)とFCS(32ビット)が必要」ということです。これは各フレームを送信するためのコストとなります。
つまり大きなデータを送る場合、1フレームを通過できる最大のフレーム長にし、より少ないフレームの数で送信するほうがネットワーク効率がよい、とも言えます。
ネットワーク効率は、伝送するネットワーク機器や使用するプロトコルによりかなり変わってきますので、機器やプロトコルの選定はとても重要なことです。

マイクロバーストとは

上記のように一般的にネットワーク速度は、毎秒の値です。ですので、1秒の間にピークが存在していても、平均されてしまいバーストに気がつけないケースがあります。その現象を「マイクロバースト」と言います。
マイクロバーストは、パケットロスによる輻輳の発生やサーバダウンといったトラブルを引き起こします。
マイクロバーストが発生する要因で、代表的なものとしては以下の2つが挙げられます。

  • 通過するネットワーク機器のパケット処理能力の差がバッファに蓄積されたために発生
  • 映像などの大容量なファイルが一気にサーバから配信される際に発生

原因不明のパケットロスが起こっているネットワーク環境では、マイクロバースト現象が起こっていないかを疑うことも重要です。

SYNESISで行うマイクロバースト検知

当社で開発、販売しているSYNESISは、一般的なモニタ製品では検知できないマイクロバーストトラフィックを検知し、パケットを特定する機能があります。
最小間隔100マイクロ秒の精度で使用率を計算し、どの通信が引き金となってマイクロバーストが発生しているかを調査できます。

SYNESISのマイクロバースト検知機能の大きな特長は、「使用率」と「連続発生回数」の2つの項目でしきい値を設定していることです。SYNESISでは、トラフィックの使用率が指定した「使用率」を超え、その状態が指定した分解能で「連続発生回数」を超えて続いた場合に、マイクロバーストが発生したと判断されます。

SYNESISマイクロバースト機能

SYNESISのデモンストレーションやPoCは、随時受けつけています。ご興味がありましたら、下のボタンよりお問い合わせください。

SYNESIS お問い合わせ

あとがき

ネットワーク速度の単位「bsp」は、実際の速度か帯域幅かのどちらを指しているか意識する必要があります。ネットワークの使用率は、速度に依存し、その速度は単純にデータの量だけではなく伝送するネットワーク機器や使用するプロトコルにも関係します。
「ネットワークの遅延とは?パケットキャプチャからみる遅延」の記事もご覧いただき、ネットワークの遅延やバーストの理解を深めていただければうれしいです。

また、「帯域幅」の意味するところは、アナログとデジタルで少し変わってきます。一般的にアナログで使用される帯域幅の単位は「Hz(ヘルツ)」です。もし帯域幅と検索してもぴんとくる情報ではないのであれば、それはアナログでの帯域幅の説明かもしれません。