【OSI 参照モデル L2 データリンク層】イーサネットとは

OSI 参照モデルTCP/IP モデルTCP/IP プロトコル実装
アプリケーション層アプリケーション層HTTP, DNS, DHCP,
SSH, MIME, TLS
アプリケーション
プログラム
プレゼンテーション層
セッション層
トランスポート層トランスポート層TCP, UDPOS
ネットワーク層インターネット層IP, ICMP, ARP, IPSec
物理層
OSI 参照モデルTCP/IP は完全に 1:1 ではない。ARP はデータリンク層とネットワーク層の間 (詳しくはここ)。
データリンク層/ネットワークインターフェイスデータリンク層とは、同じネットワーク内の直接繋がった機器と通信するための層です。

ネットワーク、LAN、WAN とは

ネットワークネットワークとは、複数のコンピュータを繋げた状態を指します。

現在は、主に無線の場合 Wi-Fi、有線の場合イーサネットで繋げた状態を指します。

LAN (Local Area Network)LAN とは、限定されたエリアで接続したネットワークのことです。

具体的には、家庭や企業内で使用するネットワークのことです。

WANWAN とは、LAN と LAN を接続したネットワークのことです。

WAN の具体例は以下のとおりです。

  • 特定のプライベートな LAN とだけ通信可能な「専用回線・広域イーサネット・VPN」
  • 不特定多数の LAN と通信可能な「インターネット

プライベートな通信網が構成されるWANは、限られたユーザーのみがアクセスするネットワークだという点で、インターネットとは全く別のものなのです。

(中略)

なお、日常的に利用しているインターネット通信もWANの1つです。

https://www.ntt.com/business/services/network/internet-connect/ocn-business/bocn/knowledge/archive_101.html

TCP/IP プロトコルでは、イーサネットがデータリンク層に相当します。

イーサネット (Ethernet/IEEE 802.3)イーサネットとは、有線 LAN の規格を決める TCP/IP プロトコルの1つです。

ちなみに、無線 LAN の代表的な規格は Wi-Fi (IEEE 802.11) です。

スポンサーリンク

イーサネットフレームとは

イーサネットフレームイーサネットフレームとは、イーサネットで通信する際に用いるデータのフォーマットです。

イーサネットフレームは歴史的な経緯から以下のような種類があります。

今回は最も使われている Ethernet II フレームについて説明します。

フォーマット

Ethernet II フレームのフォーマットは、以下のとおりです。

1回で送信可能なデータの最大量を MTU と言います。
Ethernet の MTU は見ての通り、1500 Byte です。
フィールドフィールドの説明
プリアンブル (後述)イーサネットフレームの始まりを示す
物理層で生成・破棄される
送信先 MAC アドレス (後述)イーサネットフレーム送信先の MAC アドレス
送信元 MAC アドレス (後述)イーサネットフレーム送信元の MAC アドレス
タイプ使用するプロトコルを表す
・0x0800 IPv4
・0x0806 ARP
・0x809b AppleTalk
・0x8100 IEEE802.1Q
・0x8137 IPX
・0x86dd IPv6
データデータ本体
データが 46byte 未満なら、パディング (ダミーの0) で埋める
FCS受信したフレームの誤り検知のためのデータ

プリアンブル

プリアンブルとは、イーサネットフレームの始まりを示すビット列です。

物理層で送信する以下の信号は、どこからイーサネットフレームを示すのかわかりません。

最初の信号 0 が 「イーサネットフレームの値」か「まだ信号が流れていないだけ」か区別できない

そこで、「今からイーサネットフレームを送るよ!」という合図 (プリアンブル) を使います。

プリアンブルは 101010 を繰り返し、最後の末尾が 11 となり、イーサフレームの開始を示す

MAC アドレス

MAC アドレスとは、NIC 等に割り当てる物理アドレス (48bit) です。

MAC アドレスは、以下の部分に割り当てる番号で、通信相手を識別するために利用します。

※写真は NIC ではなく、組み込みの LAN ポート
MAC アドレスのフォーマット

MAC アドレスはベンダーが NIC 生産時に、以下のフォーマットで割り当てます。

I/G, G/L ビットによって、通信方式 (後述) が以下のように決定します。

I/G ビットG/L ビット
0ユニキャストグローバルアドレス
1マルチキャストアドレス。MAC アドレスが 01-00-5E から始まる
ブロードキャストアドレス。全ビットが 1(FF-FF-FF-FF-FF-FF)
ローカルアドレス
https://xtech.nikkei.com/it/article/COLUMN/20070829/280708/

通信方式の分類

通信方式には次の4種類が存在します。

ユニキャスト

ユニキャストとは、1つのコンピュータに送信することです。
ユニキャスト:1人だけ

ブロードキャスト

ブロードキャストとは、すべてのコンピュータに送信することです。
ブロードキャスト:全員。ルーターは超えない

ブロードキャストを示す送信先 MAC アドレスは FF-FF-FF-FF-FF-FF です。

マルチキャスト

マルチキャストとは、特定のグループのコンピュータだけに送信することです。
マルチキャスト:同じグループ全員

マルチキャストを示す送信先 MAC アドレスは 01-00-5E から始まります。

エニーキャスト

エニーキャストとは、特定のグループの、どれか1つのコンピュータと通信することです。
エニーキャスト:同じグループのどれか1つ
スポンサーリンク

データリンク層のネットワーク機器

