現代のコンピュータネットワークにおいて、私たちが日常的に利用しているインターネットや社内LANの通信を支えている技術の代表格がイーサネットです。
このイーサネット上でデータが転送される際、データは「フレーム」と呼ばれる小さな単位に分割して扱われます。
ネットワークエンジニアやIT担当者にとって、イーサネットフレームの構造を理解することは、トラブルシューティングやネットワーク設計の基礎となります。
本記事では、イーサネットフレームの基本的な定義から、各フィールドが持つ役割、さらには通信の仕組みについて詳しく紐解いていきます。
イーサネットフレームとは何か
イーサネットフレームとは、ネットワークの階層モデルであるOSI参照モデルの第2層(データリンク層)でやり取りされるデータの塊のことです。
物理層で流れる電気信号や光信号を、意味のあるデータとして認識するための「型」のようなものだと考えるとわかりやすいでしょう。
コンピュータがデータを送信する際、上位層から渡されたデータに対して送信先や送信元の情報を付加して、このフレームという形にカプセル化します。
受信側はこのフレームの形式を確認することで、自分宛のデータであるかどうかを判断し、正しく処理を行うことができます。
現在普及しているイーサネットにはいくつかの規格がありますが、一般的には「Ethernet II(DIX形式)」と呼ばれる仕様が広く使われています。
このフレーム構造を理解することは、パケットキャプチャなどでネットワークの状態を分析する際に不可欠な知識となります。
イーサネットフレームの基本構造
イーサネットフレームは、複数の「フィールド」と呼ばれるセクションに分かれて構成されています。
標準的なEthernet IIフレームの構造と、それぞれのフィールドのサイズを以下の表にまとめました。
| フィールド名 | サイズ(バイト) | 役割 |
|---|---|---|
| プリアンブル | 7 | 同期のための信号 |
| SFD (Start Frame Delimiter) | 1 | フレームの開始を示す |
| 宛先MACアドレス | 6 | 受信者の物理アドレス |
| 送信元MACアドレス | 6 | 送信者の物理アドレス |
| タイプ (EtherType) | 2 | 上位プロトコルの種類を示す |
| データ (ペイロード) | 46 ~ 1,500 | 上位層から渡された実際のデータ |
| FCS (Frame Check Sequence) | 4 | エラー検知用チェックコード |
この表にあるように、一つのフレームはプリアンブルから始まり、最後にFCSで締めくくられるという一連の流れを持っています。
プリアンブルとSFDについては、物理層のヘッダーとして扱われることも多く、MACフレームとしての純粋なデータ部分は宛先MACアドレス以降を指すことが一般的です。
各フィールドの詳細な役割
それでは、各フィールドが具体的にどのような役割を果たしているのかを詳しく見ていきましょう。
プリアンブルとSFD
プリアンブルは、「10101010」というビットパターンの連続で構成されており、受信側に対して「これからデータが始まります」という合図を送る役割があります。
ネットワーク上の機器はこの信号を検知することで、タイミングを合わせてデータの読み取りを開始することができます。
SFDは「Start Frame Delimiter」の略で、プリアンブルの最後にある「10101011」という1バイトの値を指します。
この末尾の「1」を確認することで、受信側は次のビットからが本当のフレームデータ(MACヘッダー)であることを認識します。
宛先MACアドレスと送信元MACアドレス
宛先MACアドレスは、そのフレームを届けるべき宛先のネットワークインターフェースを識別するための重要な情報です。
MACアドレスは48ビット(6バイト)の長さを持ち、世界で唯一の識別子として割り当てられています。
スイッチングハブ(L2スイッチ)などのネットワーク機器は、この宛先情報を参照して、どのポートにフレームを転送すべきかを判断します。
送信元MACアドレスには、フレームを送信した機器自身のMACアドレスが格納されます。
これを受け取った機器は、どこからデータが送られてきたのかを知ることができ、返信を行う際のアドレスとして利用します。
タイプ (EtherType)
タイプフィールドは、イーサネットフレームのデータ部分にどのようなプロトコルが含まれているかを示すものです。
例えば、データ部分がIPv4であれば0x0800、IPv6であれば0x86DD、ARPであれば0x0806といった値が格納されます。
この情報があるおかげで、受信したコンピュータはデータをOSの適切なネットワークスタック(プロトコル処理部)に渡すことができます。
データ(ペイロード)
データフィールドは、上位層であるネットワーク層(IPなど)から渡された実際の通信内容を運ぶ場所です。
このフィールドのサイズには制限があり、最小で46バイト、最大で1,500バイトと定められています。
もしデータが46バイトに満たない場合は、「パディング」と呼ばれる無意味なデータを詰め込んでサイズを調整します。
逆に、1,500バイトを超える大きなデータを送る必要がある場合は、複数のフレームに分割して送信されます。
FCS (Frame Check Sequence)
FCSは、フレームが転送途中で破損していないかを確認するためのエラー検知用フィールドです。
送信側は、宛先MACアドレスからデータフィールドまでの内容を基に、CRC(巡回冗長検査)と呼ばれる計算を行い、その結果をFCSに書き込みます。
受信側でも同様の計算を行い、自分の計算結果と受信したFCSの値が一致するかを確認します。
もし値が一致しない場合は、通信経路でノイズなどの影響によりデータが壊れたと判断され、そのフレームは破棄されます。
フレームサイズとMTUの関係
ネットワークのパフォーマンスを理解する上で、MTU(Maximum Transmission Unit)という言葉は避けて通れません。
MTUとは、一つのフレームで運ぶことができる最大のデータサイズ(ペイロード部分)を指します。
一般的なイーサネット環境では、MTUは1,500バイトに設定されています。
これにMACヘッダー(14バイト)とFCS(4バイト)を加えた合計1,518バイトが、標準的なイーサネットフレームの最大サイズとなります。
ただし、近年では「ジャンボフレーム」と呼ばれる、より大きなMTU設定(9,000バイトなど)を利用できる機器も増えています。
ジャンボフレームを利用することで、ヘッダー処理のオーバーヘッドを削減し、高速なデータ転送を実現することが可能です。
しかし、経路上のすべての機器がジャンボフレームに対応している必要があるため、導入には注意が必要です。
VLANタグ(IEEE 802.1Q)による拡張
企業ネットワークなどでネットワークを論理的に分割するVLAN(仮想LAN)を利用する場合、フレーム構造に変化が生じます。
IEEE 802.1Q規格に基づくVLANタグを付与する場合、送信元MACアドレスとタイプフィールドの間に「VLANタグ」と呼ばれる4バイトの情報が挿入されます。
このタグの中には、VLAN ID(どのグループに属するか)や、通信の優先制御(QoS)に関する情報が含まれています。
タグが挿入されることにより、最大フレームサイズは1,518バイトから1,522バイトへと増加します。
このタグの有無を理解しておくことは、VLAN設定ミスによる通信不良を調査する際に非常に役立ちます。
イーサネットフレームが運ばれる仕組み
コンピュータがフレームを送信する際の手順を、具体的な流れで追ってみましょう。
まず、送信元のホストは宛先のIPアドレスに基づいて、ARPプロトコルなどを用いて宛先のMACアドレスを特定します。
次に、送信データに宛先MACアドレスや自身のMACアドレス、そして適切なEtherTypeを付加してフレームを組み立てます。
組み立てられたフレームは物理層で電気信号に変換され、LANケーブルなどの媒体を通じて送信されます。
スイッチングハブは、受信したフレームの宛先MACアドレスを読み取り、自身の「MACアドレステーブル」と照合します。
合致するポートがあればそのポートへ、なければ全ポート(送信元を除く)へフレームを転送します。
受信先の機器は、自分のMACアドレスとフレーム内の宛先MACアドレスが一致することを確認し、データを上位層へと引き渡します。
このように、MACアドレスをベースにした「バケツリレー」によって、データは目的の場所まで正確に届けられます。
トラブルシューティングとフレーム
ネットワークでトラブルが発生した際、エンジニアはパケットキャプチャソフト(Wiresharkなど)を使ってフレームの中身を解析します。
例えば、特定の端末と通信ができない場合、フレームの宛先MACアドレスが正しく設定されているかを確認します。
もしFCSのエラーが多発している場合は、ケーブルの断線やノイズ混入といった物理的な要因を疑うことができます。
また、MTUの不一致によって大きなサイズのフレームが通過できない「MTU問題」も、フレーム構造の知識があれば原因究明が早まります。
フレームの各フィールドを理解していることは、目に見えない通信を可視化し、解決に導くための強力な武器となります。
まとめ
イーサネットフレームは、現代のネットワーク通信を支える最も基本的かつ重要なデータ単位です。
プリアンブルから始まり、MACアドレス、タイプ、データ、そしてエラー検知のためのFCSに至るまで、それぞれのフィールドには明確な役割があります。
これらの構造を正しく理解することで、ネットワークがどのようにデータを運び、どのようにエラーを防いでいるのかが見えてきます。
特にMACアドレスによる宛先指定や、MTUによるサイズ制限、VLANタグによる拡張といった知識は、実務においても欠かせない要素です。
本記事を通じて、イーサネットフレームの仕組みへの理解が深まり、より高度なネットワーク技術の学習に役立てば幸いです。
日々の運用やトラブル解決の際にも、ぜひこのフレーム構造を意識してみてください。
