パリティチェックとは?初心者でもわかるデータ通信の誤り検出の仕組み
生徒
「先生、データ通信のときに、誤りがないかどうかを調べる方法ってあるんですか?」
先生
「あるよ。その代表的な方法のひとつが『パリティチェック』という仕組みだよ。」
生徒
「パリティチェック?初めて聞きました。どんな仕組みなんですか?」
先生
「じゃあ、パリティチェック(Parity Check)の基本から、わかりやすく説明していこう!」
1. パリティチェックとは?
パリティチェックとは、データ通信のときにビット列に誤りがあるかどうかを調べるための方法です。英語ではParity Check(パリティチェック)と書きます。
コンピュータでは、データを0(ゼロ)と1(イチ)の組み合わせで表します。パリティチェックでは、その0と1の数を使って、通信エラーが起きたかを簡単に見つけることができます。
2. パリティビットとは?
パリティビットとは、チェックのために追加される1ビットのことです。データの最後に「おまけ」としてつけられます。
たとえば、7ビットのデータに対して、1ビットのパリティビットを足して、合計8ビットのデータとして送信します。
この1ビットを使って、受け取った側が「データに間違いがあるかどうか」を判断できます。
3. パリティの種類(偶数パリティと奇数パリティ)
パリティチェックには、次の2つの方法があります。
- 偶数パリティ(Even Parity): 1の数が偶数になるようにパリティビットを調整する
- 奇数パリティ(Odd Parity): 1の数が奇数になるようにパリティビットを調整する
たとえば、データが 1011001(1が4個)だった場合、偶数パリティならパリティビットは0になります。なぜなら、すでに1の数が偶数だからです。
逆に奇数パリティにしたいなら、1をもう1個追加して、合計5個(奇数)にするため、パリティビットは1になります。
4. パリティチェックの仕組みを図で理解しよう
送信側は、データの1の数を数えて、パリティビットを決めて送信します。受信側では、受け取ったデータの1の数を数えて、偶数か奇数かをチェックします。
もし、パリティビットと1の数が合わなければ「どこかでエラーが起きた」と判断できます。
ただし、複数のビットが同時に変わってしまった場合、エラーを見逃すことがあります。つまり、パリティチェックでは1ビットだけのエラーしか見つけられないという弱点があります。
5. パリティチェックの使用例と身近な例え
昔のモデム通信やシリアル通信では、データを送るたびにパリティビットをつけて送る仕組みがありました。ハードウェアや通信機器の設定で「偶数パリティ」「奇数パリティ」「パリティなし」などを選ぶことができました。
わかりやすく例えるなら、7人の出席番号があるクラスで、先生が人数確認のために1人追加でカウント役を立てるようなイメージです。全員の出席が揃っているかをチェックする「人数確認用のチェック役」が、パリティビットという感じです。
6. パリティチェックと他の誤り検出方式との違い
パリティチェックは非常にシンプルで、処理も速いため、昔から使われています。しかし、複数のビットにエラーが発生したときには対応できません。
一方で、より高度な誤り検出方式として、以下のようなものがあります。
- CRC(シーアールシー): 巡回冗長検査(ジュンカイジョウチョウケンサ)という方式
- チェックサム: データの合計値を使って検出する方式
- ハミング符号(Hamming Code): エラーの検出だけでなく訂正もできる方式
パリティチェックは、簡単なチェックには便利ですが、信頼性が高くないため、今ではあまり使われていません。
7. 試験によく出るポイントまとめ
- パリティチェックは誤り検出の方法
- 1ビットだけの誤りを検出できる
- 偶数パリティと奇数パリティがある
- 複数ビットの誤りは検出できない
- 昔の通信機器などで使われていた