データリンク層とは?MACアドレスで隣まで届けるしくみを解説

4 min 1,483 views

データリンク層は、OSI参照モデルで通信を7つに分けた段のうち、下から2番目にあたります。

1つ下の物理層が0と1をそのまま流すだけなのに対して、この段からは「誰に渡すか」と「ちゃんと渡せたか」を見るようになります。「レイヤー2」「L2」と呼ばれるのもこの段です。

この記事では、データリンク層が実際に何をしているのかを、ネットワークが専門ではない方に向けて解説します。仕事の名前がよく似ているトランスポート層との違いも、規格の原文をもとに整理します。

データリンク層の役割とは? MACアドレスで隣の機器まで届ける段

データリンク層をあらわすイラスト(この節の扉絵)

データリンク層は、直接つながっている相手との間でデータを受け渡す段です。「直接つながっている」というのは、あいだにルーターを挟まない範囲という意味です。

荷物を送る仕事にたとえるなら、隣の営業所へ渡すときの手続きにあたります。最終的な届け先がどこかは、この段では扱いません。今つながっている相手に、確実に手渡すことだけを考えます。

手渡す相手を名指しするために使う番号が MACアドレスです。機器1台ごとに割り当てられていて、ルーターを挟まない範囲で相手を特定するのに使われます。

「ネットワーク」という言葉に注意

この範囲を「同じネットワークの中」と呼ぶ解説もありますが、1つ上の第3層はネットワーク層という名前です。同じ「ネットワーク」でも、層の名前として使うときと「ルーターを挟まない範囲」を指すときがあります。この記事では、まぎれないよう後者を「ルーターを挟まない範囲」と書きます。

IPアドレスとの違い

MACアドレスは「今つながっている相手」を指す番号、IPアドレスは「最終的な届け先」を指す番号です。荷物でいえば、MACアドレスが次に渡す営業所、IPアドレスが伝票に書かれた宛先住所にあたります。2つの違いはIPアドレスとMACアドレスの違いの記事で詳しく扱っています。

データリンク層の具体的な機能は4つ

搬送コンベアのイラスト(データリンク層の機能の節の扉絵)

MACアドレスで相手を名指しするほかに、次の4つの仕事をしています。

  • ビットの並びをフレームに区切る
  • 届いたものが壊れていないか確かめる
  • 相手が受け取れる速さに合わせる
  • 同時に送り出してぶつからないようにする

ビットの並びをフレームに区切る

物理層から上がってくるのは、0と1がひたすら並んだものです。そのままでは、どこからどこまでが1つのまとまりなのか分かりません。

そこでデータリンク層が「ここからここまでが1つ」という区切りを付けます。この区切られたひとまとまりをフレームと呼びます。文章でいえば、続けて流れてくる文字に句読点を打つような働きです。

規格の原文はこう書いている

OSI参照モデルを定めた ITU-T 勧告 X.200(原文は英語)は、この働きを「区切りと同期(delimiting and synchronization)」と呼び、注記に「これらの機能はフレーミングと呼ばれることがある」と添えています(7.6.4.5・2026年8月15日確認)。

届いたものが壊れていないか確かめる(誤り検出・エラーチェック)

ケーブルや電波を通るあいだに、信号が乱れて0と1が変わってしまうことがあります。データリンク層は、届いたフレームが送られたときのままかどうかを確かめます。

X.200 は、データリンク層について「物理層で起こりうる誤りを検出し、場合によっては訂正する」と定めています(7.6.2.2)。つまり、主に確かめるのは1つ下の段で起きた不具合です。あわせて原文は、相手側のデータリンク層の動作不良による誤りも検出の対象に挙げています(7.6.4.7)。

誤りを見つけたあとの扱いは、使っているしくみによって変わります。X.200 の書き方が「検出し、場合によっては訂正する」となっているのはそのためで、その場で直すこともあれば、そのフレームを捨てて上の段に任せることもあります。

相手が受け取れる速さに合わせる

