[0072] HDLC手順

平成12年度春期 (旧)第2情報処理技術者試験より
 HDLC手順の受信側伝送フレームの情報部に

  00000 10111 11010

というビット列が現れる場合、元の送信ビット列はどれか。ここで、ビット列は左側を先頭とし、5ビットごとの空白は意味をもたない。
00001 01111 1010(受信側ビット列の連続する5個の0のうち最後の1個を削除)
00000 01111 1010(受信側ビット列の左から6ビット目の1を削除)
00000 01111 1010(受信側ビット列の左から6ビット目の1を削除)
00000 10111 1110(受信側ビット列の左から13ビット目の0を削除)

正解

解説

 HDLC(High level DataLink Control)手順とは、通信速度、伝送効率、信頼性を高いレベルで実現する伝送制御手順です。HDLC手順は、ISOで標準化され、日本でもJIS規格化されています。

 HDLC手順は、データをひとかたまりにしたフレーム(frame)とよばれる単位で、データの送受信を行ないます。フレームの構成は次のようになっています。



F : フラグシーケンス
フレームの開始と終了を表します。「01111110」 という固定のビットパターンとなります。

A : アドレスフィールド
送信先もしくは送信元のアドレスです。8ビットで表現されます。

C : 制御フィールド
フレームの種類と制御内容、フレーム番号を表します。

I : 情報フィールド
転送するデータ内容を表します。

FCS : フレームチェックシーケンス
CRC方式による誤り制御のシーケンスを表します。


 HDLC手順では、フレームを連続して転送することが可能です。連続して送信しているときは、下図のような状態でデータ転送を行なっていることとなります。



 HDLC手順では、フレームの開始と終了を表す F;フラグシーケンスは、「01111110」という決められたビット列です。もし、I;情報フィールドに「01111110」というデータが含まれていたらどうなるでしょうか?当然ながら、データ受信側では、I;情報フィールド 受信中に、F;フラグシーケンス のビット列を受信することなり、フレームの構成が分からなくなってしまいます。

 このような問題に対処するため、HDLC手順では、
  • 送信側では、連続する5個の「1」の直後には、「0」を1個挿入する
  • 受信側では、連続する5個の「1」の直後の「0」を1個除去する
という決まりの制御を、送信側、受信側で行なうことで、I;情報フィールド 受信中に、F;フラグシーケンス のビット列が出現しないようにして、この問題に対処しています。

 この問題では、I;情報フィールド のビット列が

  00000 10111 11010

と、「1」が連続して5個続き、その直後に「0」があるので、受信すべき正しいデータは、この「0」を除去した

  00000 10111 1110

 となります。したがって、エが正解となります。
※ 解説の内容は執筆時点のものであり,含まれている情報の正確性,妥当性について保証するものではありません。ご注意ください・・・

関連する(かもしれない)問題