EtherType(イーサタイプ)とは
EtherTypeは、
イーサネットフレームのデータ種別を識別するために使用される16ビットの値(1536~65535、16進数で0x0600~0xFFFF)です。
イーサネットフレームのヘッダ部分に配置され、フレームのペイロードにカプセル化されているプロトコルを示します。受信側の
データリンク層は、このEtherTypeの値に基づいて、ペイロードデータをどの上位層プロトコルに引き渡すかを決定します。
EtherTypeの歴史
EtherTypeは、1982年に初めてEthernet II規格で定義されました。その後、1997年にIEEE 802.3規格に取り込まれ、現在に至っています。
ペイロード長との併用
イーサネットフレームの「長さ/タイプ」フィールドは、EtherTypeだけでなく、ペイロードの長さを示すためにも使われる場合があります。初期のIEEE 802.3規格では、このフィールドはペイロード長を示すものとして使われていました。しかし、Ethernet II規格と初期のIEEE 802.3規格が混在する環境では、解釈の曖昧さが生じる可能性がありました。
この問題を解決するために、IEEE 802.3x-1997では、EtherType値を1536(0x0600)以上とする仕様が導入されました。これにより、1500以下の値はペイロード長、1536以上の値はEtherTypeとして解釈されるようになり、フレームの種類を区別できるようになりました。1501から1535までの値の解釈は未定義となっています。
イーサネットフレームでは、フレームの終わりを物理層の信号で検出できるため、ペイロード長を必ずしも明示する必要はありません。しかし、EtherTypeを使用するフレームで、受信側がデータ長を判断する必要がある場合は、ペイロード内に別途データ長を含める必要があります。
ジャンボフレーム
ジャンボフレームは、通常の
イーサネットフレームよりも大きなペイロードを持つフレーム(通常9000バイト程度)です。ジャンボフレームのペイロード長はEtherTypeとして扱う範囲の値であるため、このフィールドでジャンボフレームのペイロード長を示すことはできません。
2000年には、ジャンボフレームのフレーム長を示す方法として、EtherTypeの特殊値0x8870を使用する提案がありましたが、標準化には至りませんでした。
タグVLAN
IEEE 802.1Qで規定されているVLANタグ(Qタグ)では、EtherType値0x8100をTPID(Tag Protocol Identifier)として使用します。この値は、フレームがタグ付きであることを示します。TPIDの後に続く2バイトのTCI(Tag Control Information)がVLAN情報を示し、さらにその後にカプセル化されたパケットのプロトコルを示す本来のEtherTypeが続きます。
IEEE 802.1adで規定された二重タグ(Q-in-Qタグ)では、このタグ付けが拡張され、入れ子にしたEtherTypeとTCIの組が挿入されます。
EtherTypeは、
イーサネット以外のネットワーク規格でも使用されます。
IEEE 802.2で規定されたLLCヘッダとSNAPヘッダを組み合わせて使用する場合、プロトコルIDとしてEtherTypeが使われます。FDDIなどのネットワーク規格でも使用されることがあります。ただし、現在の
イーサネットでは、LLCヘッダはほとんど使用されず、Ethernet II形式が一般的です。
登録
EtherTypeの値は、IANAによって割り当てられます。IANAは、IEEE Registration Authorityなどの複数の参照先をもとにした一覧を管理しています。
EtherTypeの例
以下に、主なプロトコルのEtherType値の例を示します。
IPv4: 0x0800
IPv6: 0x86DD
ARP: 0x0806
802.1Q: 0x8100
注意: これはすべてのEtherType値を網羅したものではありません。
関連項目
ポート番号
外部リンク
IEEE Registration Authority Tutorials
*
IEEE EtherType Registration Authority