PR
[画像のクリックで拡大表示]
[画像のクリックで拡大表示]
[画像のクリックで拡大表示]
[画像のクリックで拡大表示]

 前回は,ビット誤りが発生したときに,その誤りを見つける方法を説明しました。たとえばパリティ・チェック符号では,決まった長さのビット列(ブロック)ごとに誤り検出用の情報を1ビット付け加え,“1”であるビットの個数を奇数(あるいは偶数)に調整したフレームを送ります。受信側はフレームごとに1の個数を数えます。本来,奇数であるはずが偶数であれば誤りが発生したとわかるしくみです。

 こうすることで通信の途中で発生した誤りを検出できるようになりました。しかし誤りがあるのがわかっても,間違ったブロックを正しいデータに取り替えなければ,データは意味をなさないままです。そこで,実際のデータ通信の多くは誤ったデータを正しいデータに置き換える技術を用意しています。これが誤り回復です。

 誤り回復には大きく二つの方法があります。一つは正しいデータを送信側にもう一度送り直してもらう方法です。これを再送方式といいます。もう一つは,受信側が正しく受け取ったいくつかのフレームを解析して正しいデータを復元する誤り訂正方式です。

 今回は前者の再送方式について説明しましょう。

再送してもらうには約束事が必要

 誤ったフレームを再送するというと話は簡単に見えますが,実は一筋縄でいきません。受信側に間違って届いたデータを送信側が再送するためには,いくつかの条件を満たす必要があります。

 まず,受信側が送信側に対して特定のフレームを再送してほしいと要求する方法を決めなければなりません。このとき,誤りがあったフレームを通知することも必要です。どのフレームが壊れたかわからないと,送信側は正常に届いたデータまで再送しなければならなくなります。これではいつまでも通信が終わりません。

 こうした問題は,一つひとつの送信フレームに通し番号を付けることで解決します。フレームに番号が付いていれば,受信側は壊れていたフレームの番号を送信側に伝えられるので,送信側にエラー・フレームだけ再送してもらえます(pict.1[拡大表示])。

 通信を人間同士の会話に置き換えると,再送は聞き取れないフレーズを聞き返すことに例えられます。聞き返された人がもう一度繰り返して話すことで,相手に内容を正確に伝えられるのです。また,聞き手は正しく聞き取れたことを話し手に伝えるのに相槌を打つことがあります。人間同士の会話ではこうした暗黙の約束事で,スムーズに会話が進むようにしています。

 コンピュータの通信ではこうした約束事を明確に決めておく必要があります。再送するのにも,どのように行うか,どんなメッセージ(制御情報)をやりとりするかといった約束事がいるのです。このように正しく情報を伝えるためのいろいろな約束事を通信手順あるいはプロトコルと呼びます。

上 中 下 次へ