データ転送
データ転送(データてんそう)とは、ある場所から別の場所へ何らかのデータや情報を転送することである。かつては飛脚が使われたり、焚き火や腕木通信のリレーで行われたりしたが、その後、モールス符号を使って行われるようになった(ただし、今でも大容量データ転送は航空便・バイク便、速達や車両輸送が活用される)。
さらにテレックスやコンピュータを使い、ビットまたはバイトのストリームを様々な技術を駆使して送信するようになった。転送手段としては、銅線、光ファイバー、レーザー、無線、赤外線などがある。例えば、Webサイトにアクセスして記憶装置からデータを取り出すことで、WebサーバからWebブラウザにデータ転送が行われる。ただし遠方へのデータや情報の移動や送り出す手法には転送と伝送があり、これらは区別される。
データ転送に関する概念として通信プロトコルがある。現在はパケットをベースとしたプロトコルによる通信が多い。
種類
[編集]- シリアル(直列)転送
- データをビット列として一本の線で送る。1度に1ビットだけ送るが、転送レートは高速化可能である。一般にチェックディジットやパリティビットを付与することで長距離の転送に使われる。
- パラレル(並列)転送
- 複数本の線を使い、複数ビットを同時並行して転送できる。データ転送レートはシリアル転送よりも高くできる。コンピュータ内部で使われることが多く、内部バスやプリンターとの接続で使われている。問題は、複数の線を使うため個々の線の特性が微妙に異なってしまい、ビットが相手に到達する時刻にばらつきが生じやすい点である。これがひどくなると、メッセージ内容が壊れ、意味がわからなくなる。したがって、パラレル転送は長距離には向かない。
同期データ転送と非同期データ転送
[編集]非同期データ転送では、ASCIIなどの文字を表すビット列の前後にスタートビットとストップビットを加え10ビットで転送する。例えば、"0100 0001" を転送する際は "1 0100 0001 0" となる。これらは受信側が文字の転送の開始と終了を検出するのに使われる。この方式はデータが間欠的に転送される場合に使われ、連続的に転送される場合には使われない。一般にスタートビットとストップビットは逆の極性になるよう配置される。これによって、受信側は次のパケットが送信されたことを検出できる。
同期データ転送では、スタートビットやストップビットは使われず、送信側と受信側でクロック信号を使って転送速度を同期させる。そしてデータを連続的に転送する。スタートビットやストップビットがない分だけデータ転送レートが高くなるが、クロック同期がくずれるとエラーが発生しやすくなる。また、受信側はプロトコル上送受信できない期間があり、その間の転送データは失われる。このような問題に対処するため、クロックの再同期機構を設け、チェックディジットなどを使ってバイト単位に正しく受信されたかを確認できるようにしている。