すべてのイーサネット規格でフレームフォーマットは共通

イーサネットと名のつくものは、すべて同じフレームフォーマットを採用しています。イーサネットインタフェース間でデータを転送するために、イーサネットヘッダを付加して、イーサネットフレームとします。また、イーサネットヘッダだけではなく、エラーチェック用のFCS(Frame Check Sequence)も付加します。

イーサネットヘッダやFCSを付加したイーサネットフレームの全体は、以下のような構成です。

図 イーサネットのフレームフォーマット

イーサネットのフレームフォーマットは全部で4種類あります。図に示しているのは、イーサネットver2のフレームフォーマットです。TCP/IPでは、イーサネットver2のフレームフォーマットを利用しています。現在はTCP/IPが主流で他のイーサネットのフレームフォーマットを利用することは、ほとんどありません。イーサネットver2のフレームフォーマットはDIX仕様とも呼ばれます。
FCSはCRC(Cyclic Redundancy Check)とも呼ばれます。
図にはありませんが、宛先MACアドレスにフレームの開始を示すプリアンプルが付加されます。

イーサネットヘッダは、宛先MACアドレス、送信元MACアドレス、タイプコードから構成されます。イーサネットヘッダの宛先MACアドレスや送信元MACアドレスを参照して、レイヤ2スイッチはイーサネットフレームの転送処理を行っています。

イーサネットフレームを送信しようとするとき、送信元MACアドレスは簡単にわかりますが、宛先MACアドレスはそうはいきません。宛先MACアドレスをいかにして決めるかは、イーサネットの通信を考える上で重要です。IPパケットをイーサネットフレームとするときには、宛先MACアドレスをARP(Address Resolution Protocol)によって解決します。

IPv6パケットをイーサネットフレームとするときにはICMPv6でアドレス解決を行います。

タイプコードは、イーサネットの上位プロトコルを表す数値で、主なプロトコルのタイプコードの値は以下のようになります。

タイプコードプロトコル
0x0800 IPv4
0x0806 ARP
0x86DD IPv6
表 イーサネット タイプコードの例

イーサネットにとってのデータは、ほとんどの場合、IPパケットです。つまり、アプリケーションのデータにアプリケーションプロトコルのヘッダが付加され、TCPやUDPヘッダ、IPヘッダが付加されたものがイーサネットにとってのデータです。図では、WebブラウザのHTTPの場合を例にしています。

そして、イーサネットフレームのデータ部分の最大サイズをMTU(Maximum Transmission Unit)と呼びます。イーサネットのMTUのデフォルトは1500バイトです。1つのイーサネットフレームでは1500バイト分のデータしか転送できないので、大きなサイズのデータは複数に分割しなければいけません。データの分割は、たいていの場合、イーサネットのMTUサイズ1500バイトに収まるようにTCPで行います。

なお、データ部分の最小サイズも決められています。データ部分の最小サイズは46バイトです。データ部分のサイズから、イーサネットフレーム全体としては64バイトから1518バイトの可変長のサイズとなります。この範囲をはずれたサイズのイーサネットフレームはエラーです。主なエラーフレームは、次のものがあります。

エラーフレーム概要
Runt 64バイト未満のイーサネットフレーム
ベビージャイアント VLANタグが付加されるなど1518バイトを少し上回ってしまうフレーム
表 エラーフレームの例

データを細切れにするよりも、まとめて送ったほうが転送効率は高くなります。そこで、MTUサイズを増やすことで、1つのフレームあたりで転送できるデータサイズが増えます。その結果、データの転送効率を高めることができます。MTUサイズを増やすことを「ジャンボフレーム」と呼びます。ジャンボフレームに対応している機器を利用すれば、イーサネットの転送効率を高められます。

イーサネットのデータ転送のイメージ

イーサネットのデータ転送のイメージは、IPパケットなどのネットワーク層以上の階層のデータを箱に入れて運ぶようなものです。イーサネットのヘッダを付加するということは、ネットワーク層以上の階層のデータをイーサネットの箱に入れています。その箱には、宛先MACアドレスと送信元MACアドレスが書かれている送付伝票が付いています。イーサネットフレームを転送するのは、レイヤ2スイッチです。レイヤ2スイッチは、イーサネットヘッダ、すなわち送付伝票を見て適切な宛先まで転送します。また、タイプコードは箱の内容物を示しているイメージです。

図 イーサネットのデータ転送のイメージ

この図の中で、イーサネットのネットワークをクラウドのアイコンで表現しています。イーサネットネットワークの実体はレイヤ2スイッチです。レイヤ2スイッチによって、1つのイーサネットのネットワークを構築します。