EtherType

出典: フリー百科事典『ウィキペディア(Wikipedia)』

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

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

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

ペイロード長との併用[編集]

EtherTypeフィールドを含むイーサネットフレーム。下部の各枠は1バイトを示す。EtherTypeは2バイト。

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

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

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

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

ジャンボフレーム[編集]

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

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

タグVLAN[編集]

4バイトのQタグをイーサネットフレームに挿入した様子(下段水色)。TPID EtherTypeの値は0x8100

IEEE 802.1QによるVLANタグ(Qタグ)では、EtherType値として0x8100を使用する[9]。このような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ヘッダと組み合わせてSNAP英語版ヘッダを使うことがあり、この中でプロトコルIDとしてEtherTypeを使う[10]。イーサネット以外のIEEE 802規格や、FDDIなどのネットワーク規格で用いる。なお、イーサネットでは現在LLCヘッダはほとんど使われずEthernet II書式が使われている。

登録[編集]

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

[編集]

以下に主なプロトコルのEtherType値を示す。これは全てのEtherType値を網羅したものではない。

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

関連項目[編集]

脚注[編集]

  1. ^ DEC, Intel, and Xerox (1982-11). The Ethernet, A Local Area Network, Data Link Layer and Physical Layer Specifications 
  2. ^ IEEE 802.3x-1997. IEEE. https://standards.ieee.org/ieee/802.3x/1082/ 
  3. ^ IETF work on extended Ethernet frames” (2000年6月23日). 2024年1月5日閲覧。
  4. ^ IEEE Std 802.3-2005, 3.2.6
  5. ^ IEEE 802.3-2022, Section 40.1.3.1
  6. ^ draft-ietf-isis-ext-eth”. 2019年2月17日閲覧。
  7. ^ Isis — TechExams Community”. 2019年2月17日閲覧。
  8. ^ Kaplan (2000年5月26日). “Extended Ethernet Frame Size Support”. Internet Engineering Task Force. 2019年2月17日閲覧。
  9. ^ IEEE 802.1Q-2022, Clause 9.4 TPID formats
  10. ^ Information processing systems – Local area networks - Part 2: Logic Link Control. (1989-08-17). https://standards.ieee.org/ieee/802.2/1048/ 
  11. ^ Use of the IEEE Assigned Ethertype with IEEE Std 802.3 Local and Metropolitan Area Networks”. 2019年2月17日閲覧。
  12. ^ a b IEEE 802 Numbers”. Internet Assigned Numbers Authority (2015年10月6日). 2016年9月23日閲覧。
  13. ^ WakeOnLAN”. 2018年10月16日閲覧。
  14. ^ a b Configuration - Shortest Path Bridging MAC (SPBM)”. Avaya. p. 35 (2012年6月). 2017年6月23日閲覧。
  15. ^ Intel® Advanced Network Services (Intel® ANS) Advanced Settings for Teams”. 2017年6月23日閲覧。
  16. ^ “8. Ethernet Configuration Testing Protocol”. The Ethernet, A Local Area Network Data Link and Physical Layer Specification Version 2.0. (November 1982). http://decnet.ipv7.net/docs/dundas/aa-k759b-tk.pdf 

外部リンク[編集]