Ethernetフレームとは?構造・MACアドレス・FCSを初心者向けに図解

ネットワーク初級編 15/全32記事

この記事は、 「ネットワーク初級編|通信の仕組みをゼロから学ぶ」 の第15回です。

前回学んだTCP/IPモデルのうち、ネットワークインターフェース層で使われる Ethernetフレームの構造を詳しく見ていきます。

Ethernetフレームとは?構造・MACアドレス・FCSを初心者向けに図解

パソコンから送信されたデータは、そのままLANケーブルを流れるわけではありません。 宛先MACアドレスや送信元MACアドレスなどの情報を付けた 「Ethernetフレーム」という形にして送信されます。 この記事では、Ethernetフレームの各フィールドと、スイッチがフレームを転送する仕組みを図解します。

対象レベル Level 1・初級
想定読了時間 約18分
身につく成果 Ethernetフレームの構造を説明できる
前提知識 MACアドレス・TCP/IPモデル
演習環境 ブラウザのみ

Ethernetフレームは、LAN内の通信を理解するうえで重要なデータ形式です。

しかし、最初からすべてのフィールド名やバイト数を暗記する必要はありません。 まずは、 誰から誰へ送るのか、何を運んでいるのか、データが壊れていないか を示す情報が入っていると理解しましょう。

この記事を読み終えるとできること

  • Ethernetフレームの役割を説明できる
  • 宛先MACアドレスと送信元MACアドレスを区別できる
  • EtherType、データ、FCSの役割を説明できる
  • フレーム、パケット、セグメントの違いを整理できる
  • ルーターを越えるとMACアドレスが変わる理由を説明できる
  • Ethernetフレームの基本サイズを説明できる

Ethernetフレームとは何か

最初に覚える定義

Ethernetフレームとは、LAN内でデータを届けるために、 MACアドレスなどの制御情報とデータをまとめた形式です。

Ethernetは、パソコンやスイッチなどを有線LANで接続するときに広く使われている通信方式です。

パソコンが別の機器へデータを送るときは、送りたいデータの前後に情報を追加します。 その完成した単位がEthernetフレームです。

Ethernetフレームの基本イメージ

宛先MACアドレス 6バイト どの機器へ届けるか
送信元MACアドレス 6バイト どの機器から送られたか
EtherType 2バイト 中身がIPv4やARPなどのどれか
データ 46~1,500バイト IPパケットなど、実際に運びたい情報
FCS 4バイト 途中で壊れていないか確認する

一般的なEthernet IIフレームの基本構造です。VLANタグがある場合は構造が一部変わります。

手紙に置き換えると、Ethernetフレームは 封筒に宛先と差出人を書き、中へ手紙を入れた状態 に似ています。

手紙 Ethernetフレーム
宛先 宛先MACアドレス
差出人 送信元MACアドレス
手紙の種類 EtherType
封筒の中の手紙 IPパケットなどのデータ
破損していないかの確認 FCS

Ethernetフレームは、主に同じLAN区間でデータを運ぶための入れ物です。

インターネットの最終的な通信相手ではなく、 まずは同じLAN内の相手や、次に経由するルーターへ届けるために使用されます。

データがEthernetフレームになるまで

前回の記事では、TCP/IPモデルには複数の階層があることを学びました。

Webブラウザなどが作成したデータは、上位の層から下位の層へ渡されるたびに、 通信に必要な情報が追加されます。

アプリケーションデータ
TCPヘッダー + アプリケーションデータ
IPヘッダー + TCPセグメント
Ethernetヘッダー + IPパケット + FCS

Ethernetフレームのデータ部分には、一般的にIPパケットが入ります。

つまり、IPパケットがEthernetフレームという入れ物に包まれて、 LANケーブルなどを通って送信されます。

データを別の形式で包む処理を、カプセル化と呼びます。

受信側では、追加された情報を外しながら上位の層へデータを渡します。 この反対の処理を非カプセル化と呼びます。

