HDLC(High-level Data Link Control)は、データリンク層(OSI参照モデルの第2層)で使用される通信プロトコルの一つです。主にポイント・ツー・ポイント(P2P)やポイント・マルチポイント(PMP)接続で利用され、信頼性の高いデータ転送を実現します。今回は、HDLCの基本概念、フレーム構造、通信モード、特徴などを解説します。
HDLCの基本概念
HDLCは、ビット指向のデータリンク制御プロトコルであり、データの転送を確実に行うためのエラーチェックやフロー制御の仕組みを提供します。もともとIBMのSDLC(Synchronous Data Link Control)を基に、ISO(国際標準化機構)が標準化したプロトコルです。
主な用途は以下のとおりです。
- WAN(広域ネットワーク)でのデータリンク管理
- シリアル通信のデータ転送
- X.25、PPP(Point-to-Point Protocol)などの基盤技術
HDLCのフレーム構造
HDLCのデータは「フレーム」と呼ばれる単位で送受信されます。HDLCフレームの基本構造は以下のようになっています。
各フィールドの詳細は次のとおりです。
-
フラグ(Flag):
- 8ビット(
01111110
)の固定パターン - フレームの開始と終了を示す
- フラグとデータの区別のため、ビットスタッフ(Bit Stuffing)が適用される
- 8ビット(
-
アドレス(Address):
- 送信先または受信先のアドレス(1バイト以上)
- ポイント・ツー・ポイント通信では固定値(通常
0xFF
)
-
制御(Control):
- 送受信するフレームの種類を示す
- 主に以下の3種類のフレームがある
- Iフレーム(情報フレーム): データを送る
- Sフレーム(監視フレーム): エラー制御・フロー制御
- Uフレーム(非番号フレーム): リンク管理
-
情報(Information):
- 実際のデータが入るフィールド
- Iフレームのみで使用される
-
FCS(Frame Check Sequence):
- フレームのエラーチェック用(通常16ビットまたは32ビットのCRC)
-
フラグ(Flag):
- フレームの終端を示す
HDLCの通信モード
HDLCは、通信の方式によって以下の3つのモードを持っています。
-
Nモード(Normal Response Mode, NRM):
- マスター・スレーブ型の通信
- マスター(制御局)が主導し、スレーブ(従属局)は応答のみ
- 主にホストと端末の通信で使用
-
ABMモード(Asynchronous Balanced Mode):
- 対等なノード間での双方向通信(ポイント・ツー・ポイント向け)
- PPPなどで使用される
-
ARMモード(Asynchronous Response Mode):
- スレーブが自主的に送信できるモード
- 通常のWANではあまり使われない
HDLCの特徴と利点
HDLCの特徴や利点を以下にまとめます。
✅ ビット指向のプロトコル(データの種類に依存しない)
✅ エラー検出機能(FCSによるCRCチェック)
✅ フロー制御のサポート(ACKやNACKを使用)
✅ 効率的なデータ転送(ビットスタッフを活用し、データサイズを最適化)
一方、HDLCはWANやシリアル通信向けであり、イーサネットのようなLAN環境では使われないという点も注意が必要です。
HDLCの発展と応用
HDLCはその後、多くのプロトコルの基盤となりました。特に以下のプロトコルはHDLCを元に発展しています。
- PPP(Point-to-Point Protocol):HDLCを基にした広域ネットワーク用プロトコル
- LAPB(Link Access Procedure, Balanced):X.25のデータリンク層プロトコル
- Cisco HDLC:HDLCをカスタマイズしたCisco独自のプロトコル
まとめ
HDLCは、WANやシリアル通信で使用される信頼性の高いデータリンク層プロトコルです。
- フレーム構造: フラグ、アドレス、制御、情報、FCSで構成
- 通信モード: NRM(マスター・スレーブ)、ABM(対等通信)、ARM(非同期応答)
- 主な用途: WAN接続、シリアル通信、X.25やPPPの基盤