HDLC

HDLC

 HDLC(High-Level Data Link Control)は、データリンク層の通信プロトコルの一つです。HDLCは、主に広域ネットワーク(WAN)で使用され、同期シリアル通信でのデータ伝送を支援することを目的としています。

HDLCは、以下の3つのモードで動作します。

  1. ノーマルモード(NRM):双方向通信をサポートする単純なモードで、ほとんどの場合で使用されます。
  2. アスモード(ARM):一方向の通信のみをサポートし、逆方向の通信は別のチャネルで行われます。
  3. アビノーマルモード(ABM):NRMおよびARMのいずれかが失敗した場合に、代替として使用されます。

HDLCは、以下の3つのフレームタイプをサポートしています。

  1. インフォメーションフレーム:データ伝送のためのフレームです。
  2. コマンドフレーム:フロー制御やエラー制御などのコマンドを伝送するためのフレームです。
  3. レスポンスフレーム:コマンドフレームの応答を伝送するためのフレームです。

HDLCのフレームは、以下の要素で構成されています。

  1. フレーム区切り(フレームの開始と終了を示す識別子)
  2. アドレス(フレームの送信元と宛先を示す識別子)
  3. 制御情報(フロー制御、エラー制御、コマンドなどの情報)
  4. データ(必要に応じて含まれる)

 HDLCは、シンプルで効率的な通信プロトコルであり、多くのWANやLANで使用されています。ただし、HDLCは、ネットワークのトポロジーや機器の互換性に依存するため、相互運用性に問題がある場合があります。また、HDLCは、セキュリティの脆弱性があるため、データの暗号化や認証の強化が必要です。

HDLC手順

HDLCの手順は以下のようになります。

  1. フレームの開始:送信側は、フレームの開始を示す識別子を送信します。この識別子は、通常は01111110となります。
  2. アドレスの送信:次に、送信側はアドレスを送信します。アドレスには、宛先のアドレスと送信元のアドレスが含まれます。
  3. 制御情報の送信:送信側は、フロー制御、エラー制御、コマンドなどの制御情報を含む制御フィールドを送信します。
  4. データの送信:必要に応じて、送信側はデータを送信します。データは、通常は送信元と宛先の間でのみ有効であるため、制御フィールドとは異なります。
  5. フレームの終了:送信側は、フレームの終了を示す識別子を送信します。この識別子も、通常は01111110となります。

受信側は、送信側が送信したフレームを受信するために、以下の手順を実行します。

  1. フレームの開始の検出:受信側は、01111110という識別子を検出して、フレームの開始を検出します。
  2. アドレスの検出:次に、受信側は、アドレスを検出します。このアドレスには、宛先のアドレスと送信元のアドレスが含まれます。
  3. 制御情報の検出:受信側は、制御情報を含む制御フィールドを検出します。
  4. データの検出:必要に応じて、受信側はデータを検出します。データは、通常は送信元と宛先の間でのみ有効であるため、制御フィールドとは異なります。
  5. フレームの終了の検出:受信側は、01111110という識別子を検出して、フレームの終了を検出します。

 以上が、HDLCの基本的な送信および受信の手順です。しかし、実際の通信では、フロー制御、エラー制御、再送制御などの機能が使用され、これらの手順が複雑化します。