前置き
第4回は、通信理論です。
最近ネスペやってたけど、この辺は理論の知識なので、細かく(計算問題とか)は出てきませんでした。
概念知識としては必要ですがね。
通信理論
誤り検出・訂正
二つの装置間での通信では回線状況や機器同士のやり取りなど、様々な原因で送信誤りが起こる。
その誤り検出・訂正の種類と代表的な手法を以下に記す。
誤り検出・訂正の種類 | 代表的な手法 |
1ビット誤り検出 | パリティ(奇数パリティ,偶数パリティ) |
1ビット誤り訂正+1ビット誤り検出 | 垂直パリティ+水平パリティ |
1ビット誤り訂正+2ビット誤り検出 | ハミング符号 |
nビット誤り検出 | CRC |
パリティ
↑ある数字の並びの合計が偶数か奇数かによって通信の誤りを検出する技術。
データの最後にパリティビットを付加し、そのビットを基に誤りを検出する。
偶数パリティ | 1の数が偶数になるようにパリティビットを付加する |
奇数パリティ | 1の数が奇数になるようにパリティビットを付加する |
ビット最後のデータに1桁付加することで誤りを検出。
データを送るごとに1ビットのパリティビットを付加することを垂直パリティと言い、それを繰り返しデータを送信する。
最後に、それぞれのビットのデータを横断的に見て、全体に誤りが無いかをチェックするのに水平パリティを用いる。
垂直パリティと水平パリティを組み合わせることで、どこに1ビットの誤りが起きた場所を特定して、ビットを反転させることでエラーを訂正出来る。
ハミング符号
↑はデータにいくつかの冗長ビットを付加することによって1ビットの誤りを検出し、
それを訂正できる仕組み。
CRC
・CRC
連続する誤りを検出するための誤り制御の仕組み。
バースト誤り…通信データの場合、ケーブルの不良や混線などによって誤りが一度にまとめて起こる時もある。
この場合、複数ビットの誤りを検出できるCRCを用いる。
一般的な家庭や社内のイーサネットのパケットでは、誤り検出にCRCを用いる。
最後に
冒頭でも述べましたが、セキュリティやネットワークの勉強をするうえで、概念は出てくるので勉強して損はないかと思います。