- 伝送制御とは?
コンピュータ間を通信回線で接続しただけではデータの伝達を行うことはできません。どのようなタイミングでデータをやり取りするのかなど様々なルールが必要となります。それらを通信機器のレベルでまとめたものが伝送制御手順です。これらの下支えの元さらにプログラムごとのルールが適用されてデータ通信が行われます。
- 同期方式
送受信のタイミング
非同期 |
調歩同期 |
1文字ごとに送信
先頭:スタートビット「0」
末尾:ストップビット「1」(※送信なし) |
同期 |
キャラクタ同期
(SYN) |
複数文字を送信
制御用文字(SYN)※2個以上
ベーシック手順で利用 |
フラグ同期
(フレーム) |
任意データの送信
フレーム単位※複数送信可
フラグパターン「01111110」※送信なし
HDLC手順で利用 |
- 誤り制御
伝送誤りの検出
ノイズ(雑音)、減退(減衰)、遅延
(再送訂正)
パリティチェック |
パリティビット(1bit)付加
1の個数→偶数/奇数個
(排他的論理和:XOR) |
巡回冗長検査
(CRC) |
バースト(連続)誤り※0連続は苦手
生成多項式→CRC符号
(手順)
1.データ*生成多項式最高次数
※データ桁数を増やす
2.「1の結果」%生成多項式
※2進ベース割り算(Modulo2:モジュロ)
3.「2の余り」→CRC符号
種類 |
生成多項式 |
CRC-8(8bit) |
X8+X2+X+1(9桁) |
CRC-16(16bit) |
X16+X15+X2+1(17桁) |
CRC-ITU-T
(16bit) |
X16+X12+X5+1(17桁) |
|
(自己訂正)
水平垂直
パリティチェック |
パリティの行列組み合わせ
※対象データ+ブロック
1ビットの誤り訂正 ※2bit以上は検出不可
1 |
0 |
1 |
0 |
1 |
(例)
奇数パリティ |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
|
ハミングコード
(※ECCの1つ) |
2ビットの誤り検出
1ビットの誤り訂正
データ「n」ビット
→n <= 2^m - 1 (m→検査ビット)
(例)4 <= 2^3 - 1 ※(4<=7)
ハミングコード(データ+検査ビット)
ハミング(7bit) |
データ |
検査 |
4bit |
3bit
※データ内に混ぜる |
(手順)
1.データのグループ分け
(ビット位置、重み)
位置 |
重み |
グループ
(1)1,3,5,7
(2)2,3,6,7
(3)4,5,6,7
※複数の偶数パリティ
|
4 |
2 |
1 |
1 |
0 |
0 |
1 |
2 |
0 |
1 |
0 |
3 |
0 |
1 |
1 |
4 |
1 |
0 |
0 |
5 |
1 |
0 |
1 |
6 |
1 |
1 |
0 |
7 |
1 |
1 |
1 |
2.ハミングコード作成
(データ例:1101)
1 |
2 |
3 |
4 |
5 |
6 |
7 |
パ |
パ |
デ |
パ |
デ |
デ |
デ |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
※パリティを付けるとさらに確実
(実用例)
ECCメモリ、RAID-2、WinRAR
|
- データ伝送
伝送の開始〜終了までの手順
(5段階)
1.回線接続 |
回線制御 ※専用線不要 |
2.データリンク確立 |
データリンク制御 ※論理回線 |
3.データ伝送 |
同期、誤り制御 ※伝送制御(狭義) |
4.データリンク開放 |
データリンク制御 ※論理回線 |
5.回線切断 |
回線制御 |
※広義の伝送制御手順はデータ伝送のルール全体(1〜5)
(伝送制御手順)
名称 |
同期制御 |
誤り制御 |
速度 |
応答 |
無手順(TTY) |
調歩同期 |
なし |
低速 |
なし |
ベーシック手順 |
キャラクタ同期 |
パリティ |
中速 |
あり(半2重) |
HDLC手順 |
フラグ同期 |
CRC |
高速 |
あり(全2重) |
TTY(テレタイプ):Tele TypeWriter Procedures
- 無手順
ホスト−端末間
- ベーシック手順
ホストコンピュータ−端末
(同期)
制御文字(8bit)、10種類
符号 |
16進 |
機能 |
符号 |
16進 |
機能 |
SYN |
16 |
同期信号 |
ETB |
17 |
ブロック終結 |
SOH |
01 |
ヘッダ開始 |
ENQ |
05 |
状態問合せ |
STX |
02 |
テキスト開始 |
ACK |
06 |
肯定応答 |
ETX |
03 |
テキスト終了 |
NAK |
15 |
否定応答 |
EOT |
04 |
伝送終了 |
DEL |
10 |
伝送制御拡張 |
(メッセージフォーマット)
S
Y
N |
S
Y
N |
S
O
H |
ヘッダ |
S
T
X |
テキスト |
E
T
X |
BCC
(ブロック検査)
※奇数パリティ |
(データリンク確立)
論理回線作成(ENQ→ACK)
コンテンション方式 |
送信権が早いもの順
ポイントツーポイント接続 |
ポーリング/
セレクティング方式 |
送信権を集中管理(主局)
マルチポイント接続
(伝送)
ポーリング:従→主
セレクティング:主→従
|
- HDLC(ハイレベルデータリンクコントロール)
現在の伝送制御のベース(原型)
※サブセットとしてLAP-B、LAP-D、LAP-F
X.25やISDNのレイヤ2プロトコルとして、
また、フレームリレーやPPPの手順として広く利用
(同期)
フレーム→コマンド/レスポンス
(フレームフォーマット)
F(8) |
A(8) |
C(8) |
I |
FCS(16) |
F(8) |
0111
1110 |
送信先、元 |
フレーム情報 |
データ |
CRC |
0111
1110 |
※括弧()はbit数
F |
開始、終了フラグ(フラグシーケンス) |
A |
アドレス部(送、受どちらか1つのみ)
※コマンドは常に相手局、レスポンスは常に自局 |
FCS |
誤り検出(フレームチェックシーケンス) |
C |
制御フィールド
・シーケンス番号:Iフレームの順番
・P/Fビット:連続するコマンド、レスポンスの終了 |
I |
情報フィールド |
(フレーム種別)
I |
(情報転送フレーム)
データ |
制御部の1ビット目が0 |
S |
(監視フレーム)
制御:Iフレームの
受信確認応答、再送 |
制御部の1ビット目が1、
2ビット目が0 |
U |
(非番号制フレーム)
リンク確立/切断 |
制御部の1ビット目が1、
2ビット目が1 |
(データリンク確立)
論理回線作成(Uフレーム:コマンド/レスポンス)
不平衡型
(ふへいこう) |
一次局(親)、二次局(子)
ポーリング/セレクティング |
平衡型
(へいこう) |
複合局(コンテンション) |
※平衡:物がつりあっている状態
(任意ビット列の送信)
ビットスタッフィング:重複ビットパターン変更
フラグシーケンスの識別 |
送信側 1が5つ連続→0を挿入 |
受信側 1が5つ連続→0を削除 |
(スライディングウィンドウ)
フレームの連続送信(伝送効率の向上)
※確認応答なしで送信できるフレーム数
|