ネットワーク,通信時の同期制御(ビット同期・ブロック同期)

スポンサーリンク

鍛錬 119

ネットワーク,通信時の同期制御(ビット同期・ブロック同期)

通信における、同期制御(ビット同期・ブロック同期)についてです。

同期方式、歩調同期方式、キャラクタ同期方式、フラグ同期方式など、同期の種類についてや、フラグ同期方式におけるゼロインサーションについてです。

スポンサーリンク

同期の種類

データを送信する側と受信する側でタイミングを合わせることを「同期」といいます。

同期は大きく分けて、ビット同期とブロック同期の2種類が存在します。

ビット同期の同期方式
(1)同期方式
(2)歩調同期方式
ブロック同期の同期方式
(1)キャラクタ同期方式
(2)フラグ同期方式
スポンサーリンク

ビット同期について

以下は、ビッド同期の同期方式である、「同期方式」と「調歩同期方式」についてです。

(1)同期方式

以下は、「同期方式」についてです。

  処理内容
送信側 データに同期タイミングデータを混在させる。
受信側 同期タイミングデータを読み取り、データ抽出部分を判別する。

(2)調歩同期方式

以下は、「調歩同期方式」についてです。

  処理内容
送信側 データの前後に、
「スタートビット」と「ストップビット」を付加する。
データは 7 or 8 ビットの固定長。
受信側 「スタートビット」を検出後、
送信側と受信側で同一に設定された伝送速度に合わせて同期をとる。
スポンサーリンク

ブロック同期について

以下は、ブロック同期の同期方式である、「キャラクタ同期方式」と「フラグ同期方式」についてです。

(1)キャラクタ同期方式

以下は、「キャラクタ同期方式」についてです。

  処理内容
送信側 データの先頭に 8ビット で構成される「SYNコード」を付加する。
受信側 「SYNコード」を検出後、データの受信を開始する。

 
上記で示した「SYNコード」については、以下の通りです。

  • SYNコード は 8ビット で構成される。
  • SYNコード を asciiコード で表すと、
    00010110 (2進数)
    22 (10進数)
    16 (16進数)

(2)フラグ同期方式(ブロック同期)

以下は、「フラグ同期方式(ブロック同期)」についてです。

  処理内容
送信側 データの前後に「フラグ」となるビット列を付加する。
受信側 「フラグ」を検出し、データの先頭を判断する。

 
上記で示した「フラグ」については、以下の通りです。

  • フラグ は HDLC※1 では、01111110 (2進数) で表される。
  • 送信側・受信側の双方は、データ中に フラグ と同一のビット列が存在するのを防ぐため、「ゼロインサーション※2」とよばれる処理を行う。

※1 ISOにより標準化された、ハイレベルデータリンク制御手順のこと。
※2 ゼロインサーション については、以下に示す通りです。

ゼロインサーション

以下は、「ゼロインサーション」についてです。

  処理内容
送信側 データ中に 1 が 5個連続で配置されている場合は、
5個目の 1 の直後に 0 を挿入する。
受信側 データ中に 1 が 5個連続で配置されている場合は、
5個目の 1 の直後に存在する 0 を削除する。
ゼロインサーションの例(送信側)

(フラグ が HDLC の 01111110 である場合)

  • データ作成時、フラグ と フラグ の間のデータ部に、0100111111000 というビット列を配置した場合。
  1. 送信時、データ中に 1 が 5個連続で配置されていることを検出。
    0100「11111」1000
    このままでは、データ部にも関わらず、フラグ 010「01111110」00 と勘違いされてしまう。
  2. そこで、5個目の 1 の直後に 0 を挿入する。
    0100「111110」1000
ゼロインサーションの例(受信側)

(フラグ が HDLC の 01111110 である場合)

  1. フラグ と フラグ の間のデータ部として、01001111101000 を受信。
  2. データ中に 1 が 5個連続で配置されていることを検出。
    0100「111110」1000
  3. 5個目の 1 の直後に存在する 0 を削除する。
    0100「11111」1000
タイトルとURLをコピーしました