EtherType
概要
EtherTypeとは、イーサネットフレームのヘッダ領域に記載される制御データの一つで、フレームが運んでいるデータの種類を表す2バイト(16ビット)の値。イーサネット(Ethernet)では伝送したいデータを1500バイトまでの長さに区切り、前後に制御情報を付加した「イーサネットフレーム」(Ethernet frame)という単位で送受信する。フレームの先頭部分は通信制御に用いるデータを記載したヘッダ領域(イーサネットヘッダ)である。
フレームの形式にはいくつかあるが、主流のEthernet II(DIXイーサネット)形式では、ヘッダ領域の先頭から順に宛先MACアドレス(6バイト)、送信元MACアドレス(6バイト)、EtherType(2バイト)となっており、その後に伝送するデータ本体(ペイロード)、誤り検出符号(FCS)と続く。
EtherTypeはペイロードで運搬するデータがどのようなプロトコル(通信規約)に基づくものかを表す値で、16進数で「0800」がIP(Internet Protocol/通常はIPv4)、「0806」がARP、「814C」がSNMP、「86DD」がIPv6、「880B」がPPP、「8847」がMPLS(ユニキャスト)などとなっている。
「8100」は特殊なEtherTypeで、続く2バイトがIEEE 802.1Q規格に基づくVLANタグ(VLANの識別番号)を表しており、その後の2バイトが本来のEtherTypeとなる。送信元MACアドレスとEtherTypeの間にVLANタグが挿入される形となり、ヘッダの長さも2バイト延長される。
なお、IEEE 802.3ではEtherTypeの領域をバイト単位で表したペイロード長と定義しており、この形式のフレームを送受信するシステムもある。その後、EtherTypeとペイロード長を使い分けられるよう、EtherTypeは16進数の「0600」(10進数で1536)以上の値を用いることになっている。ペイロードは1500バイトまでと規定されているため、値が1500以下ならペイロード長、1536以上ならEtherTypeと解釈される。