フレーム・パケット・セグメントの違い

名称 主な階層 主に含まれる情報 役割
セグメント トランスポート層 ポート番号など どのアプリケーションへ届けるかを管理する
パケット インターネット層 送信元・宛先IPアドレスなど 異なるネットワークを越えて宛先へ届ける
フレーム ネットワークインターフェース層 送信元・宛先MACアドレスなど 同じLAN区間で次の機器へ届ける

同じデータを、見る階層によって異なる名前で呼びます。

「フレームとパケットは別々の通信」ではなく、 パケットがフレームの中に入って送られる関係です。

Ethernetフレームの基本構造

Ethernet通信では、実際にはフレームの前に プリアンブルSFDも送信されます。

プリアンブル 7バイト
受信準備と同期
SFD 1バイト
開始位置
宛先MAC 6バイト
届ける相手
送信元MAC 6バイト
送信した機器
EtherType 2バイト
データの種類
データ+必要に応じてパディング 46~1,500バイト
IPパケットなど
FCS 4バイト
誤り検出

Ethernetフレームのサイズを説明するときは、一般的に 宛先MACアドレスからFCSまでを数えます。

プリアンブルとSFDは物理媒体上では送信されますが、 通常の「64~1,518バイト」というフレームサイズには含めません。

Ethernetフレームの各フィールド

1.プリアンブル

プリアンブルは7バイトの情報で、フレーム本体の前に送信されます。

受信側に対して「これからデータを送ります」と知らせ、 送信側と受信側のタイミングを合わせるために使われます。

人同士の会話でいえば、突然本題を話し始めるのではなく、 「今から話します」と合図する部分に近い役割です。

2.SFD

SFDは、Start Frame Delimiterの略です。

1バイトの情報で、プリアンブルの終わりと Ethernetフレーム本体の開始位置を示します。

プリアンブルとSFDは通信に必要ですが、 通常はフレームの各フィールドを学ぶ際に簡略化して省略されることもあります。

3.宛先MACアドレス

宛先MACアドレスは6バイトで、 このフレームをどの機器へ届けるのかを示します。

スイッチはこの宛先MACアドレスを確認し、 どのポートからフレームを転送するかを判断します。

A

ユニキャスト

特定の1台へ送信します。 通常の端末間通信で多く使われる形式です。

B

ブロードキャスト

同じLAN内のすべての機器へ送信します。 宛先MACアドレスは FF:FF:FF:FF:FF:FFです。

次の記事で学ぶARPでは、通信相手のMACアドレスが分からないときに、 ブロードキャストフレームを利用して問い合わせます。

4.送信元MACアドレス

送信元MACアドレスも6バイトで、 どの機器がフレームを送信したのかを示します。

スイッチは受信したフレームの送信元MACアドレスを確認し、 「このMACアドレスの機器は、このポートの先にある」と学習します。

スイッチは送信元MACアドレスから学習し、宛先MACアドレスを見て転送します。

5.EtherType

EtherTypeは2バイトで、 Ethernetフレームのデータ部分に何が入っているのかを示します。

EtherType 中に入っているデータ 主な用途
0x0800 IPv4 IPv4を使った通常のIP通信
0x0806 ARP IPアドレスに対応するMACアドレスを調べる
0x86DD IPv6 IPv6を使った通信
0x8100 IEEE 802.1Qタグ VLAN情報を付加したフレーム

受信側はEtherTypeを確認することで、 データ部分をIPv4、ARP、IPv6などのどの処理へ渡すべきか判断できます。

6.データ

データ部分には、実際に運びたい情報が入ります。

TCP/IP通信では、多くの場合、 IPヘッダーやTCPヘッダーを含んだIPパケットが格納されます。

フレームの中にパケットが入るイメージ

宛先MAC Ethernetヘッダー 次に届ける機器
送信元MAC Ethernetヘッダー 現在の送信元
EtherType 種類 IPv4など
IPパケット データ部分 IPヘッダー、TCPヘッダー、アプリケーションデータなど
FCS 確認情報 フレームの破損を検出

