ネットワークの同期制御について調べてみた

同期とは、通信時に送信側と受信側でタイミングを合わせることです。
同期をとらない(=タイミングを合わせない)場合、送受信相手の言ってることをうまく認識できないようです。人と会話をするときでも、空気が読めないと相手と同じタイミングで話し始めてしまったりします。通信ではそういうことを避けるために同期をとるのでしょう。

同期の取り方

同期の取り方は、大きく分けて2種類あります。

ビット同期
送信される波形中のどの部分が1ビットのデータなのかを判断することが目的です。
ブロック同期
送信される波形中のどの部分がデータの固まり(ブロック)なのかを判断することが目的です。

なお、ブロック同期を行うためには、あらかじめビット同期ができていることが前提になります。

ビット同期の種類

ビット同期の方式には以下の2種類があります。

同期方式(=連続同期方式)

同期方式では、データ信号中にタイミングをとるための信号を混ぜます。タイミング用の信号を基準として、送信される波形のどの部分が1ビットのデータなのかを判断します。
以下が、同期方式の特徴です。

  • データの形によっては、タイミング用の信号を認識しづらいです。
非同期方式(=調歩同期方式)

非同期方式では、7 or 8ビットの送信データ毎に、始まりと終わりを表すビットを付けます。これらの始まりと終わりのビットにより、送信波形中の7 or 8 ビットの開始位置と終了位置を判断します。中間にあるビットの位置は、データの送信速度から判断します。
以下が、非同期方式の特徴です。

  • 7 or 8ビットに対し、(始まりと終わりを表す)2ビットの情報が余計に必要になるため、オーバヘッドが大きいです。
  • 送受信側で、データのサイズや、ビット間の送信タイミングを合わせる必要があります。

ブロック同期の種類

ビット同期の方式には以下の2種類があります。

キャラクタ同期方式

キャラクタ同期方式では、特別な文字(キャラクタ)であるSYNコードを送信データの前に付けることで、データの固まりの開始位置を判断します。
以下、キャラクタ同期方式の特徴です。

  • 8ビット長のデータの送信だけに対応しています。
  • SYNコードと同じパターンのデータは送信できません。
フラグ同期方式

フラグ同期方式では、適当な長さのフラグパターンを送信データの前後に付けることで、データの固まりの開始位置と終了位置を判断します。
以下が、フラグ同期方式の利点です。

  • 好きな長さのデータを送信できます。
  • 好きなパターンのデータを送信できます。ゼロインサーションという仕組みにより、フラグパターン同じ形のデータがあってもうまく解決してくれます。

参考文献

以下の本をの内容をもとにしています。