送る側が速く、受け取る側が遅いと、処理が追いつかずにあふれてしまいます。そこで「少し待ってほしい」と伝えて速さを合わせるしくみがあります。これをフロー制御と呼びます。

ここで合わせているのは、あくまでつながっている相手との間だけです。送り主から受取人までの全体で調整するわけではありません。この違いは後ほど詳しく見ます。

同時に送り出してぶつからないようにする

1本の線や同じ電波を複数の機器で分け合っていると、みんなが同時に送り出したときにぶつかってしまいます。そうならないよう、送り出す順番を決める取り決めもこの段にあります。

有線LANでは、スイッチングハブが宛先の口にだけデータを送るため、ぶつかりにくくなっています。一方、無線LANは同じ電波をみんなで分け合うので、順番を待つしくみが今も働いています。

トランスポート層と名前が似ている仕事の違い

データリンク層を調べていると、上のほうにあるトランスポート層(第4層)でも「フロー制御」「誤りの検出」という同じ言葉が出てきます。

これは言葉が同じだけで、見ている範囲が違います。X.200 はトランスポート層の機能に「エンドツーエンド(end-to-end)」という言葉を付けて区別しています(7.4.4.1.1)。日本語にすると「端から端まで」です。

仕事データリンク層(第2層)トランスポート層(第4層)
見ている範囲つながっている隣の機器との間送り主から受取人まで全体
フロー制御隣の機器があふれないよう待たせる相手のパソコンがあふれないよう調整する
誤りの検出物理層で起きた乱れを見つける途中で丸ごと失われた分も含めて見つける
データの区切り方ビットの並びをフレームに区切る大きなデータを運べる大きさに切り分ける
よくある誤解

「データリンク層が大きなデータを小さく分割する」と説明されることがありますが、X.200 が定めているのはそうではありません。この段の「分割(splitting)」は、1つのつながりを複数の物理的な線に分けて運ぶことを指します(7.6.4.4)。

大きなデータを小さく切り分けるのは、トランスポート層(7.4.4.1.1)と、ネットワーク層のIPが担当しています。データリンク層がやっているのは、あくまで区切りを付けることです。

データリンク層で動く機器

この段の代表的な取り決めが、有線のイーサネットと無線のWi-Fiです。ふだん「LANケーブルでつなぐ」「Wi-Fiにつなぐ」と言っているものは、この2つのことだと思ってください。

ただし、この2つはこの段だけの取り決めではありません。どんな電気や電波で送るか(物理層)と、どう区切って誰に渡すか(データリンク層)を、まとめて1つの規格として決めています。層はあくまで役割を整理するための地図なので、実際の規格が段の境目にきれいに収まるとは限りません。

そして、MACアドレスを見て動く機器が、この段の機器です。

機器していること
スイッチングハブ(L2スイッチ)MACアドレスを見て、宛先の口にだけ送る
ブリッジ2つのネットワークをつなぎ、必要なものだけ通す
無線LANのアクセスポイント電波と有線のあいだでフレームを渡す

1つ下の物理層にもハブがありますが、そちらは中身を見ずにそのまま流し直すだけです。宛先を見て振り分けるかどうかが、2つの段の分かれ目になります。

まとめ

この記事では、OSI参照モデルの第2層にあたるデータリンク層について解説しました。

  • 直接つながっている相手との間で、データを受け渡す段
  • 相手を名指しするのに MACアドレスを使う
  • この段の仕事は4つ。フレームに区切る/壊れていないか確かめる/相手が受け取れる速さに合わせる/同時に送り出してぶつからないようにする
  • 代表的な取り決めはイーサネット(有線)とWi-Fi(無線)
  • 「フロー制御」「誤りの検出」はトランスポート層にもあるが、見ている範囲が違う
  • X.200 が定める第2層の仕事に、大きなデータを小さく切り分けることは入っていない

1つ上の段では、ルーターをまたいだ先まで届けるための経路選びが始まります。

この記事で引用した条項は、ITU-T 勧告 X.200 の 7.6 節(データリンク層)と 7.4 節(トランスポート層)です。

関連記事