データ通信量と通信速度と時間 ~ネットワークの計算~
今回は、ネットワークのデータ通信量と通信速度、および時間の関係について解説します。
IT系の試験では、「xGbpsでy時間のデータ通信量はどれくらいですか?」といった問題がよく出題されます。一見すると難しそうに見えるかもしれませんが、実は非常に単純な考え方で求められます。
ここでは、すぐに使える方法をご紹介します。
通信データ量や通信速度で使用される単位
- データ量の単位
ビット:データ量を表す最小単位
バイト:データ量を表す単位で「1 Byte = 8 bit」で換算
補足として、一般的には小文字のbは「ビット」、大文字のBは「バイト」を表します。(たまに例外も見受けられます。)
- 通信速度の単位
ビットレート:1秒間あたりのデータ量、単位は「bps」(ビット毎秒)
通信量と通信速度と時間の関係
通信量と通信速度と時間の関係は、小学校のときに習った道のりと速さと時間の関係と同じです。いわゆる「道のり = 速さ × 時間」という公式です。
小学生のとき、この図で覚えた方も多いかもしれないですね。
道のりを通信データ量、速さを通信速度に置き換えて考えます。
グラフで表した場合、以下のようになります。
時間をX軸、通信速度をY軸とした場合、その時間の通信量は面積(t1-t0間の積分値)に相当します。速度が途中で変化したとしても、同様に考えることができます。
例として1Gbpsで1時間ネットワークが流れた場合のデータ量の計算は以下のようになります。
まず単位を揃えます。
ここでは量をビット、時間を秒で換算しました。
1 [Gbps] = 1/8 [GByte/s]
1 [hour] = 3600 [sec]
次に公式に当てはめて、通信量を計算します。通信量は道のりに相当しますので、速さと時間をかけた値となります。
1/8 × 3600 = 450 [GB]
つまり1Gbpsの通信速度で1時間あたりのデータ量は、450GByteとなります。
ネットワーク計算で用いられる10進数
通常、ネットワークの回線速度で使用する「Byte(バイト)」は、「1KByte = 1,000 (10の3乗) Byte」と10進数で計算します。
一方、通信データを保存するコンピュータやHDDの容量は、「1KByte = 1,024 (2の10乗) Byte」と2進数で計算されていることが多いです。ネットワークの統計値から保存できるHDD容量を計算する際などは注意が必要です。このような混乱をさけるため、2進数方式の場合は読み方を変えている場合があります。
参考までに計算結果は以下となります。K(キロ)であれば誤差の範囲内ですが、T(テラ)くらいになると差は10%近く変わりますので無視できなくなります。
2進数 | 10進数 | 差分 (%) | ||||
---|---|---|---|---|---|---|
読み方 | 記号 | 値 | 読み方 | 記号 | 値 | |
キビバイト | KiB | 1,024 | キロバイト | KB | 1,000 | 2.40% |
メビバイト | MiB | 1,048,576 | メガバイト | MB | 1,000,000 | 4.86% |
ギビバイト | GiB | 1,073,741,824 | ギガバイト | GB | 1,000,000,000 | 7.37% |
テビバイト | TiB | 1,099,511,627,776 | テラバイト | TB | 1,000,000,000,000 | 9.95% |
ペビバイト | PiB | 1,125,899,906,842,620 | ペタバイト | PB | 1,000,000,000,000,000 | 12.59% |
エクスビバイト | EiB | 1,152,921,504,606,840,000 | エクサバイト | EB | 1,000,000,000,000,000,000 | 15.29% |
あとがき
今回は、一般的なネットワークの通信量と通信速度、時間の関係について解説しました。
IT系の試験だけではなく、フォレンジック等の機器を選定する場合、どのくらいのストレージを見積もったほうがよいか、を計算する際などにも使える計算方法ですので、覚えておくと便利です。
ネットワーク機器の統計値にある「○○bps」は、必ずしもこの計算での値であるとは限りません。たとえば、TCP上のスループット値であったり、ペイロードだけのスループット値であったりする可能性もあります。
機器に表示される値は、必ず機器のマニュアル等を確認するようにしましょう。