7.パディング

Ethernetフレームのデータ部分は、最小46バイト必要です。

運びたいデータが46バイトより小さい場合は、 不足分を埋めるためにパディングと呼ばれるデータを追加します。

たとえば、本来のデータが30バイトしかない場合は、 最小値の46バイトになるように16バイト分を補います。

8.FCS

FCSは、Frame Check Sequenceの略です。

フレームが通信中に壊れていないかを確認するための4バイトの情報です。 送信側はフレームの内容から確認用の値を計算し、FCSとして付加します。

受信側も同じ方法で値を計算し、受信したFCSと比較します。 値が一致しなければ、通信途中でデータが変化した可能性があります。

FCSは誤りを検出するための情報であり、 壊れたフレームを自動的に修復するものではありません。

一般的に、FCSエラーがあるフレームは破棄されます。

Ethernetフレームのサイズ

一般的なEthernet IIフレームは、次のサイズで送信されます。

項目 サイズ
宛先MACアドレス 6バイト
送信元MACアドレス 6バイト
EtherType 2バイト
データとパディング 46~1,500バイト
FCS 4バイト
合計 64~1,518バイト

最小サイズは64バイト

データ部分が46バイトの場合、合計は次のようになります。

6バイト + 6バイト + 2バイト + 46バイト + 4バイト = 64バイト

最大サイズは1,518バイト

データ部分が最大の1,500バイトの場合は、次のようになります。

6バイト + 6バイト + 2バイト + 1,500バイト + 4バイト = 1,518バイト

1,514バイトと表示されることがある理由

パケットキャプチャーや機器の表示では、 Ethernetフレームが1,514バイトと表示されることがあります。

これは、ネットワークインターフェースがFCSを取り除いてから OSやキャプチャーソフトへ渡す場合があるためです。

1,518バイトはFCSを含むサイズ、1,514バイトはFCSを含まないサイズ と考えると整理しやすくなります。

MTUとの関係

MTUは、1回の通信で運べる上位層のデータサイズを表す値です。

一般的なEthernetのMTUは1,500バイトです。 これはEthernetフレーム全体のサイズではなく、 Ethernetフレームのデータ部分へ格納できるIPパケットの最大サイズ を指します。

用語 一般的なサイズ 含まれる範囲
Ethernet MTU 1,500バイト Ethernetフレームのデータ部分
Ethernetフレーム 最大1,518バイト MACヘッダー、データ、FCS

スイッチはフレームをどう処理するのか

スイッチは、Ethernetフレームに含まれるMACアドレスを使って、 フレームの転送先を判断します。

PC-AからPC-Bへフレームを送信する例

💻 PC-A MAC:AA-AA-AA-AA-AA-AA
🔀 スイッチ MACアドレスで転送先を判断
💻 PC-B MAC:BB-BB-BB-BB-BB-BB
  1. PC-Aがフレームを送信する 送信元MACアドレスにはPC-A、宛先MACアドレスにはPC-BのMACアドレスが入ります。
  2. スイッチが送信元MACアドレスを学習する スイッチは、PC-AのMACアドレスがフレームを受信したポートの先にあると記録します。
  3. スイッチが宛先MACアドレスを確認する MACアドレステーブルを調べ、PC-Bが接続されているポートを探します。
  4. 該当ポートからフレームを転送する PC-Bが接続されているポートからフレームを送信します。
  5. PC-Bがフレームを受信する PC-Bは宛先MACアドレスが自分のMACアドレスと一致するため、データを受け取ります。

宛先MACアドレスが未学習の場合

スイッチのMACアドレステーブルに宛先MACアドレスが登録されていない場合、 スイッチは転送先を特定できません。

この場合、フレームを受信したポート以外の同じLAN内のポートへ フレームを転送します。 この動作をフラッディングと呼びます。

ブロードキャストフレームも、同じLAN内の複数のポートへ転送されます。

