イーサネットフレーム

コンピュータネットワークにおいて、イーサネットフレームとは、イーサネットにおけるフレームであり、データリンク層のプロトコルデータユニットである。イーサネットフレームは、基礎となるイーサネット物理層の転送機構を使用して転送される。つまり、イーサネットリンク上のパケットは、ペイロードとしてイーサネットフレームを転送するClause 3.1.1}}。

イーサネットフレームの前には、プリアンブルと開始フレーム識別子が続く。これらは物理層のイーサネットパケットの一部である。各イーサネットフレームはイーサネットヘッダで始まる。イーサネットヘッダの最初の2つのフィールドは宛先と送信元のMACアドレスである。フレームの中央部はペイロードデータである。ペイロードデータには、フレームで伝送される他のプロトコルの任意のヘッダを含む。フレームは、フレームチェックシーケンスで終わる。これは、データの転送中の破損を検出するために使用される32ビットの巡回冗長検査である。

1. 構造
-----

伝送路上のデータパケットとそのペイロードとしてのフレームは、バイナリデータで構成されている。イーサネットは最上位オクテットを先頭にしてデータを送信する。ただし、各オクテット内では、最下位ビットが最初に送信される[[frame check sequence。

イーサネットフレームの内部構造は、IEEE 802.3に規定されている。以下の表は、MTUが1500オクテットまでのペイロードサイズについて、送信されたときのイーサネットパケットと内部のフレームを示しているプリアンブルとSFDの先頭のビットパターンは、左側に記載している方から送信されるビット列として記載している。この表記は、IEEE 802.3規格で使用されているものと一致する。}}。ギガビットイーサネットなどの高速イーサネットの実装では、ジャンボフレームと呼ばれるより大きなフレームに対応している。

オプションの802.1Qタグは、フレーム内の追加スペースを消費する。このオプションのフィールドサイズは上記の表の括弧内に示されている。IEEE 802.1ad  では、1つのフレーム内に複数のタグを含めることができる。上記の表にはこのオプションは示されていない。

1.1. イーサネットパケット}}イーサネットパケット
---------------------------

1.1.1. SFD}}プリアンブルと開始フレーム識別子
----------------------------

イーサネットパケットは、7オクテットのプリアンブルと1オクテットの開始フレーム識別子で始まるプリアンブルと開始フレーム識別子は、LANアナライザでは表示されない。LANアナライザがデータを収集するOSIレイヤ2に渡される前に、これらのビットがOSIレイヤ1でネットワークカード  によって取り除かれるためである。プリアンブルと開始フレーム識別子をキャプチャして表示することができるレイヤ2キャプチャもあるが、それらは高価であり、主に物理的な接続性に関連する問題を検出するために使用される。}}。プリアンブルは、1と0のビットが交互に現れる56ビットのパターンで構成されているため、ネットワーク上のデバイスは受信クロックを簡単に同期させて、ビットレベルの同期をとることができる。その後に続くSFDで、バイトレベルの同期を提供し、新しい着信フレームをマークする。大きなシンボルの代わりにシリアルビットを送信するイーサネットの変種では、プリアンブルの伝送路上のビットパターンは、フレームのSFD部分と合わせて10101010 10101010 10101010 10101010 10101010 10101010 10101010 10101011となりsections 4.2.5, 3.2.2}}、ビットは左から右へ順番に送信されるsection 4.2.5}}。

SFDは8ビットの値で、イーサネットパケットの最初のフィールドであるプリアンブルの終わりと、イーサネットフレームの始まりを示す。SFDはプリアンブルのビットパターンを崩し、実際のフレームの開始を知らせるように設計されているsection 4.2.5}}。SFDの直後に宛先MACアドレスが続く。宛先MACアドレスは、イーサネットフレームの最初のフィールドである。SFDは二進数シーケンス10101011であるsections 3.2.2, 3.3, 4.2.6}}。

イーサネットMACを物理媒体に接続するには、物理層トランシーバ回路が必要である。PHYとMACとの間の接続は物理媒体とは無関係であり、媒体独立インターフェースのバスを使用する。ファストイーサネットトランシーバチップはMIIバスを使用する。これは4ビット幅のバスであるため、プリアンブルは14個の0x5として表され、SFDは0x5 0xDとなる。ギガビットイーサネットトランシーバチップは8ビット幅のインターフェイスであるGMIIバスを使用するので、プリアンブルとSFDは0x55 0x55 0x55 0x55 0x55 0x55 0x55 0xD5になる。

1.2. フレーム
---------

1.2.1. ヘッダ
----------

ヘッダには、宛先と送信元のMACアドレス、EtherTypeフィールド、およびオプションでIEEE 802.1QタグまたはIEEE 802.1adタグがある。

EtherTypeフィールドの長さは2オクテットであり、2つの異なる目的のために使われる。この値が1500以下の場合は、オクテット単位のでペイロードのサイズを意味し、1536以上の場合は、フレームのペイロードにカプセル化されているプロトコルを示すEtherTypeとして使用されることを示す。EtherTypeとして使用される場合、フレームの長さはパケット間隔と有効なフレームチェックシーケンスの位置によって決まる。

