EtherType(イーサタイプ)は、イーサネットフレームのデータ種別を示す 1536~65535 (=十六進数で 0x0600~0xFFFF)の値。イーサネットフレームのヘッダ部に2バイト値として配置される。

この値は、フレームのペイロードにカプセル化されているプロトコルを表し、受信側のデータリンク層がペイロードのデータをどの上位層プロトコルに引き渡せばいいかを決定するのに用いる。

EtherTypeは1982年に初めてEthernet IIの規格で定義され、後に1997年にIEEE 802.3規格に取り込まれた。

ペイロード長との併用

イーサネットフレーム内でEtherTypeを格納するフィールドは「長さ/タイプ」という名前で、EtherType(タイプ)だけでなくペイロード長(長さ)を示すのにも使う場合がある。

歴史的には、1982年のEthernet II規格ではこのフィールドはEtherTypeを表し、1983年の初期IEEE 802.3規格ではバイト単位のペイロード長を表すものとした。当時イーサネット環境で混用されていたフレーム種類によっては、両方の解釈が同時に有効であり、曖昧さが生じる可能性があった。

Ethernet II規格と初期IEEE 802.3規格を同じイーサネット環境内で混在できるように、統一規格としてIEEE 802.3x-1997ではEtherType値を1536 (=0x0600)以上とする仕様が導入された。この値は、802.3のフレームのデータフィールドの最大長(MTU)が1500バイトであることから選ばれた。 結果として、このフィールドが1500以下であればイーサネットフレームのペイロード長を表し、1536以上であればEtherTypeを表す。1501から1535までの値の解釈は未定義であるIEEE Std 802.3-2005, 3.2.6。

フレームの終わりは、キャリアの損失や物理層の特殊シンボル・シーケンスによって判別できるIEEE 802.3-2022, Section 40.1.3.1ため、イーサネットフレームにおいてペイロード長を明示する必要は必ずしもない。ただし、イーサネットフレームの最小ペイロードは46バイトなので、EtherTypeを使うフレームで受信側がそのデータ長を判断する必要があれば、ペイロード内に別途データ長を含める必要がある。

ジャンボフレーム ジャンボフレームはIEEE 802.3の規格外のフレームであり、通常9000バイト程度のペイロード長を持つ。この値はEtherTypeとして扱う範囲のものであり、そのようなフレームのペイロード長を示すことはできない。

ジャンボフレームのフレーム長を示す方法として、2000年にEtherTypeの特殊値0x8870を用いる方法が提案されたが、この仕様提案は標準化に際して棄却されている。これはIS-ISでの大きいパケットの用途のためであり、シスコシステムズ製ルータでもIS-ISのIIH Helloパケットのパディング用途で実装された。棄却理由については、当時のIEEE 802.3議長であるGeoff Thompsonが802.3の公的な立場と棄却に至った背景を提案者に概説しており、これに提案者も議長に回答したが、その後の802.3からの回答は記録されていない。

タグVLAN

IEEE 802.1QによるVLANタグ(Qタグ)では、EtherType値として0x8100を使用するIEEE 802.1Q-2022, Clause 9.4 TPID formats。このようなEtherTypeはTPID (Tag Protocol Identifier)と呼び、タグ付きフレームであることを表す。その後にVLAN情報を示す2バイトのTCP (Tag Control Information)が続き、さらにその後にカプセル化されたパケットのプロトコルを示す本来のEtherTypeが続く。

IEEE 802.1adで規定された二重タグ (Q-in-Qタグ)ではこのタグ付けを拡張し、さらに入れ子にしたEtherTypeとTCIの組が挿入される。

イーサネット以外の使用 IEEE 802.2で規定されたLLCでは、LLCヘッダと組み合わせてヘッダを使うことがあり、この中でプロトコルIDとしてEtherTypeを使う。イーサネット以外のIEEE 802規格や、FDDIなどのネットワーク規格で用いる。なお、イーサネットでは現在LLCヘッダはほとんど使われずEthernet II書式が使われている。

登録 EtherTypeは、IANAによって割り当てられる。IANAでは IEEE Registration Authority などの複数の参照先をもとにした一覧を作成している。

例

以下に主なプロトコルのEtherType値を示す。これは全てのEtherType値を網羅したものではない。 + プロトコルのEtherType値 EtherType プロトコル 0x0800 IPv4 0x0806 ARP 0x0842 Wake-on-LAN 0x22F3 0x22EA 0x6003 DECnet フェーズIV 0x8035 RARP 0x809B AppleTalk (Ethertalk) 0x80F3 AppleTalk 用 ARP (AARP) 0x8100 タグVLAN (IEEE 802.1Q) / Shortest Path Bridging (NNI互換用, IEEE 802.1aq) 0x8137 IPX 0x8204 QNX Qnet 0x86DD IPv6 0x8808 MAC制御フレーム (PAUSEフレームなど) 0x8809 スロープロトコル (リンクアグリゲーションなど) 0x8819 0x8847 MPLSユニキャスト 0x8848 MPLSマルチキャスト 0x8863 PPPoE Discovery Stage 0x8864 PPPoE Session Stage 0x886D Intel 拡張機能 0x8870 ジャンボフレーム(draft-ietf-isis-ext-eth-01として提案されたが廃止) 0x887B HomePlug 1.0 MME 0x888E EAPoL (EAP over LAN, IEEE 802.1X) 0x8892 0x889A (SCSI over Ethernet) 0x88A2 ATA over Ethernet 0x88A4 EtherCAT 0x88A8 Q-in-Q VLAN (IEEE 802.1ad) / Shortest Path Bridging (IEEE 802.1aq) 0x88B8 GOOSE (Generic Object Oriented Substation event) 0x88B9 GSE (Generic Substation Events) Management Services 0x88BA SV (Sampled Value Transmission, ) 0x88CC LLDP (IEEE 802.1AB) 0x88CD 0x88DC WAVE Short Message Protocol (WSMP, IEEE 802.11p) 0x88E3 (IEC 62439-2) 0x88E5 MACsec (IEEE 802.1AE) 0x88E7 Provider Backbone Bridges (PBB, ) 0x88F7 PTP over Ethernet (IEEE 1588) 0x88F8 0x88FB (PRP, IEC 62439-3) 0x8902 (CFM), (IEEE 802.1ag, ITU-T Y.1731) 0x8906 FCoE 0x8914 FCoE 初期化プロトコル (FIP) 0x8915 (RoCE) 0x891D (TTE) 制御フレーム 0x892F (HSR, IEC 62439-3) 0x9000 DIX仕様の試験用フレーム () 0x9100 Q-in-Q VLAN (非標準の実装)

関連項目 ポート番号

脚注

外部リンク IEEE Registration Authority Tutorials IEEE EtherType Registration Authority