HDLC(High-level Data Link Control)とは?概要と仕組みを解説 - なんちゃってプログラマーの日記

HDLC(High-level Data Link Control)とは?概要と仕組みを解説

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フレームの基本構造は以下のようになっています。

 
| フラグ | アドレス | 制御 | 情報 | FCS | フラグ |

各フィールドの詳細は次のとおりです。

  1. フラグ(Flag):

    • 8ビット(01111110)の固定パターン
    • フレームの開始と終了を示す
    • フラグとデータの区別のため、ビットスタッフ(Bit Stuffing)が適用される
  2. アドレス(Address):

    • 送信先または受信先のアドレス(1バイト以上)
    • ポイント・ツー・ポイント通信では固定値(通常0xFF
  3. 制御(Control):

    • 送受信するフレームの種類を示す
    • 主に以下の3種類のフレームがある
      • Iフレーム(情報フレーム): データを送る
      • Sフレーム(監視フレーム): エラー制御・フロー制御
      • Uフレーム(非番号フレーム): リンク管理
  4. 情報(Information):

    • 実際のデータが入るフィールド
    • Iフレームのみで使用される
  5. FCS(Frame Check Sequence):

    • フレームのエラーチェック用(通常16ビットまたは32ビットのCRC
  6. フラグ(Flag):

    • フレームの終端を示す

HDLCの通信モード

HDLCは、通信の方式によって以下の3つのモードを持っています。

  1. Nモード(Normal Response Mode, NRM):

    • マスター・スレーブ型の通信
    • マスター(制御局)が主導し、スレーブ(従属局)は応答のみ
    • 主にホストと端末の通信で使用
  2. ABMモード(Asynchronous Balanced Mode):

    • 対等なノード間での双方向通信(ポイント・ツー・ポイント向け)
    • PPPなどで使用される
  3. ARMモード(Asynchronous Response Mode):

    • スレーブが自主的に送信できるモード
    • 通常のWANではあまり使われない

HDLCの特徴と利点

HDLCの特徴や利点を以下にまとめます。

ビット指向のプロトコル(データの種類に依存しない)
エラー検出機能FCSによるCRCチェック)
フロー制御のサポート(ACKやNACKを使用)
効率的なデータ転送(ビットスタッフを活用し、データサイズを最適化)

一方、HDLCはWANやシリアル通信向けであり、イーサネットのようなLAN環境では使われないという点も注意が必要です。


HDLCの発展と応用

HDLCはその後、多くのプロトコルの基盤となりました。特に以下のプロトコルはHDLCを元に発展しています。


まとめ

HDLCは、WANやシリアル通信で使用される信頼性の高いデータリンク層プロトコルです。

  • フレーム構造: フラグ、アドレス、制御、情報、FCSで構成
  • 通信モード: NRM(マスター・スレーブ)、ABM(対等通信)、ARM(非同期応答)
  • 主な用途: WAN接続、シリアル通信、X.25やPPPの基盤

現代では、イーサネットWi-Fiが主流ですが、WANルーター専用線通信では今でもHDLC技術が活用されています。