IEEE 802.1Qタグ、IEEE 802.1adタグは4オクテットのフィールドで、仮想LANのメンバーシップとIEEE 802.1pプライオリティを示す。タグの最初の2オクテットはタグプロトコル識別子  と呼ばれ、フレームが802.1Qまたは802.1adタグ付きであることを示す。802.1Qの場合のTPIDは0x8100、802.1adの場合は0x88a8である。

1.2.2. ペイロード
------------

最小ペイロードサイズは、802.1Qタグが存在する場合は42オクテット、存在しない場合は46オクテットであるペイロードの最小サイズは、イーサネットLANアーキテクチャの[[CSMA/CD。実際のペイロードが最小ペイロードよりも小さい場合は、最小ペイロードサイズになるまでパディングバイトが追加される802.1Qが存在する場合、42および46オクテットの最小値の両方が有効である。

1.3. EOFフレームの終わり
----------------

フレームの終わり  は通常、物理層でのデータストリームの終わりのシンボル、またはキャリア信号の消失によって示される。例えば10BASE-Tでは、受信側はキャリアの消失によって送信されたフレームの終わりを検出する。後の仕様の物理層では、特にキャリアがフレーム間で継続的に送信される場合に、曖昧さを避けるために明示的な//end of data//または//end of stream//のシンボルやシーケンスを使用する。例えば8b/10bによるギガビットイーサネットでは、フレームが送信される前後に特別なシンボルを送信する§40.1.3.1}}。

1.4. Interpacket gap}}パケット間隔
----------------------------

パケット間隔  は、パケット間のアイドル時間である。パケットが送信された後、送信側は次のパケットを送信する前に最低96ビットのアイドル状態を維持する必要がある。

2. 種類
-----

イーサネットフレームにはいくつかの種類がある。

Ethernet IIフレームは、Internet Protocolで直接使用されることが多い、今日最も一般的に使用されている種類である。
ノベル raw IEEE 802.3 non-standard variation frame
IEEE 802.2 Logical Link Control  frame
IEEE 802.2 Subnetwork Access Protocol  frame異なるフレームタイプは異なるフォーマットとMTU値を持つが、同じ物理媒体上に共存できる。右の表のようにフレームの種類を区別することができる。

さらに、4つのイーサネットフレームの種類全てに、オプションでIEEE 802.1Qタグを含めることができ、それが属するVLANとその優先順位を識別できる。このカプセル化はIEEE 802.3acで定義されており、最大フレームを4オクテット増加させる。

IEEE 802.1Qタグは、送信元アドレスとEtherType/Lengthフィールドの間に配置される。タグの最初の2オクテットは、タグプロトコル識別子  0x8100である。これはタグがない場合のEtherType/Lengthフィールドと同じ場所にあるため、EtherType値が0x8100であることはフレームがタグ付けされていることを意味し、実際のEtherType/Lengthはタグの後ろに配置される。タグの後ろの2オクテットはタグ制御情報である。タグの後には、上記の種類のいずれかによる、フレームの残りの部分が続く。

2.1. Ethernet II
----------------

Ethernet IIフレームは、宛先・送信元MACアドレスの前に、2オクテットのEtherTypeフィールドを定義する。EtherTypeは、フレームデータによってカプセル化された上位層プロトコルを識別するのに使用する。例えば、EtherType値0x0800は、フレームにIPv4データグラムが含まれていることを示す。同様に、0x0806のEtherTypeはARPフレーム、0x86DDはIPv6フレームを示し、0x8100は前述の通りIEEE 802.1Qタグの存在を示す。

この業界標準規格が正式なIEEE標準化プロセスを経るにつれて、EtherTypeフィールドは新しい802.3標準規格のデータ長フィールドに変更されたオリジナルのイーサネットフレームでは、データ長は明示せず、それを囲むフレーミングで長さを定義する。}}。受信者はまだフレームを解釈する方法を知る必要があるので、規格では長さに続いて、タイプを指定するためにIEEE 802.2ヘッダが要求された。何年も後に、802.3x-1997規格、および802.3規格のそれ以降のバージョンでは、両方の種類のフレーミングが正式に承認された。Ethernet IIフレームは、その単純さと低いオーバーヘッドにより、イーサネットLANでは最も一般的である。

Ethernet IIのフレーミングを使用するフレームとオリジナルの802.3フレーミングを使用するフレームを同じイーサネットセグメントで使用できるようにするには、EtherType値を1536以上にする必要がある。802.3フレームのペイロードフィールドの最大長が1500オクテットであるため、その値が選択された。従って、フィールドの値が1536以上の場合、フレームはEthernet IIフレームでなければならず、そのフィールドはEtherTypeを表す。それが1500以下の場合、それはIEEE 802.3フレームでなければならず、そのフィールドは長さを表す。1500と1536の間の値は未定義である§3.2.6}}。この規約により、ソフトウェアはフレームがEthernet IIフレームかIEEE 802.3フレームかを判断することができ、同じ物理媒体上で両方の規格を共存させることができる。

