ネットワーク

データリンク層とは?OSIモデルにおけるフレーム伝送とエラーチェックの仕組み

データリンク層はOSIモデルの第2層であり、隣接するネットワークノード間での信頼性の高いデータ転送を担います。

この層ではデータをフレームという単位に分割し、物理アドレスを用いて正確に宛先に送信します。

フレーム伝送では、送信側と受信側が同期を保ちつつデータを流します。

エラーチェックには主に\( \text{CRC} \)(循環冗長検査)が用いられ、受信側でフレームの整合性を確認し、エラーが検出された場合には再送要求が行われます。

これにより、データの正確性と信頼性が確保されます。

データリンク層の基本概要

データリンク層は、OSI参照モデルの第二層に位置し、物理層(第一層)とネットワーク層(第三層)の間に位置します。

この層の主な役割は、隣接するネットワークノード間で信頼性の高いデータ転送を実現することです。

具体的には、データのフレーム化、物理アドレッシング、誤り検出と修正、フロー制御などの機能を担当します。

主な機能

  • フレーム化: ネットワーク層から受け取ったパケットをフレームと呼ばれる単位に分割し、物理層へ送信します。
  • 物理アドレッシング: 各ノードに一意に割り当てられたMACアドレスを使用して、データの送受信先を特定します。
  • 誤り検出と修正: 伝送中に発生する可能性のあるビットエラーを検出し、必要に応じてデータの再送を行います。
  • フロー制御: 送信側と受信側のデータ処理速度の違いを調整し、データの損失や過負荷を防ぎます。

フレーム伝送のプロセス

データリンク層におけるフレーム伝送は、データが正確かつ効率的に送受信されるための重要なプロセスです。

以下に、フレーム伝送の基本的なステップを示します。

  1. データの準備: ネットワーク層から受け取ったパケットを確認し、送信に適したデータを抽出します。
  2. フレームの構築: データリンク層は、抽出したデータにヘッダーとトレーラーを付加してフレームを構築します。ヘッダーには送信元と宛先のMACアドレスが含まれ、トレーラーには誤り検出用の情報が含まれます。
  3. 物理層への送信: 構築されたフレームを物理層に渡し、実際の物理媒体(例えば、イーサネットケーブルや無線)を通じて相手ノードに送信します。
  4. 受信側での処理: 受信側のデータリンク層は、物理層からフレームを受け取り、ヘッダーやトレーラーを解析してデータの整合性を確認します。問題がなければ、ネットワーク層へデータを渡します。

フレームの構造

一般的なイーサネットフレームの構造は以下の通りです。

フィールド説明
プリアンブルフレームの開始を示すビット列
宛先MACアドレスデータの送信先を特定するアドレス
送信元MACアドレスデータの送信元を特定するアドレス
タイプ/長さフレームのタイプやペイロードの長さを示す
ペイロード実際のデータ(ネットワーク層からのパケット)
フットプリントエラーチェック用の情報(CRCなど)

エラーチェックと訂正のメカニズム

データリンク層では、伝送中に発生する可能性のあるエラーを検出し、訂正するためのさまざまなメカニズムが実装されています。

これにより、信頼性の高いデータ通信が保証されます。

主なエラーチェック手法

  1. パリティチェック: 各バイトやビットに対してパリティビットを追加し、送信時と受信時にパリティを比較してエラーを検出します。ただし、単一のビットエラーしか検出できません。
  2. チェックサム: 送信データのバイトやセグメントごとの合計値を計算し、受信側でも同様に合計値を計算することでエラーを検出します。TCP/IPなどのプロトコルで広く使用されています。
  3. 巡回冗長検査(CRC): 高度な誤り検出手法で、データに多項式を適用して生成されたCRC値をトレーラーに追加します。受信側で同じ計算を行い、CRC値が一致しない場合にエラーを検出します。イーサネットなどで標準的に使用されています。

エラ訂正の方法

エラーが検出された場合、データリンク層は以下のような方法で訂正を行います。

  • 再送要求(ARQ): 受信側がエラーを検出したフレームに対して再送を要求します。送信側は再送要求を受け取ると、該当するフレームを再送します。
  • 自動訂正(FEC): 送信側がエラー訂正符号を付加し、受信側がこれを利用してエラーを訂正します。代表的なものにハミング符号やリード・ソロモン符号があります。

フロー制御とエラーハンドリング

フロー制御は、送信側と受信側のデータ処理速度の違いを調整し、バッファのオーバーフローやデータの損失を防ぐ役割を果たします。

代表的な手法としては、以下が挙げられます。

  • ストップアンドウェイト方式: 送信側は1つのフレームを送信した後、受信側からの確認応答(ACK)を待ちます。ACKを受け取った後に次のフレームを送信します。
  • スライディングウィンドウ方式: 送信側は複数のフレームを同時に送信でき、ウィンドウサイズ内でのACKを待ちながら連続してデータを送ります。これにより、通信の効率が向上します。

OSIモデルにおけるデータリンク層の役割

OSI参照モデルにおいて、データリンク層はネットワーク通信の信頼性と効率性を確保するための重要な役割を担っています。

以下に、その具体的な役割と上位および下位層との関係性を説明します。

上位層とのインターフェース

データリンク層は、ネットワーク層(第三層)からのデータを受け取り、それをフレームに変換して物理層に渡します。

逆に、物理層から受け取ったフレームを解釈し、ネットワーク層へデータを渡します。

このように、データリンク層はデータの受け渡しと形式変換を管理します。

下位層(物理層)との連携

データリンク層は、物理層から提供される物理媒体(ケーブル、無線など)を通じてデータを送受信します。

物理層がビットレベルの信号伝送を担当する一方で、データリンク層はそのビットをフレームとして構造化し、エラー検出やアクセス制御などの機能を提供します。

ネットワーク通信の信頼性確保

データリンク層は、フレームの誤り検出と訂正、フロー制御を通じて通信の信頼性を確保します。

これにより、物理層で発生する可能性のあるノイズや干渉によるデータの損失や破損を最小限に抑えることができます。

ネットワークのスイッチングとブロードキャスティング

多くのネットワークデバイス(スイッチやブリッジ)はデータリンク層で動作し、MACアドレスを基にデータの転送先を決定します。

これにより、ネットワーク内の効率的なデータフローが実現されます。

標準プロトコルの実装

データリンク層では、イーサネット、PPP(Point-to-Point Protocol)、Wi-Fiなど、多様なプロトコルが実装されています。

これらのプロトコルは、それぞれのネットワーク環境や用途に応じて最適なデータ転送を提供します。

データリンク層は、OSIモデル全体の中で下位層と上位層を結びつけ、信頼性の高いデータ通信を支える基盤となっています。

そのため、ネットワーク設計やトラブルシューティングにおいても重要な役割を果たします。

まとめ

データリンク層の役割と機能について振り返りました。

フレームの伝送プロセスやエラーチェックの仕組みを通じて、信頼性の高いネットワーク通信が可能であることが理解できました。

これらの内容を活用し、実際のネットワーク構築やトラブルシューティングに取り組んでみましょう。

関連記事

Back to top button