HDLC(High-Level Data Link Control)は、高速な通信を行うための伝送手順です。
HDLCでは誤り制御にCRCを使用します。
同期方式
HDLCでは同期方式としてフラグ同期方式を使用しており、フラグシーケンスに挟んだ任意のビット列を送信できます。
ちなみに、HDLCのノードが送信するデータを持たない場合、フラグシーケンスを送信し続けます。これをアクティブ状態と言います。
また、HDLCのノードがフレームを送信不能な場合、1を連続して15個以上送信します。これをアイドリング状態と言います。
フレーム構成
HDLCのフレーム種別は用途により3つあります。
■Iフレーム(情報フレーム)
Iフレームはデータ伝送のためのフレームです。
■Sフレーム(監視フレーム)
Sフレームはデータリンク管理のためのフレームです。受信確認や再送制御に使用します。
■Uフレーム(非番号制フレーム)
Uフレームはデータリンクの確立・切断のためのフレームです。
■フレームの要素
- アドレス部
- 二次局のアドレスを格納します。
- P/Fビット
- フレームがコマンドの場合にはPビット、レスポンスの場合にはFビットとして扱われます。コマンドがレスポンスを要求する際にPビットを1にします。また、コマンドに対するレスポンスではFビットを常に1にします。
- 送信順序番号
- 自局が送信するIフレームの順序を表す番号です。
- 受信順序番号
- 次に相手局に送信してもらいたいIフレームの番号です。
- 監視ビット
- 監視フレームの種類を表します。
- 修飾ビット
- 非番号制フレームの種類を表します。
- 情報部
- 情報部にはユーザデータを格納します。
- FCS
- 誤り制御のためのフィールドです。CRCコードが格納されます。
通信クラス
HDLCには以下の3つの通信クラスがあります。
UNC(Unbalanced operation NRM Class: 不平衡型正規応答モードクラス)
UNCは、一台の一次局と複数台の二次局から構成され、一次局が通信の制御権を持ちます。
また、二次局は一次局の許可がある場合だけデータを送信できます。
UAC(Unbalanced operation ARM Class: 不平衡型非同期応答モードクラス)
UACは、一台の一次局と複数台の二次局から構成され、一次局が通信の制御権を持ちます。
また、二次局は自由にデータを送信できます。
BAC(Balanced operation ABM Class: 平衡型非同期応答モードクラス)
BACは、二台の複合局から構成され、一対一で通信を行います。
BACでは、どちらの局も通信の制御を行えます。
また、どちらの局も自由にデータを送信できます。
HDLCでは、以下の手順で通信を行います。
- データリンクの確立
- データの伝送
- データリンクの切断