スイッチが確認する情報

情報 スイッチの主な動作
送信元MACアドレス MACアドレステーブルへ学習する
宛先MACアドレス フレームを転送するポートを判断する
FCS フレームに破損がないか確認する

ルーターを越えるとフレームはどうなるのか

Ethernetフレームは、基本的に1つのLAN区間で使われます。

宛先が別のネットワークにある場合、 パソコンは最終的な通信相手のMACアドレスではなく、 デフォルトゲートウェイであるルーターのMACアドレス を宛先MACアドレスに設定します。

異なるネットワークへ通信する流れ

💻 PC-A 送信元端末
📡 ルーター フレームを作り直す
🗄️ サーバー 別ネットワークの宛先
  1. PC-Aがルーター宛てのフレームを作る 宛先MACアドレスには、デフォルトゲートウェイのMACアドレスを設定します。
  2. ルーターがフレームを受信する ルーターはEthernetヘッダーとFCSを取り外し、中のIPパケットを確認します。
  3. ルーターが宛先IPアドレスを確認する ルーティングテーブルを使って、次に転送する経路を判断します。
  4. ルーターが新しいフレームを作る 次のLAN区間で使用する送信元MACアドレスと宛先MACアドレスを設定します。
  5. 新しいフレームを送信する IPパケットを新しいEthernetフレームへ入れて、次の機器へ送信します。
情報 ルーターを越えたとき
送信元MACアドレス 新しいLAN区間に合わせて変わる
宛先MACアドレス 次に届ける機器のMACアドレスへ変わる
送信元IPアドレス 通常は変わらない
宛先IPアドレス 通常は変わらない

NATやNAPTを使用している場合は、ルーターでIPアドレスやポート番号が変更されることがあります。 NATとNAPTは後の記事で詳しく学びます。

MACアドレスは区間ごと、IPアドレスは通信全体で使われる と考えると整理しやすくなります。

VLANタグ付きEthernetフレーム

スイッチ間で複数のVLANを運ぶ場合などは、 EthernetフレームへVLAN情報を追加することがあります。

IEEE 802.1Qでは、送信元MACアドレスとEtherTypeの間へ 4バイトのVLANタグを挿入します。

宛先MAC 6バイト
送信元MAC 6バイト
VLANタグ 4バイト
VLAN IDなど
EtherType 2バイト
データ 46~1,500バイト
FCS 4バイト

VLANタグが4バイト追加されるため、 一般的なタグ付きEthernetフレームの最大サイズは 1,522バイトになります。

初級編では、「VLANタグを付けると、どのVLANに属するフレームか識別できる」 と理解できれば十分です。

VLANとIEEE 802.1Qは、中級編で詳しく学びます。

Wiresharkで確認するときのポイント

Wiresharkなどのパケットキャプチャーソフトを使うと、 Ethernetフレームの内容を確認できます。

表示される項目名は環境や通信によって異なりますが、 最初は次の部分を確認しましょう。

Destination

宛先MACアドレスです。 フレームを次に受信する機器を示します。

Source

送信元MACアドレスです。 現在のLAN区間でフレームを送信した機器を示します。

Type

フレーム内のデータがIPv4、ARP、IPv6などのどれであるかを示します。

Frame length

キャプチャーされたフレームの長さを確認できます。 FCSが含まれない場合もあります。

WiresharkにFCSが表示されないからといって、 Ethernet通信でFCSが使われていないとは限りません。

ネットワークインターフェースがFCSを確認し、 OSへ渡す前に取り除いている場合があります。

Ethernetフレームに関するよくある勘違い

EthernetフレームとIPパケットは同じもの

IPパケットは、Ethernetフレームのデータ部分に格納されます。 フレームとパケットは同じ通信データを異なる階層で見たものです。

宛先MACアドレスには、常に最終的なサーバーのMACアドレスを入れる

別ネットワークのサーバーへ通信するときは、 宛先MACアドレスにデフォルトゲートウェイのMACアドレスを設定します。

