はじめに
データリンク層は、同じLANなどの一つのリンク内で、データを次の機器へ届ける役割を持つ層です。
ネットワーク通信では、最終的な宛先のIPアドレスだけでなく、現在接続しているリンク上で「同じLAN内の宛先へ渡すのか、次のルーターへ渡すのか」を判断する必要があります。そのときに使われるのが、フレームやMACアドレスといったデータリンク層の仕組みです。
この記事では、データリンク層が担当する範囲と、フレーム化、MACアドレス、誤り検出の関係を解説します。
この記事で分かること
- データリンク層が担当する通信範囲
- フレームとMACアドレスの役割
- 誤り検出で確認していること
- 物理層・ネットワーク層との違い
データリンク層とは
データリンク層とは、OSI参照モデルの第2層に位置し、同一リンク上の機器間でデータを受け渡すための機能を担当する層です。
ここでいうリンクとは、同じデータリンク方式を使ってフレームを交換できる範囲を指します。Ethernetでは、途中に複数のスイッチがあっても、同じLAN内であれば一つのリンクとして扱えます。データリンク層は、その範囲内にある通信相手へフレームを届けます。
同じスイッチや配線を使いながら、端末を別々のネットワークグループとして扱いたい場合は、VLANを利用します。VLANの基本と、VLAN IDによるグループ分けは、「VLANとは?ネットワークを論理的に分割する仕組みを解説」で解説しています。
OSI参照モデル全体の階層とTCP/IPモデルとの対応は、「OSI参照モデルとは?TCP/IPモデルとの違いと7階層の役割」で解説しています。
データリンク層の3つの役割
ネットワーク層のデータをフレームに包む
データリンク層は、上位のネットワーク層から受け取ったパケットに、リンク内の転送に必要なヘッダーやトレーラーを付けます。このデータ単位がフレームです。
フレームには、送信元と送信先を示す情報や、データが壊れていないかを確認する情報などが含まれます。データを単に0と1の信号として送るのではなく、リンク上で意味を持つ単位として扱うための仕組みです。
なお、データリンク層が任意の大きなデータを細かく分割し、問題があった部分だけを再送するとは限りません。フレームの形式や最大サイズ、再送の有無は、使用するデータリンク技術によって異なります。
MACアドレスで次の機器を識別する
Ethernetなどでは、リンク内の通信相手を識別するためにMACアドレスを使います。スイッチはフレームの送信先MACアドレスを確認し、対応するポートへ転送します。
IPアドレスが最終的な通信先をネットワーク層で示すのに対し、MACアドレスは現在のリンク上でフレームを渡す相手を示します。同じLAN内の相手ならその機器のMACアドレスを、異なるネットワークの相手なら次のルーターのMACアドレスを使用します。ルーターを越えるたびに、フレームの送信元・送信先MACアドレスは次のリンクに合わせて変わります。
MACアドレスの48ビット構造や、個別/グループ、ユニバーサル/ローカルの違いは、「MACアドレスとは?48ビットの構造と役割をわかりやすく解説」で解説しています。
フレームの誤りを検出する
通信中のノイズなどによって、フレームの内容が変化する可能性があります。Ethernetでは、FCS(Frame Check Sequence)にCRCを利用し、受信したフレームに誤りがないかを確認します。
計算結果が一致しなければ、受信側はフレームが破損していると判断できます。ただし、誤りを検出したデータリンク層が必ず修復や再送まで行うわけではありません。破損したフレームを破棄し、必要な再送を上位層へ任せる方式もあります。
データは1ホップずつ届けられる
異なるネットワークにある相手へ送る場合でも、データリンク層が一度に最終地点まで届けるわけではありません。送信元は、同じLAN内の宛先へ直接フレームを送るか、異なるネットワークなら次ホップのルーターへフレームを送ります。途中のスイッチは、送信先MACアドレスを見て同じフレームを転送します。
ルーターは受信したフレームからネットワーク層のパケットを取り出し、経路を判断します。その後、次のリンクで使用する送信元・送信先MACアドレスを付けた新しいフレームに包み直して転送します。
この処理をリンクごとに繰り返すことで、IPパケットは最終的な宛先へ近づきます。データリンク層はネットワーク全体の経路ではなく、同一リンク内の宛先または次ホップへフレームを届ける処理を担当しています。
代表的なデータリンク技術
Ethernet
Ethernetは、有線LANで広く使われるデータリンク技術です。MACアドレスとEthernetフレームを使って、同一LAN内の機器間でデータを転送します。
Ethernetフレームを構成する各フィールドの役割は、「イーサネットフレームとは?構造と各フィールドの役割を解説」で詳しく解説しています。
PPP
PPP(Point-to-Point Protocol)は、2つの機器を1対1で接続するリンクで使われるプロトコルです。Ethernetとはフレーム形式が異なりますが、上位層のパケットをリンク上で運ぶ役割は共通しています。
PPPでLCPによるリンク確立、認証、NCPによるネットワーク層設定を行う流れは、「PPPとは?ポイントツーポイント通信の仕組みとLCP・NCPを解説」で詳しく解説しています。
ATM
ATMは、固定長のセルを使ってデータを転送する方式です。現在の一般的なLANではEthernetが中心ですが、データリンク技術によってデータ単位や制御方法が異なる例として理解できます。詳しくは、ATM(Asynchronous Transfer Mode)とは?セル交換方式の仕組みと特徴をわかりやすく解説で解説しています。
無線LAN(Wi-Fi)も代表的なデータリンク技術です。アクセスポイント、SSID、周波数帯、暗号化の基本は、「無線LAN(Wi-Fi)とは?仕組み・SSID・周波数帯を分かりやすく解説」で解説しています。
物理層・ネットワーク層との違い
| 層 | 主な役割 | 扱う単位 | 通信範囲 |
|---|---|---|---|
| 物理層 | 電気・光・無線の信号を送受信する | ビット | 物理的な接続 |
| データリンク層 | フレームを同一リンク内の相手へ届ける | フレーム | 同一リンク内 |
| ネットワーク層 | 宛先ネットワークまでの経路を選ぶ | パケット | 複数のネットワーク間 |
ツイストペアケーブル、光ファイバー、電波などの媒体と信号を扱うのは物理層です。データリンク層は、その物理的な接続を利用してフレームを運びます。物理層については、物理層とは?OSI参照モデルの基礎と通信方式の重要性を解説を参照してください。
ネットワーク層は、IPアドレスとルーティングを使って、複数のネットワークを越えてパケットを届けます。詳しくは、IPとは?ネットワーク層の役割やルーティングを初心者向けに分かりやすく解説で解説しています。
L2スイッチ、ルーター、L4・L7の負荷分散機器を、扱う情報と中継範囲から横断して比較したい場合は、「ネットワーク機器の種類と違い|OSI階層と役割を分かりやすく解説」を参照してください。
まとめ
データリンク層は、同一リンク上にある通信相手へデータを届けるOSI参照モデル第2層です。
- 上位層のパケットをフレームに包む
- MACアドレスで同一リンク内の宛先または次ホップを識別する
- FCSやCRCでフレームの誤りを検出する
- ルーターを越える通信では、リンクごとにフレームを作り直す
- 物理層は信号、ネットワーク層は経路選択を担当する
「同じネットワーク内で届ける層」とだけ覚えるのではなく、同一リンク内の宛先または次ホップへフレームを渡す層と捉えると、MACアドレスとIPアドレスの役割分担を整理できます。