目次
はじめに
今回も、応用情報技術者試験の過去問を解いていきます。
今回のテーマは、ビット誤り率(BER:Bit Error Rate)から、誤りを含むパケット数の期待値を求める問題です。
一見すると難しそうですが、
- ビット誤り率
- パケットのビット数
- パケット数
の3つを順番に整理すれば解くことができます。
ポイントになるのは、
「1ビットが誤る確率」から「1パケットの中に1ビット以上の誤りが含まれる確率」をどう求めるか
という部分です。
試験で使える簡単な近似式と、より厳密な計算方法の両方を確認していきます。
る問題です。
問題
ビット誤り率が 0.0001% の回線を使って、
1,500バイトのパケットを10,000個送信するとき、
誤りが含まれるパケットの個数の期待値はおよそいくらか。
| 選択肢 | 値 |
|---|---|
| ア | 10 |
| イ | 15 |
| ウ | 80 |
| エ | 120 |
解答
エ:120
解答
エ:120
です。
解説
この問題は、次の流れで考えます。
ビット誤り率
↓
1パケットのビット数を求める
↓
1パケットに誤りが含まれる確率を求める
↓
送信パケット数を掛ける
↓
誤りパケット数の期待値
順番に見ていきましょう。
① ビット誤り率を小数に直す
問題では、ビット誤り率が
0.0001%
とあります。
「%」を小数に直すには100で割るので、
0.0001 ÷ 100
= 0.000001
= 1 × 10⁻⁶
となります。
つまりBERは、
1 × 10⁻⁶
です。
この問題では、各ビットが独立にこの確率で誤ると考えます。
イメージとしては、
100万ビットに約1ビットの割合で誤りが発生する
ということです。
② 1パケットをビット数に変換する
問題では1パケットが
1,500バイト
です。
1バイトは8ビットなので、
1,500 × 8
= 12,000ビット
となります。
したがって、
1パケット = 12,000ビット
です。
③ 1パケットに誤りが含まれる確率を求める
ここが今回の問題で最も重要なポイントです。
1ビットの誤り確率は、
p = 10⁻⁶
です。
1パケットには12,000ビットあります。
試験問題では、BERが非常に小さい場合、
パケット誤り率
≒ ビット数 × BER
と近似できます。
したがって、
12,000 × 10⁻⁶
= 0.012
となります。
つまり、1パケットに誤りが含まれる確率は、
約1.2%
です。
厳密に計算するとどうなる?
ここまでの
12,000 × 10⁻⁶
はあくまで近似計算です。
厳密には、
「12,000ビットすべてが正常である確率」
を先に求めます。
1ビットが正常である確率は、
1 - 10⁻⁶
です。
12,000ビットすべてが正常である確率は、
(1 - 10⁻⁶)¹²⁰⁰⁰
となります。
したがって、1ビット以上の誤りが含まれる確率は、
1 - (1 - 10⁻⁶)¹²⁰⁰⁰
です。
計算すると、
約0.01193
となります。
つまり、
約1.193%
です。
近似計算では1.2%だったので、ほとんど差がありません。
| 計算方法 | パケット誤り率 |
|---|---|
| 近似計算 | 0.012 = 1.2% |
| 厳密計算 | 約0.01193 = 約1.193% |
この問題のようにBERが非常に小さい場合は、
パケット誤り率 ≒ ビット数 × BER
という近似で十分に選択肢を判断できます。
④ 誤りが含まれるパケット数の期待値を求める
送信するパケット数は、
10,000個
です。
近似したパケット誤り率は、
0.012
なので、
10,000 × 0.012
= 120
となります。
したがって、誤りが含まれるパケット数の期待値は、
約120個
です。
よって正解は、
エ:120
となります。
厳密計算でも答えは120になるのか
念のため、厳密な確率でも計算してみます。
パケット誤り率は、
約0.01193
でした。
したがって、
10,000 × 0.01193
≒ 119.3
です。
厳密には期待値は約119.3個ですが、選択肢では最も近い
120
を選びます。
つまり、
近似計算 → 120
厳密計算 → 約119.3
となり、どちらでも答えはエ:120です。
計算の流れまとめ
| 項目 | 値 |
|---|---|
| ビット誤り率 | 0.0001% |
| 小数表記 | 1×10⁻⁶ |
| パケットサイズ | 1,500バイト |
| パケットのビット数 | 12,000ビット |
| パケット誤り率(近似) | 0.012 |
| パケット誤り率(厳密) | 約0.01193 |
| 送信パケット数 | 10,000 |
| 誤りパケット期待値(近似) | 120個 |
| 誤りパケット期待値(厳密) | 約119.3個 |
問題の用語解説
ビット誤り率(BER)
BERは、
Bit Error Rate
の略です。
通信で送信したビットのうち、誤って受信されたビットの割合を表します。
基本的には、
BER
= 誤ったビット数 ÷ 送信した総ビット数
と考えることができます。
例えば、
| BER | イメージ |
|---|---|
| 10⁻³ | 約1,000ビットに1ビット |
| 10⁻⁶ | 約100万ビットに1ビット |
| 10⁻⁹ | 約10億ビットに1ビット |
となります。
BERは小さいほど、通信中に発生するビット誤りが少ないことを意味します。
パケット
パケットとは、ネットワークでデータを送信するときに使われるデータのまとまりです。
例えば大きなデータを送る場合でも、ネットワーク上では一定の単位に分けて送信されます。
イメージすると、
大きなデータ
↓
┌──────┐
│パケット1│
├──────┤
│パケット2│
├──────┤
│パケット3│
└──────┘
という形です。
今回の問題では、1パケットの大きさが1,500バイトと指定されています。
なお、1,500バイトという値はEthernetでよく使われるMTUと同じ大きさです。
通常のEthernetでは、IPパケットなどを格納するデータ部分の最大長として1,500オクテットが使われます。
ただし、
Ethernetフレーム全体が1,500バイトという意味ではありません。
Ethernetフレームには、このほかにもMACヘッダやFCSなどが付加されます。
MTU
MTUとは、
Maximum Transmission Unit
の略です。
1回の通信で送ることができるデータの最大サイズを表します。
一般的なEthernetでは、
MTU = 1,500バイト
が広く使われています。
そのため、ネットワークの問題では1,500バイトという数字を目にすることがよくあります。
ただし、通信方式やネットワーク構成によってMTUは異なります。
パケット誤り率(PER)
PERは、
Packet Error Rate
の略で、送信したパケットのうち、誤りを含むパケットの割合を表します。
今回の問題では、
BER
↓
PERを求める
↓
誤りパケット数を求める
という流れになっています。
BERが十分小さい場合、
PER ≒ パケットのビット数 × BER
という近似が使えます。
期待値
期待値とは、ある試行を何度も繰り返したときに、平均的にどのくらい発生すると考えられるかを表す値です。
基本式は、
期待値
= 試行回数 × 発生確率
です。
例えば、1%の確率で発生する事象を10,000回試行すると、
10,000 × 0.01
= 100
なので、期待値は100回です。
今回も同じ考え方で、
10,000 × 0.012
= 120
と計算しています。
ここで注意したいのは、
必ず120個のパケットに誤りが発生するわけではない
ということです。
実際には110個かもしれませんし、130個かもしれません。
120個というのは、あくまで確率的な平均である期待値です。
近似式はなぜ使えるのか
今回、
1 - (1 - p)ⁿ
という厳密式を、
np
で近似しました。
つまり、
1 - (1 - BER)^(ビット数)
≒ ビット数 × BER
ということです。
これは、
BERが十分に小さく、ビット数×BERもそれほど大きくない場合
に両者の値が近くなるためです。
今回の場合、
12,000 × 10⁻⁶
= 0.012
なので十分小さな値です。
実際、
近似値:0.012
厳密値:約0.01193
と、かなり近い結果になっています。
試験では、
BERが小さい
↓
ビット数 × BER
という考え方を覚えておくと計算を大幅に簡略化できます。
体系的位置づけ
この問題は、応用情報技術者試験では主にネットワーク分野に位置づけられます。
IPAの応用情報技術者試験シラバスでは、ネットワーク分野の「回線に関する計算」や「伝送制御」に関連する用語として、ビット誤り率が扱われています。
体系的には、次のように整理できます。
テクノロジ系
└ 技術要素
└ ネットワーク
├ ネットワーク方式
│ └ 回線に関する計算
│ └ ビット誤り率
│
└ データ通信と制御
└ 伝送制御
└ ビット誤り率
また、この問題では確率の考え方も使われています。
基礎理論
└ 確率・統計
└ 確率
└ 期待値
つまり今回の問題は、
ネットワーク+確率
を組み合わせた問題と考えると理解しやすいです。
今回の問題の重要ポイント
今回の問題では、次の4点を押さえておきましょう。
① %を小数に変換する
今回の場合、
0.0001%
= 0.000001
= 10⁻⁶
です。
「%」をそのまま計算に入れないよう注意しましょう。
② バイトをビットに変換する
通信分野では頻繁に登場します。
1バイト = 8ビット
なので、
1,500バイト
= 12,000ビット
です。
③ BERからパケット誤り率を求める
厳密には、
パケット誤り率
= 1 - (1 - BER)^(パケットのビット数)
です。
ただし、BERが十分小さい場合は、
パケット誤り率
≒ パケットのビット数 × BER
と近似できます。
応用情報技術者試験では、この近似を使えると計算がかなり楽になります。
④ 最後にパケット数を掛ける
パケット誤り率が分かったら、
期待値
= パケット数 × パケット誤り率
です。
今回なら、
10,000 × 0.012
= 120
となります。
まとめ
今回の問題では、ビット誤り率から誤りを含むパケット数の期待値を求めました。
応用情報技術者試験では、
「バイト→ビット」「BER→パケット誤り率」「確率→期待値」
という流れをセットで覚えておくと、このタイプの問題に対応しやすくなります。

コメント