MACアドレスは通信開始から終了まで変わらない

ルーターを越えるたびにEthernetフレームが作り直されるため、 送信元と宛先のMACアドレスはLAN区間ごとに変わります。

FCSがあれば、壊れたデータも自動修復できる

FCSの主な役割は誤りの検出です。 破損したフレームは一般的に破棄され、必要に応じて上位層の仕組みで再送されます。

Ethernetフレームの最大サイズは必ず1,500バイト

1,500バイトは一般的なEthernet MTUであり、データ部分の最大値です。 MACヘッダーとFCSを含めたフレーム全体は最大1,518バイトです。

スイッチはMACアドレスを使ってフレームを転送する

スイッチは送信元MACアドレスを学習し、 宛先MACアドレスをもとに転送先のポートを判断します。

理解度チェック

記事の内容を確認するため、次の5問に答えてください。 解答を見る前に一度自分で考えてみましょう。

問題1.Ethernetフレームの説明として最も適切なものはどれですか。

  1. WebサイトのURLだけを保存する形式
  2. LAN内でデータを届けるために、MACアドレスなどを付加した形式
  3. IPアドレスを自動配布する仕組み
  4. 通信経路を決定するルーティングテーブル
解答を見る
正解:B

Ethernetフレームは、宛先・送信元MACアドレスなどの制御情報と データをまとめた形式です。

問題2.スイッチがフレームの転送先を判断するとき、主に確認する情報はどれですか。

  1. 宛先MACアドレス
  2. 宛先ポート番号
  3. URL
  4. ユーザー名
解答を見る
正解:A

スイッチは宛先MACアドレスとMACアドレステーブルを使い、 フレームを転送するポートを判断します。

問題3.EtherTypeが示す情報はどれですか。

  1. フレームを受信した時刻
  2. LANケーブルの長さ
  3. データ部分に格納されているプロトコルの種類
  4. スイッチのポート番号
解答を見る
正解:C

EtherTypeは、データ部分がIPv4、ARP、IPv6などの どのプロトコルであるかを示します。

問題4.一般的なEthernet IIフレームの最大サイズは何バイトですか。

  1. 64バイト
  2. 1,500バイト
  3. 1,514バイト
  4. 1,518バイト
解答を見る
正解:D

宛先MACアドレスからFCSまでを含めた一般的な最大サイズは 1,518バイトです。 1,500バイトはデータ部分の一般的な最大値です。

問題5.PCから別ネットワークにあるWebサーバーへ通信します。 PCが最初に作るフレームの宛先MACアドレスには、どの機器のMACアドレスが入りますか。

  1. PC自身
  2. Webサーバー
  3. デフォルトゲートウェイ
  4. DNSサーバー
解答を見る
正解:C

宛先が別ネットワークにある場合、 PCはまずデフォルトゲートウェイへフレームを届けます。 そのため、宛先MACアドレスにはデフォルトゲートウェイのMACアドレスが入ります。

実践演習:Ethernetフレームの中身を読み取ろう

PC-Aから別ネットワークにあるWebサーバーへ通信する場面を考えます。

演習用ネットワーク

💻 PC-A MAC:AA-AA-AA-AA-AA-AA
📡 ルーター MAC:11-11-11-11-11-11
🗄️ Webサーバー MAC:BB-BB-BB-BB-BB-BB

課題1.最初のフレームを完成させる

PC-Aがルーターへ送信するEthernetフレームについて、 次の空欄を埋めてください。

送信元MACアドレス:______________
宛先MACアドレス:______________
課題1の解答を見る

送信元MACアドレス: AA-AA-AA-AA-AA-AA

宛先MACアドレス: 11-11-11-11-11-11

Webサーバーは別ネットワークにあるため、 PC-Aはまずデフォルトゲートウェイであるルーターへフレームを届けます。

課題2.ルーター通過後の変化を考える