2.2. ノベル raw IEEE 802.3
-----------------------

ノベルのraw 802.3フレームフォーマットは、初期のIEEE 802.3の開発作業に基づくものである。ノベルはこれを出発点として、イーサネットを介した独自のInternetwork Packet Exchangeネットワークプロトコルの初の実装を作成した。raw 802.3フレームフォーマットでは、LLCヘッダを使用せず、長さフィールドのすぐ後にIPXパケットが開始する。これはIEEE 802.3規格には準拠していないが、IPXでは常に最初の2オクテットを0xFFとするので、他のイーサネット実装と同じ物理媒体上で共存できる。ただし、DECnetの初期のいくつかの形式は、この仕様によって混乱している。

ノベルのNetWareは、1990年代半ばまでデフォルトでこのフレームタイプを使用しており、NetWareが広く普及しIPがまだ普及していなかった頃には、世界のイーサネットトラフィックのほとんどはIPXを伝送するraw 802.3フレームフォーマットを介していた。NetWare 4.10以降、IPXを使用するときのNetWareのデフォルトはLLCによるIEEE 802.2である。

2.3. IEEE 802.2 LLC
-------------------

OSI参照モデル用に設計されたプロトコルの中には、コネクション型とコネクションレス型の両方のネットワークサービスを提供するIEEE 802.2 LLCカプセル化の上で直接動作するものもある。

IEEE 802.2 LLCのカプセル化は、IPを介したNetWareへの移行がまだ完了していない大企業のNetWare環境を除いて、現在、一般的なネットワークでは広く使用されていない。過去には、多くの企業ネットワークで、IEEE 802.2を使用して、イーサネットとトークンリングやFDDIネットワーク間のトランスペアレント変換ブリッジをサポートしていた。

IEEE 802.2 LLCのSAP/SNAPフレームに、IPv4トラフィックをカプセル化するためのインターネット標準がある。FDDI、トークンリング、IEEE 802.11やその他のIEEE 802 LANで使用されているが、イーサネットではほとんど実装されていない。IPv6は、IEEE 802.2 LLC SAP/SNAPを使用してイーサネット経由で送信することもできるが、これもまたほとんど使用されていない。

2.4. IEEE 802.2 SNAP
--------------------

802.2 LLCヘッダを調べることによって、その後にSNAPヘッダが続くかどうかを判断することが可能である。LLCヘッダには、OSIの用語で「サービスアクセスポイント」 と呼ばれる2つの8ビットアドレスフィールドが含まれている。送信元と宛先の両方のSAPが値0xAAに設定されている場合、LLCヘッダの後にSNAPヘッダが続く。SNAPヘッダを使用すると、EtherType値を全てのIEEE 802プロトコルで使用でき、プライベートプロトコルIDスペースにも対応できる。

IEEE 802.3x-1997では、MACアドレスの後の16ビットフィールドを長さフィールドまたはタイプフィールドとして使用することを明示的に許可するようにIEEEイーサネット規格が変更された。

Mac OSは、イーサネット上のAppleTalk v2プロトコルスイート  にIEEE 802.2 LLC+SNAPカプセル化を使用する。

3. 最大スループット
-----------

イーサネットのプロトコルオーバーヘッドをパーセンテージとして次の式で計算できる。

イーサネットのプロトコル効率は次の式で計算できる。

最大効率は、最大許容ペイロードサイズで達成され、その値は以下のように計算される。

タグなしフレームの場合、パケットサイズは最大ペイロード1500オクテット+プリアンブル8オクテット+ヘッダ14オクテット+トレーラ4オクテット+最小パケット間隔12オクテットに=1538オクテットである。最大効率は以下のように計算される。

802.1Q VLANタグが使用されているとき、スループットは効率から計算できる。

物理層の正味のビットレートはイーサネットの物理層規格に依存し、10 Mbit/s、100 Mbit/s、1 Gbit/s、10 Gbit/sのいずれかである。その結果、100BASE-TXイーサネットの最大スループットは、802.1Qなしで97.53 Mbit/s、802.1Qありで97.28 Mbit/sになる。

チャネル利用率は、プロトコル効率とよく混同される概念である。これは、ペイロードまたはオーバーヘッドのいずれかで、送信されるデータの性質を無視して、チャネルの使用のみを考慮する。物理層は、リンクチャネルや機器はデータフレームと制御フレームの違いを区別できない。チャネル利用率は次のように計算できる。

合計時間は、チャネルに沿ったラウンドトリップ時間、ホストでの処理時間、およびデータと確認応答の送信時間を考慮したものである。データの送信に費やされた時間には、データと確認応答が含まれる。

4. RUNT-FRAMES}}ラントフレーム
-----------------------

ラントフレームは、IEEE 802.3の最小長64オクテットより短いイーサネットフレームである。ラントフレームは一般に衝突によって引き起こされる。その他の考えられる原因として、ネットワークカードの誤動作、バッファアンダーラン、デュプレックスの不一致、ソフトウェアの不具合がある。

5. 脚注
-----

5.1. 注釈
-------

5.2. 出典
-------