データリンク層で利用するネットワーク機器は以下の2つです。

  • ブリッジ
  • L2 スイッチ(スイッチング・ハブ)

ブリッジ

ブリッジとは、MAC アドレスで通信を制御する機器です。
また、コリジョンドメインを分割したり、リピーターの機能も持ちます。

MAC アドレスで通信を制御

ブリッジが、送信先 MAC アドレスを元に通信を制御する様子を見てみます。

ブリッジは同軸ケーブル時代の製品

コリジョンドメインを分割

コリジョンドメインコリジョンドメインとは、コリジョン (信号の衝突) が起こる範囲のことです。
リピーターハブ: コリジョンドメインを分割しない
ブリッジ: コリジョンドメインを2つに分割

右のブリッジはコリジョンドメインが異なるため、データを同時送信しても衝突が発生しません。

L2 スイッチ (スイッチング・ハブ)

L2 スイッチとは、MAC アドレスで送信先を決める機器です。
また、コリジョンドメインを分割したり、リピーターの機能も持ちます。
スイッチはツイストペアケーブルで接続
全二重通信でコリジョンドメインはポートごとに分割

L2 スイッチは、ポートがたくさんあるブリッジです。
(新製品を売る時は、名前を変えたほうが新しい製品な感じがするでしょう?)

この頃から、「スイッチングハブ」の名称が使われるようになったが、実体はあくまでもマルチポートブリッジであった。

https://ja.wikipedia.org/wiki/スイッチングハブ#第一世代

ネットワーク機器ごとの比較

リピーターリピーターハブブリッジL2 スイッチ
信号の増幅・整形
複数のポート×
コリジョンドメインの分割××
MAC アドレスを指定××

L2 スイッチ (スイッチングハブ) は全ての機能を持つので、現在では L2 スイッチを使います。
(現在、リピーターリピーターハブ、ブリッジは使いません)

スポンサーリンク

L2 スイッチの機能

L2 スイッチは、MAC アドレステーブル (ポートと MAC アドレスの対応表) を持ちます。

L2 スイッチは、この MAC アドレステーブルに関する3つの機能を持ちます。

  • フラッディング (MAC アドレステーブルに送信先が無い時)
  • フィルタリング (MAC アドレステーブルに送信先がある時)
  • エージング

フラッディング

フラッディングとは、MAC アドレステーブルに送信先の MAC アドレスが存在しない場合、受信したポート以外の全てのポートにフレームを転送する機能です。
00:00:00:00:00:02 宛てに送信

他人宛のフレームを受け取った PC 00:00:00:00:00:03 は、データを破棄

ポートMAC アドレス
データ送信の MAC アドレステーブル
ポートMAC アドレス
100:00:00:00:00:01
データ送信の MAC アドレステーブル

なお、MAC アドレステーブルはデータを受け取ったポートの MAC アドレスを記録します。

フィルタリング

フィルタリングとは、MAC アドレステーブルに送信先の MAC アドレスが存在する場合、対応するポートにだけ転送する機能です。(他のポートに送信しない)
00:00:00:00:00:01 宛てに送信
ポートMAC アドレス
100:00:00:00:00:01
データ送信の MAC アドレステーブル
ポートMAC アドレス
100:00:00:00:00:01
200:00:00:00:00:02
データ送信の MAC アドレステーブル

今回は、MAC アドレステーブルに一致する MAC アドレスが存在するため、フラッディングではなく、フィルタリングをしています。

エージング

エージングとは、一定時間で MAC アドレステーブルからエントリを削除する機能です。

エージングにより、一定時間で MAC アドレステーブルの古いエントリは削除されます。

ポートMAC アドレス
100:00:00:00:00:01
200:00:00:00:00:02
データ送信後の MAC アドレステーブル

新しいコンピュータに繋ぎ変えた時、一定時間で古いコンピュータのエントリが消えて便利です。

データリンク層を使った通信例

最後に、データリンク層を使った実際の通信を見てみます。

■通信例
ホスト 192.168.0.1 から、ホスト 192.168.0.2 に ping (ICMP) ※を送信します。
※ルーターを経由しないので、データリンク層のネットワークだけで通信が完結します

[ARP = 緑のアイコン]・[ICMP = 黒いアイコン]
  1. PC1 の MAC アドレスを調べるために、PC0 が ARP をブロードキャスト
  2. 自分の IP アドレスと一致したホストだけ、自分の MAC アドレスを含めた ARP を返す
  3. PC0 が MAC アドレスを元に、PC1 に ICMP を送る

最後に

OSI 参照モデルの L2/データリンク層に関する説明は以上となります。

OSI 参照モデルTCP/IP モデルTCP/IP プロトコル実装
アプリケーション層アプリケーション層HTTP, DNS, DHCP,
SSH, MIME, TLS
アプリケーション
プログラム
プレゼンテーション層
セッション層
トランスポート層トランスポート層TCP, UDPOS
ネットワーク層インターネット層IP, ICMP, ARP, IPSec
物理層
OSI 参照モデルTCP/IP は完全に 1:1 ではない。ARP はデータリンク層とネットワーク層の間 (詳しくはここ)。

参考記事

3 Minutes Networking
ネットワークエンジニアとして
ネットワークエンジニアに必要なネットワーク技術とCisco・Juniper・F5製品の技術解説。NWエンジニアの仕事内容や年収を紹介。ネットワークスペシャリスト、CCNA/CCNP/CCIEの情報発信。