タイトル: データリンク層(第2層)
SEOタイトル: OSI 第2層 データリンク層とは(MAC アドレス / Ethernet / フレーム / スイッチ 完全ガイド)
| この記事の要点 |
- データリンク層 (L2) は OSI 参照モデルの第 2 層。隣接ノード間での確実なデータ伝送を担当
- 主な仕事: フレーム化 / MAC アドレスによる宛先指定 / 衝突回避 / 誤り検出
- 代表プロトコル: Ethernet (IEEE 802.3) / Wi-Fi (IEEE 802.11) / PPP / HDLC
- 機器: スイッチ (L2 スイッチ) / ブリッジ / NIC — MAC アドレスで動く
- サブレイヤー: LLC (上位層インタフェース) と MAC (媒体アクセス制御) の 2 層構成
- VLAN / STP / LACP などの L2 機能で論理分割・冗長化・帯域拡張
|
データリンク層 (L2) とは
データリンク層 (Data Link Layer) は OSI 参照モデルの第 2 層に位置するレイヤーで、物理的に直接つながった隣接ノード間での確実なデータ伝送を担当します。
物理層 (L1) が「電気信号として 0/1 を運ぶ」のに対し、データリンク層はその 0/1 を意味のあるまとまり(フレーム)にして、宛先を指定して送るのが仕事です。
主な役割
| 役割 | 説明 |
| フレーム化 | ビット列をフレーム単位に区切る(先頭/末尾の同期パターン) |
| アドレッシング | MAC アドレスで送信元 / 宛先を指定 |
| 媒体アクセス制御 | 同じ媒体を複数機器が共有 — 衝突回避 (CSMA/CD, CSMA/CA) |
| 誤り検出 | FCS (Frame Check Sequence) = CRC で壊れたフレームを検出 |
| フロー制御 | 送信スピード調整 (PAUSE フレームなど) |
| 誤り訂正 / 再送 | プロトコルによっては再送制御も実施 |
サブレイヤー: LLC と MAC
IEEE 802 規格ではデータリンク層を 2 つに分けています。
| サブレイヤー | 規格 | 役割 |
| LLC (Logical Link Control) | IEEE 802.2 | 上位層(IP / IPX)への共通インタフェース、コネクション制御 |
| MAC (Media Access Control) | IEEE 802.3 (Ethernet)、802.11 (Wi-Fi) | 物理媒体へのアクセス制御、MAC アドレスでのアドレッシング |
MAC アドレス
MAC アドレスはネットワークインタフェース(NIC)に焼かれた 48 ビットの一意なハードウェア識別子です。
| 項目 | 内容 |
| サイズ | 48 ビット = 6 バイト |
| 表記 | 00:1A:2B:3C:4D:5E |
| 前半 3 バイト | OUI = ベンダー識別子(Apple, Cisco, Intel 等) |
| 後半 3 バイト | ベンダー内シリアル |
| 特殊アドレス | FF:FF:FF:FF:FF:FF = ブロードキャスト |
# Linux で NIC の MAC アドレス確認
ip link show
# 2: eth0: mtu 1500
# link/ether 00:1a:2b:3c:4d:5e brd ff:ff:ff:ff:ff:ff
# Windows
ipconfig /all
getmac
# macOS
ifconfig en0 | grep ether
主なデータリンク層プロトコル
| プロトコル | 規格 | 用途 |
| Ethernet | IEEE 802.3 | 有線 LAN の事実上の標準 |
| Wi-Fi | IEEE 802.11 a/b/g/n/ac/ax | 無線 LAN |
| PPP (Point-to-Point Protocol) | RFC 1661 | WAN 接続、PPPoE 経由のフレッツ網等 |
| HDLC | ISO/IEC 13239 | シリアル WAN リンク |
| Frame Relay / ATM | ITU-T 標準 | 旧世代 WAN(廃れつつあり) |
| Token Ring | IEEE 802.5 | レガシー(消滅) |
Ethernet フレームの構造
| フィールド | サイズ | 内容 |
| プリアンブル | 7 byte | 同期用パターン |
| SFD | 1 byte | フレーム開始位置 |
| 宛先 MAC | 6 byte | 受信先 MAC アドレス |
| 送信元 MAC | 6 byte | 送信元 MAC アドレス |
| タイプ / 長さ | 2 byte | 0x0800 = IPv4、0x86DD = IPv6 |
| ペイロード | 46〜1500 byte | 上位層 (IP) パケットを格納 |
| FCS (CRC-32) | 4 byte | 誤り検出符号 |
データリンク層で動く機器
| 機器 | 層 | 判断材料 |
| NIC (LAN カード) | L1 + L2 | MAC アドレスを持つ通信エンドポイント |
| ブリッジ | L2 | MAC アドレス(古い機器) |
| L2 スイッチ | L2 | MAC アドレステーブルで宛先ポート決定 |
| 無線 AP | L2 | SSID + MAC で接続管理 |
| L3 スイッチ / ルーター | L3 | IP アドレスで転送(参考) |
| ハブ | L1 | 単純な信号増幅(L2 ではない、参考) |
主要な L2 機能・技術
| 技術 | 用途 |
| VLAN (IEEE 802.1Q) | 1 つの物理 LAN を論理的に複数に分割 |
| STP / RSTP / MSTP | ループ防止(冗長経路を 1 つだけ active に) |
| LACP (IEEE 802.3ad) | 複数リンクを束ねて帯域拡張・冗長化 |
| PoE (IEEE 802.3af/at/bt) | LAN ケーブルで電力供給 |
| Jumbo Frame | MTU を 9000 byte 等に拡大、データセンタで利用 |
| QinQ (IEEE 802.1ad) | VLAN tag の二重化(キャリア網用) |
L2 とイーサネットの図解
[ PC A ] ─── Ethernet フレーム ──→ [ L2 スイッチ ] ─── ─→ [ PC B ]
| |
MAC: 00:11:22:AA:BB:CC MAC アドレステーブル
Port 1 ← 00:11:22:AA:BB:CC
Port 2 ← 00:11:22:DD:EE:FF
宛先 MAC を見てポートを決め、目的の PC だけにフレームを転送
(ハブは全ポートに撒く / スイッチは宛先だけに送る)
FAQ
Q: ルーターは L2 機器?
A: いいえ、ルーターは L3 (ネットワーク層) で IP アドレスを見て転送。L2 スイッチは MAC アドレスで転送する別物。
Q: Wi-Fi も L2?
A: そう。IEEE 802.11 はデータリンク層の規格。L2 スイッチと同じく MAC アドレスで動く。
Q: MAC アドレスは世界で一意?
A: 製造時点では一意。だがソフトで偽装(spoofing)は可能。Docker や仮想マシンの NIC はランダム生成されたものを使う。
ARP — IP と MAC を結ぶ橋渡し
L3 の IP アドレスから L2 の MAC アドレスを解決するのが ARP (Address Resolution Protocol) です。同じ LAN セグメント内で「この IP のホストの MAC を教えて」とブロードキャストし、対象 PC がユニキャストで応答します。
# ARP キャッシュ確認
arp -a # Windows / Linux 共通
ip neigh show # Linux 推奨
# 例
192.168.1.1 00:1a:2b:cc:dd:ee ether STALE
192.168.1.10 00:1a:2b:11:22:33 ether REACHABLE
ARP は L2 と L3 の境界で動く特殊なプロトコル。OSI 的には L2.5 と呼ばれることもあります。
L2 セキュリティのリスク
| 攻撃 | 仕組み | 対策 |
| ARP スプーフィング | 偽の ARP 応答で通信経路を乗っ取る (MITM) | 動的 ARP 検査 (DAI) / 静的 ARP |
| MAC フラッディング | 偽 MAC を大量送信、スイッチをハブ状態に | ポートセキュリティ (MAC 数制限) |
| VLAN ホッピング | ダブルタグ等で別 VLAN へ侵入 | ネイティブ VLAN を未使用 ID に |
| DHCP スプーフィング | 偽 DHCP で誤った GW を配布 | DHCP スヌーピング |
L2 と他層の関係
| 層 | 名前 | 単位 | 機器 |
| L7 | アプリケーション層 | データ | Web ブラウザ / メールクライアント |
| L4 | トランスポート層 | セグメント | ポート番号 (TCP/UDP) |
| L3 | ネットワーク層 | パケット | ルーター / L3 スイッチ |
| L2 | データリンク層 | フレーム | L2 スイッチ / ブリッジ / NIC |
| L1 | 物理層 | ビット | ケーブル / ハブ / リピータ |