EtherType
EtherType je šestnáctibitová hodnota v některých typech rámců linkové vrstvy, která udává protokol dat zapouzdřených v datové části rámce. Hodnoty EtherType byly poprvé použity v původním standardu Ethernet v poli Type. V prvních verzích standardu IEEE 802.3 však bylo stejné pole použito pro délku datové části rámce, a protokol datové části rámce musel být odvozen z polí DSAP a SSAP v hlavičce IEEE 802.2. Koncept pole EtherType se však ukázal natolik praktický, že jej IEEE 802 použilo v podobě pole Protocol ID ve SNAP rozšíření hlavičky IEEE 802.2.
Aby v sítích Ethernet, kde v poli Length/Type může být EtherType podle původního standardu Ethernet nebo délka dat podle standardu IEEE 802.3, bylo možné rozlišit, o který formát rámce se jedná, používají se v nových sítích hodnoty EtherType větší nebo rovné 1536 (0x0600); menší hodnoty mají význam délky.
Použití
editovatHodnoty EtherType začínají od 0x0800. V moderní implementaci Ethernetu může pole v Ethernetovém rámci, které obsahuje EtherType, obsahovat délku dat v ethernetovém rámci. Historicky podle typu Ethernetových rámců, které se používaly na určitém segmentu Ethernetu, byly současně povoleny obě interpretace, což vedlo ke kolizím. Při použití rámců podle standardu Ethernet II byly tyto oktety považovány za EtherType, zatímco podle standardu IEEE 802.3 za délku dat v rámci v bytech.
Hodnoty EtherType původně mohly být libovolné v rozsahu 0-65535. V mnoha sítích Ethernet se používaly rámce formátů Ethernet II i IEEE 802.3 současně, což vedlo k nejednoznačnostem v interpretaci významu pole Length/Type. Pro zamezení těmto nejednoznačnostem povoluje standard IEEE 802.3x z roku 1997 pouze hodnoty EtherType větší nebo rovné 1536 (0x0600). Tato hodnota byla zvolena, protože maximální přenosová délka (MTU) datového pole standardních rámců Ethernet 802.3 byla 1500 bytů (0x05DC). Hodnoty 1500 (0x05DC) a menší indikují, že pole obsahuje délku, zatímco hodnoty 1536 a větší indikují, že pole obsahuje EtherType. Interpretace hodnot 1501–1535 není definována[1].
Délka dat v nestandardních jumbo rámcích (obvykle okolo 9000 bytů) leží v rozsahu hodnot používaných pro EtherType, což způsobuje konflikt. Pro jeho řešení bylo navrženo používat speciální EtherType 0x8870, místo délky rámce[2].
Při 802.1Q VLAN tagování a QinQ se používají zvláštní 16bitové hodnoty EtherType, který nejen označují obsah datového pole, ale slouží také k ukončení VLAN tagování nebo QinQ zásobníku. Při dopředném prohlížení 16bitový EtherType pomáhají při rozpoznání 32+32+16=80bitové hlavičky QinQ umístěné před datovým polem za oběma MAC adresami. Z těchto 80 bitů se pouze 32 používá pro dynamické informace. Úplný 66bitový adresní systém vyžaduje 18 bitů za MAC. Proto jsou použity další EtherType hodnoty pro trojnásobné tagování QinQinQ (anglicky Triple Tagging).
Konzervativní používání 16bitového Tag Protocol Identifier (TPID) pro každý 32bitový VLAN tag následované původní 16bitovou hodnotou EtherType vytváří 48bitovou signaturu, kterou sice nelze zaměnit s částí datového pole, ale jejíž používání je velmi neefektivní. Existují proprietární implementace, které těchto 48 bitů komprimují. EtherType obvykle neobsahuje kontrolní součet (CRC nebo FCS).
V sítích IEEE 802 i v dalších sítích, které používají IEEE 802.2 LLC (např. FDDI) lze hodnotu EtherType přenášet v Subnetwork Access Protocol (SNAP) rozšíření hlavičky IEEE 802.2. V sítích Ethernet (které patří k IEEE 802 sítím), ale převažuje používání formátu rámce Ethernet II.
Příklady
editovatEtherType | Protokol |
---|---|
0x22F3 | IETF TRILL Protocol (RFC6325) |
0x6003 | DECnet Fáze IV |
0x0800 | IPv4 (Internet Protocol version 4) |
0x0806 | Address Resolution Protocol (ARP) |
0x8035 | Reverse Address Resolution Protocol |
0x0842 | Wake on LAN[3] |
0x809B | AppleTalk (Ethertalk) |
0x80F3 | AppleTalk Address Resolution Protocol (AARP) |
0x8100 | VLAN-taggované rámce (IEEE 802.1Q) & Shortest Path Bridging IEEE 802.1aq[4] |
0x8137 | IPX |
0x8138 | IPX |
0x8204 | QNX Qnet |
0x86DD | IPv6 (Internet Protocol Version 6) |
0x8808 | Ethernet flow control |
0x8809 | Protokoly Slow (IEEE 802.3) |
0x8819 | CobraNet |
0x8847 | MPLS unicast |
0x8848 | MPLS multicast |
0x8863 | PPPoE Discovery Stage |
0x8864 | PPPoE Session Stage |
0x8870 | Jumbo Frames[2] |
0x887B | HomePlug 1.0 MME |
0x888E | EAP over LAN (IEEE 802.1X) |
0x8892 | PROFINET Protocol |
0x889A | HyperSCSI (SCSI over Ethernet) |
0x88A2 | ATA over Ethernet |
0x88A4 | EtherCAT Protocol |
0x88A8 | Provider Bridging (IEEE 802.1ad) & Shortest Path Bridging IEEE 802.1aq[5] |
0x88AB | Ethernet Powerlink |
0x88CC | Link Layer Discovery Protocol (LLDP) |
0x88CD | SERCOS III |
0x88E1 | HomePlug AV MME |
0x88E3 | Media Redundancy Protocol (IEC62439-2) |
0x88E5 | MAC Security (IEEE 802.1AE) |
0x88F7 | Precision Time Protocol (PTP) over Ethernet (IEEE 1588) |
0x8902 | IEEE 802.1ag Connectivity Fault Management (CFM) Protocol / doporučení ITU-T Y.1731 (OAM) |
0x8906 | Fibre Channel over Ethernet (FCoE) |
0x8914 | FCoE Initialization Protocol |
0x8915 | RDMA over Converged Ethernet (RoCE) |
0x892F | High-availability Seamless Redundancy (HSR) |
0x9000 | Ethernet Configuration Testing Protocol[6] |
0x9100 | Q-in-Q |
0xCAFE | Veritas Low Latency Transport (LLT)[7] pro Veritas Cluster Server |
V seznamu EtherType hodnot udržovaném organizací IEEE[8] mnoho známých protokolů chybí; například EtherType 0x6003 používaný DECnet Fáze IV má uveden pouze odkaz na firmu DEC.
Související články
editovatReference
editovatV tomto článku byl použit překlad textu z článku EtherType na anglické Wikipedii.
- ↑ IEEE Std 802.3-2005, 3.2.6
- ↑ a b Kaplan et al. Extended Ethernet Frame Size Support [online]. Internet Engineering Task Force, 26. května 2000. Dostupné online.
- ↑ WakeOnLAN [online]. [cit. 2013-01-16]. Dostupné online.
- ↑ Configuration - Shortest Path Bridging MAC (SPBM) [online]. Avaya [cit. 2012-07-07]. Dostupné online.[nedostupný zdroj]
- ↑ Configuration - Shortest Path Bridging MAC (SPBM) [online]. Avaya, červen 2012 [cit. 2012-07-07]. Dostupné online.[nedostupný zdroj]
- ↑ Configuration Testing Protocol (Loop)
- ↑ Veritas Low Latency Transport (LLT)
- ↑ IEEE seznam hodnot EtherType