ルーターがWebサーバー側へ新しいEthernetフレームを送信するとき、 次の情報が変わるかどうか答えてください。

  • 送信元MACアドレス
  • 宛先MACアドレス
  • 送信元IPアドレス
  • 宛先IPアドレス
MACアドレス:______________
IPアドレス:______________
課題2の解答を見る

送信元MACアドレスと宛先MACアドレスは変わります。

ルーターは受信したフレームを取り外し、 次のLAN区間に合わせた新しいEthernetフレームを作成します。

送信元IPアドレスと宛先IPアドレスは、通常は変わりません。

ただし、NATやNAPTを使用する場合はIPアドレスなどが変更されることがあります。

課題3.フレームサイズを計算する

VLANタグを使用しないEthernet IIフレームで、 データ部分が1,000バイトだったとします。

宛先MACアドレス、送信元MACアドレス、EtherType、 データ、FCSを含むフレーム全体は何バイトでしょうか。

6 + 6 + 2 + 1,000 + 4 = ____バイト
課題3の解答を見る

正解:1,018バイト

計算は次のとおりです。

6 + 6 + 2 + 1,000 + 4 = 1,018バイト

課題4.障害原因を考える

スイッチのインターフェースでFCSエラーが増加しているとします。 どのような原因が考えられるでしょうか。

考えられる原因を2つ以上書いてみましょう。
課題4の解答例を見る
  • LANケーブルが破損している
  • コネクターの接触状態が悪い
  • ネットワークインターフェースに異常がある
  • 電気的なノイズの影響を受けている
  • 光モジュールや光ケーブルに問題がある

FCSエラーは、フレームが通信経路上で破損した可能性を示します。 ただし、カウンターだけで原因を断定せず、 ケーブル、ポート、トランシーバー、発生方向などを確認します。

自分の言葉で説明する課題

最後に、次の質問へ自分の言葉で答えてください。

「Ethernetフレームとは何ですか?」と質問されました。 MACアドレス、データ、FCSという言葉を使って30秒程度で説明してください。

Ethernetフレームとは、________________________________。
説明例を見る

Ethernetフレームとは、LAN内でデータを運ぶための形式です。 宛先と送信元のMACアドレス、IPパケットなどのデータ、 通信途中で壊れていないか確認するFCSなどが含まれています。 スイッチは宛先MACアドレスを確認して、フレームの転送先を判断します。

模範解答と一字一句同じである必要はありません。

「LAN内で運ぶ」「MACアドレスを使う」「データを格納する」「FCSで破損を確認する」 という内容を説明できれば、この記事の目標は達成です。

まとめ

  • Ethernetフレームは、LAN内でデータを届けるための形式
  • 宛先MACアドレスは届ける相手、送信元MACアドレスは送信した機器を示す
  • EtherTypeは、データ部分がIPv4、ARP、IPv6などのどれかを示す
  • データ部分にはIPパケットなどが格納される
  • FCSは、フレームが通信途中で壊れていないかを検出する
  • 一般的なEthernet IIフレームは64~1,518バイト
  • 一般的なEthernet MTUは1,500バイトで、フレーム全体のサイズではない
  • スイッチは送信元MACアドレスを学習し、宛先MACアドレスを見て転送する
  • ルーターを越えるとEthernetフレームは作り直され、MACアドレスが変わる
  • VLANタグ付きフレームは、通常のフレームより4バイト大きくなる

Ethernetフレームは、IPパケットをLAN内の次の機器へ届けるための入れ物です。

次の記事:ARPの仕組み

Ethernetフレームを送信するには、宛先MACアドレスが必要です。

しかし、パソコンが最初から通信相手やデフォルトゲートウェイの MACアドレスを知っているとは限りません。

次の記事では、IPアドレスをもとにMACアドレスを調べる ARPの仕組みを解説します。

ネットワーク初級編 15/全32記事

初級編では、ネットワークの全体像からIPアドレス、Ethernet、ARP、 TCP、DNS、基本コマンド、障害切り分けまでを順番に学びます。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次