RFC 7042

IANA Considerations and IETF Protocol and Documentation Usage for IEEE 802 Parameters

πŸ“… published October 2013, from ietf

IANA Considerations and IETF Protocol and Documentation Usage for IEEE 802 Parameters ✨

Okay bestie, meet RFC 7042 πŸŽ€ It's a Best Current Practice, so it's BCP 141 🌸 Written by D. Eastlake 3rd (Huawei) and J. Abley (Dyn, Inc.) in October 2013 πŸ“… It obsoletes RFC 5342 and updates RFC 2153 πŸ’œ ISSN 2070-1721, and it's an IETF document.

Table of Contents 🧚

   1. Introduction ....................................................4
      1.1. Notations Used in This Document ............................4
      1.2. Changes from RFC 5342 ......................................5
      1.3. The IEEE Registration Authority ............................5
      1.4. The IANA OUI ...............................................5
   2. Ethernet Identifier Parameters ..................................5
      2.1. 48-Bit MAC Identifiers, OUIs, and Other Prefixes ...........6
           2.1.1. EUI-48 Assignments under the IANA OUI ...............6
           2.1.2. EUI-48 Documentation Values .........................7
           2.1.3. EUI-48 IANA Assignment Considerations ...............8
      2.2. 64-Bit MAC Identifiers .....................................8
           2.2.1. IPv6 Use of Modified EUI-64 Identifiers .............9
           2.2.2. EUI-64 IANA Assignment Considerations ..............10
           2.2.3. EUI-64 Documentation Values ........................12
      2.3. Other MAC-48 Identifiers Used by the IETF .................12
           2.3.1. Identifiers Prefixed "33-33" .......................12
           2.3.2. The 'CF Series' ....................................13
                  2.3.2.1. Changes to RFC 2153 .......................13
   3. Ethernet Protocol Parameters ...................................14
      3.1. Ethernet Protocol Assignment under the IANA OUI ...........16
      3.2. Documentation Protocol Number .............................16
   4. Other OUI-Based Parameters .....................................16
   5. IANA Considerations ............................................17
      5.1. Expert Review and IESG Ratification .......................17
      5.2. MAC Address AFNs and RRTYPEs ..............................19
      5.3. Informational IANA Web Page Material ......................19
      5.4. OUI Exhaustion ............................................19
      5.5. IANA OUI MAC Address Table ................................19
      5.6. SNAP Protocol Number Table and Assignment .................20
   6. Security Considerations ........................................20
   7. Acknowledgements ...............................................20
   8. References .....................................................21
      8.1. Normative References ......................................21
      8.2. Informative References ....................................21
   Appendix A. Templates .............................................24
      A.1. EUI-48/EUI-64 Identifier or Identifier Block Template .....24
      A.2. IANA OUI-Based Protocol Number Template ...................24
      A.3. Other IANA OUI-Based Parameter Template ...................25
   Appendix B. Ethertypes ............................................25
      B.1. Some Ethertypes Specified by the IETF .....................25
      B.2. Some IEEE 802 Ethertypes ..................................26
   Appendix C. Documentation Protocol Number .........................26

Abstract πŸ’–

Some IETF protocols use Ethernet frame formats and IEEE 802 parameters, and this doc talks about several ways the IETF uses those parameters πŸ¦‹ It also lays out the IANA considerations for assigning points under the IANA OUI (Organizationally Unique Identifier) and gives some values you can use in documentation ✨ This document obsoletes RFC 5342 🫢

Status of This Memo ✨

This memo documents an Internet Best Current Practice 🌈

This is a product of the Internet Engineering Task Force (IETF), so it reflects the consensus of the IETF community πŸ‘‘ It got public review and was approved for publication by the Internet Engineering Steering Group (IESG) πŸ’… If you want more on BCPs, check Section 2 of RFC 5741 πŸ“š

Info about the current status of this document, any errata, and how to send feedback is at http://www.rfc-editor.org/info/rfc7042 πŸŽ€

Copyright (c) 2013 IETF Trust and the persons identified as the document authors. All rights reserved πŸ’œ

This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) as they stand on the date of publication πŸ¦‹ Please actually read these, because they describe your rights and restrictions for this document πŸ™ˆ Code Components pulled out of this document must include Simplified BSD License text, as described in Section 4.e of the Trust Legal Provisions, and they come without warranty, as the Simplified BSD License describes πŸ’€

1. Introduction ✨

Some IETF protocols use Ethernet or other IEEE 802-related communication frame formats and parameters [IEEE802] πŸ“ These include MAC (Media Access Control) identifiers and protocol identifiers 🧚

This document specifies IANA considerations for assigning code points under the IANA OUI πŸ’… It also talks about other ways the IETF uses IEEE 802 code points and gives some values for documentation 🌈 As noted in [RFC2606] and [RFC5737], using designated code values reserved for documentation and examples cuts down on conflicts and confusion from duplicating code points already assigned for real deployed use 🫢

[RFC5226] is incorporated herein except where this document says otherwise πŸ”₯ "IESG Ratification" shows up in some places, and Section 5.1 explains it πŸ‘‘ It is not the same as "IESG Approval" in [RFC5226] 😭

1.1. Notations Used in This Document πŸ’œ

This document uses hexadecimal notation πŸŽ€ Each octet (that's an 8-bit byte) is written as two hex digits giving its value as an unsigned integer 🌸 Successive octets are separated by a hyphen πŸ¦‹ The document consistently uses IETF bit ordering, even though bits are physically transmitted within an octet on an IEEE [802.3] link from lowest order bit to highest order bit, which is the reverse of the IETF's ordering πŸ™ˆ

In this document:

  • AFN stands for Address Family Number [RFC4760] πŸ’–
  • EUI stands for Extended Unique Identifier ✨
  • IAB stands for Individual Address Block, not Internet Architecture Board 🌈
  • MAC stands for Media Access Control, not Message Authentication Code πŸ’…
  • OUI stands for Organizationally Unique Identifier πŸ“
  • RRTYPE stands for a DNS Resource Record type [RFC6895] 🧚
  • ** indicates exponentiation. For example, 2**24 is two to the twenty-fourth power πŸ”₯

1.2. Changes from RFC 5342 🌸

  • Added MAC addresses and IANA OUI-based protocol and other values for use in documentation, plus relevant Security Considerations language ✨
  • Eliminated any requirements for parallel unicast and multicast assignment unless someone asks for them πŸ’… Those requirements were in [RFC5342] on the theory they'd make IANA's bookkeeping easier, but they turned out to be a headache in practice πŸ™ˆ
  • Re-cast the informational material about relevant IEEE assignment policies to account for [RAC-OUI] πŸ¦‹
  • Added AFNs and RRTYPEs for 48-bit and 64-bit MACs πŸ’œ

1.3. The IEEE Registration Authority πŸŽ€

Originally Xerox Corporation's responsibility, the registration authority for Ethernet parameters is now the IEEE Registration Authority 🌈 You can find it on the web at:

http://standards.ieee.org/regauth/

Anyone may apply to that Authority for parameters 🫢 They may charge fees or impose other requirements, but they commonly waive fees for applications from standards development organizations πŸ‘‘

A list of some assignments and their holders is downloadable from the IEEE Registration Authority site πŸ“š

1.4. The IANA OUI πŸ“

The OUI 00-00-5E has been assigned to IANA 🧚

There is no OUI value reserved at this time for documentation, but there are documentation code points under the IANA OUI specified below 🌸

2. Ethernet Identifier Parameters πŸ’–

Section 2.1 covers EUI-48 (Extended Unique Identifier 48) MAC identifiers, how they relate to OUIs and other prefixes, and assignments under the IANA OUI ✨ Section 2.2 extends this to EUI-64 identifiers πŸ¦‹ Section 2.3 covers other IETF MAC identifier use that is not under the IANA OUI πŸ’…

[RAC-OUI] indicates that the IEEE Registration Authority Committee is exploring whether to define a new "EUI-128" identifier πŸ”₯

2.1. 48-Bit MAC Identifiers, OUIs, and Other Prefixes 🌈

48-bit MAC "addresses" are the most commonly used Ethernet interface identifiers πŸ’œ The globally unique ones are also called EUI-48 identifiers πŸŽ€ An EUI-48 is built from an initial 3-octet OUI (Organizationally Unique Identifier) plus 3 more octets assigned by the OUI holder. Alternatively, it can be built from a larger initial prefix assigned to an organization plus a shorter run of additional bits, so the whole thing adds up to 48 bits πŸ“ For example, the IEEE has assigned IABs (Individual Address Blocks), where the first 4 1/2 octets (36 bits) are assigned, which gives the IAB holder 1 1/2 octets (12 bits) to control πŸ™ˆ IABs are going to become historic, though, and a wider range of prefix lengths will be made available [RAC-OUI] 😭

The IEEE describes its assignment procedures and policies for IEEE 802-related identifiers in [802_O&A], which is currently being revised πŸ”₯

Two bits in the first octet of an EUI-48 have special meaning in MAC addresses: the Group bit (01) and the Local bit (02) πŸ‘‘ OUIs and longer MAC prefixes are assigned with the Local bit zero and the Group bit unspecified πŸ’… Multicast identifiers can be made by turning on the Group bit, and unicast identifiers can be made by leaving the Group bit zero πŸ¦‹

The Local bit is zero for globally unique EUI-48 identifiers assigned by the owner of an OUI or by the owner of a longer prefix πŸ’– If the Local bit is one, IEEE 802 considers the identifier a local one under the control of the local network administrator 🌸 There may be emerging recommendations from the IEEE Registration Authority on managing the local address space, though 🧚 If the Local bit is on, the holder of an OUI has no special authority over MAC identifiers whose first 3 octets match their OUI 😭

An AFN and a DNS RRTYPE have been assigned for 48-bit MAC addresses (see Section 5.2) 🌈

2.1.1. EUI-48 Assignments under the IANA OUI ✨

Okay so the OUI 00-00-5E was handed over to IANA, like we said back in Section 1.4 πŸ’– That gives us 2**24 EUI-48 multicast identifiers, from 01-00-5E-00-00-00 to 01-00-5E-FF-FF-FF, and 2**24 EUI-48 unicast identifiers, from 00-00-5E-00-00-00 to 00-00-5E-FF-FF-FF 🫢

Here's the breakdown of which sub-blocks IANA has already reserved or assigned for documentation and other stuff πŸŽ€

Unicast, all blocks of 2**8 addresses thus far:

  • 00-00-5E-00-00-00 through 00-00-5E-00-00-FF: reserved, and it needs IESG Ratification before anything gets assigned from it (see Section 5.1) πŸ”’
  • 00-00-5E-00-01-00 through 00-00-5E-00-01-FF: assigned for the Virtual Router Redundancy Protocol (VRRP) [RFC5798] 🌸
  • 00-00-5E-00-02-00 through 00-00-5E-00-02-FF: assigned for the IPv6 Virtual Router Redundancy Protocol (IPv6 VRRP) [RFC5798] 🌸
  • 00-00-5E-00-52-00 through 00-00-5E-00-52-FF: used for very small assignments. Right now, 3 out of these 256 values have been assigned 🧚
  • 00-00-5E-00-53-00 through 00-00-5E-00-53-FF: assigned for use in documentation πŸ“š

Multicast:

  • 01-00-5E-00-00-00 through 01-00-5E-7F-FF-FF: 2**23 addresses assigned for IPv4 multicast [RFC1112] πŸ¦‹
  • 01-00-5E-80-00-00 through 01-00-5E-8F-FF-FF: 2**20 addresses assigned for MPLS multicast [RFC5332] πŸ¦‹
  • 01-00-5E-90-00-00 through 01-00-5E-90-00-FF: 2**8 addresses being used for very small assignments. Right now, 4 out of these 256 values have been assigned 🧚
  • 01-00-5E-90-10-00 through 01-00-5E-90-10-FF: 2**8 addresses for use in documentation πŸ“š

For more detailed and up-to-date info, check the "Ethernet Numbers" registry at http://www.iana.org πŸ’…

2.1.2. EUI-48 Documentation Values πŸŽ€

These values have been assigned for use in documentation:

  • 00-00-5E-00-53-00 through 00-00-5E-00-53-FF for unicast, and
  • 01-00-5E-90-10-00 through 01-00-5E-90-10-FF for multicast.

2.1.3. EUI-48 IANA Assignment Considerations πŸ“

EUI-48 assignments under the current or a future IANA OUI (see Section 5.4) must meet the following requirements, bestie:

  • must be for standards purposes (either for an IETF Standard or other standard related to IETF work),
  • must be for a power-of-two size block of identifiers starting at a boundary that is an equal or greater power of two, including the assignment of one (2**0) identifier,
  • must not be used to evade the requirement for vendors to obtain their own block of identifiers from the IEEE, and
  • must be documented in an Internet-Draft or RFC.

On top of that, approval has to be obtained like this (see the procedure in Section 5.1):

  • Small to medium assignments of a block of 1, 2, 4, ..., 32768, 65536 (20, 21, 22, ..., 215, 2**16) EUI-48 identifiers require Expert Review (see Section 5.1) πŸ‘€
  • Large assignments of 131072 (2**17) or more EUI-48 identifiers require IESG Ratification (see Section 5.1) πŸ‘‘

([RFC5342] had a requirement for parallel unicast and multicast assignments under some circumstances, even when one of the types wasn't included in the application. That requirement proved impractical, so it's eliminated in this document πŸ™ˆ)

2.2. 64-Bit MAC Identifiers 🧚

IEEE also defines a system of 64-bit MAC identifiers, including EUI-64s. EUI-64 identifiers are currently used in these places:

  • In a modified form to construct some IPv6 interface identifiers, as described in Section 2.2.1
  • In IEEE Std 1394 (also known as FireWire and i.Link)
  • In IEEE Std 802.15.4 (also known as ZigBee)
  • In [InfiniBand]

Adding a 5-octet (40-bit) extension to a 3-octet (24-bit) OUI, or a shorter extension to longer assigned prefixes [RAC-OUI] so the total comes to 64 bits, produces an EUI-64 identifier under that OUI or longer prefix. Same as with EUI-48 identifiers, the first octet has the same Group and Local bits ✨

An AFN and a DNS RRTYPE have been assigned for 64-bit MAC addresses (see Section 5.2) πŸ’œ

The discussion below is almost entirely about the "Modified" form of EUI-64 identifiers. Still, anyone who's been assigned one of these identifiers can also use the unmodified form as a MAC identifier on any link that uses 64-bit identifiers for interfaces πŸ¦‹

2.2.1. IPv6 Use of Modified EUI-64 Identifiers 🌈

MAC-64 identifiers are used to form the lower 64 bits of some IPv6 addresses (Section 2.5.1 and Appendix A of [RFC4291], and Appendix A of [RFC5214]). When that happens, the MAC-64 gets modified by inverting the Local/Global bit, and that forms an IETF "Modified EUI-64 identifier". Here's an illustration of a Modified EUI-64 unicast identifier under the IANA OUI, where aa-bb-cc-dd-ee is the extension:

02-00-5E-aa-bb-cc-dd-ee

The first octet is shown as 02 rather than 00 because, in Modified EUI-64 identifiers, the sense of the Local/Global bit is inverted compared with EUI-48 identifiers. Globally unique values (universal scope) have the 02 bit on in the first octet, while those with this bit off are locally assigned and out of scope for global assignment 🌍

The Local/Global bit was inverted to make life easier for network operators typing in local-scope identifiers. So Modified EUI-64 identifiers like 1, 2, and so on (ignoring leading zeros) are local. Without the modification, they'd have to be 02-00-00-00-00-00-00-01, 02-00-00-00-00-00-00-02, and so on to be local πŸ™ƒ

Same as with MAC-48 identifiers, the 01 bit on in the first octet indicates a group identifier πŸ‘―

When the first two octets of the extension of a Modified EUI-64 identifier are FF-FE, the rest of the extension is a 24-bit value assigned by the OUI owner for an EUI-48. For example:

02-00-5E-FF-FE-yy-yy-yy
or
03-00-5E-FF-FE-yy-yy-yy

Here, yy-yy-yy is the part (of an EUI-48 global unicast or multicast identifier) that the OUI owner assigns (IANA in this case). So any holder of one or more EUI-48 identifiers under the IANA OUI also has an equal number of Modified EUI-64 identifiers. You make them by inserting FF-FE in the middle of the EUI-48 identifiers and inverting the Local/Global bit πŸ”₯

(Note: [EUI-64] defines FF-FF as the bits to be inserted to create an IEEE EUI-64 identifier from a MAC-48 identifier. That document says the FF-FE value is used when starting with an EUI-48 identifier. The IETF uses only FF-FE to create Modified EUI-64 identifiers from 48-bit Ethernet station identifiers, regardless of whether they are EUI-48 or MAC-48 local identifiers. EUI-48 and local MAC-48 identifiers are syntactically equivalent, and this doesn't cause any problems in practice.)

On top of that, certain Modified EUI-64 identifiers under the IANA OUI are reserved for holders of IPv4 addresses, like this:

02-00-5E-FE-xx-xx-xx-xx

Here xx-xx-xx-xx is a 32-bit IPv4 address. The owner of an IPv4 address gets both the unicast-derived and multicast-derived EUI-64 address 🫢

Modified EUI-64 identifiers from 02-00-5E-FE-F0-00-00-00 to 02-00-5E-FE-FF-FF-FF-FF are effectively reserved while we wait for the specification of IPv4 Class E addresses 🧊

For Modified EUI-64 identifiers based on an IPv4 address, the Local/Global bit should be set to match whether the IPv4 address is local or global. (Keep in mind that the sense of the Modified EUI-64 identifier Local/Global bit is reversed from what it is in unmodified MAC-64 identifiers πŸ™ˆ)

2.2.2. EUI-64 IANA Assignment Considerations πŸ“

The table below shows which Modified EUI-64 identifiers under the IANA OUI are reserved, assigned, or available. As noted above, the corresponding MAC addresses can be found by complementing the 02 bit in the first octet. In every case, the matching multicast 64-bit MAC addresses (made by complementing the 01 bit in the first octet) have the same status as the modified 64-bit unicast address blocks listed here πŸ’…

  • 02-00-5E-00-00-00-00-00 to 02-00-5E-0F-FF-FF-FF-FF: reserved
  • 02-00-5E-10-00-00-00-00 to 02-00-5E-10-00-00-00-FF: assigned for documentation use
  • 02-00-5E-10-00-00-01-00 to 02-00-5E-EF-FF-FF-FF-FF: available for assignment βœ…
  • 02-00-5E-F0-00-00-00-00 to 02-00-5E-FD-FF-FF-FF-FF: reserved
  • 02-00-5E-FE-00-00-00-00 to 02-00-5E-FE-FF-FF-FF-FF: assigned to IPv4 address holders, as described above
  • 02-00-5E-FF-00-00-00-00 to 02-00-5E-FF-FD-FF-FF-FF: reserved
  • 02-00-5E-FF-FE-00-00-00 to 02-00-5E-FF-FE-FF-FF-FF: assigned for holders of EUI-48 identifiers under the IANA OUI, as described above
  • 02-00-5E-FF-FF-00-00-00 to 02-00-5E-FF-FF-FF-FF-FF: reserved

The reserved identifiers above require IESG Ratification (see Section 5.1) before they can be assigned. IANA EUI-64 identifier assignments under the IANA OUI must meet these requirements:

  • must be for standards purposes (either for an IETF Standard or other standard related to IETF work),
  • must be for a power-of-two size block of identifiers starting at a boundary that is an equal or greater power of two, including the assignment of one (2**0) identifier,
  • must not be used to evade the requirement for vendors to obtain their own block of identifiers from the IEEE, and
  • must be documented in an Internet-Draft or RFC.

On top of that, approval has to be obtained like this (see the procedure in Section 5.1):

  • Small to medium assignments of a block of 1, 2, 4, ..., 134217728, 268435456 (20, 21, 22, ..., 227, 2**28) EUI-64 identifiers require Expert Review (see Section 5.1) πŸ‘€
  • Assignments of any size, including 536870912 (2**29) or more EUI-64 identifiers, may be made with IESG Ratification (see Section 5.1) πŸ‘‘

2.2.3. EUI-64 Documentation Values πŸŽ€

These blocks of unmodified 64-bit MAC addresses are for documentation use. The IPv4-derived addresses are based on the IPv4 documentation addresses [RFC5737], and the MAC-derived addresses are based on the EUI-48 documentation addresses above 🧚

Unicast:

  • 00-00-5E-EF-10-00-00-00 to 00-00-5E-EF-10-00-00-FF: general
  • 00-00-5E-FE-C0-00-02-00 to 00-00-5E-FE-C0-00-02-FF, and 00-00-5E-FE-C6-33-64-00 to 00-00-5E-FE-C6-33-64-FF, and 00-00-5E-FE-CB-00-71-00 to 00-00-5E-FE-CB-00-71-FF: IPv4 derived
  • 00-00-5E-FF-FE-00-53-00 to 00-00-5E-FF-FE-00-53-FF: EUI-48 derived
  • 00-00-5E-FE-EA-C0-00-02, and 00-00-5E-FE-EA-C6-33-64, and 00-00-5E-FE-EA-CB-00-71: IPv4 multicast derived from IPv4 unicast [RFC6034]

Multicast:

  • 01-00-5E-EF-10-00-00-00 to 01-00-5E-EF-10-00-00-FF: general
  • 01-00-5E-FE-C0-00-02-00 to 01-00-5E-FE-C0-00-02-FF, and 01-00-5E-FE-C6-33-64-00 to 01-00-5E-FE-C6-33-64-FF, and 01-00-5E-FE-CB-00-71-00 to 01-00-5E-FE-CB-00-71-FF: IPv4 derived
  • 01-00-5E-FE-EA-C0-00-02, and 01-00-5E-FE-EA-C6-33-64, and 01-00-5E-FE-EA-CB-00-71: IPv4 multicast derived from IPv4 unicast [RFC6034]
  • 01-00-5E-FF-FE-90-10-00 to 01-00-5E-FF-FE-90-10-FF: EUI-48 derived

2.3. Other MAC-48 Identifiers Used by the IETF πŸ’–

Okay, there are two other blocks of MAC-48 identifiers that the IETF uses, and I'll walk you through them next 🌸

2.3.1. Identifiers Prefixed "33-33" πŸ¦‹

Okay so every MAC-48 multicast identifier that starts with "33-33" (so the whole 2**32 batch from 33-33-00-00-00-00 all the way to 33-33-FF-FF-FF-FF) is used as specified in [RFC2464] for IPv6 multicast. Iconic. πŸ‘‘ The Group bit (the bottom bit of the first octet) is on in every single one of them, which is needed so they work properly with existing hardware as a multicast identifier. They also have the Local bit on and they're used for exactly this in IPv6 networks. Main character energy. ✨

(Historical note: It was the custom during IPv6 design to use "3" for unknown or example values, and 3333 Coyote Hill Road, Palo Alto, California, is the address of PARC (Palo Alto Research Center, formerly "Xerox PARC"). Ethernet was originally specified by the Digital Equipment Corporation, Intel Corporation, and Xerox Corporation. The pre-IEEE [802.3] Ethernet protocol has sometimes been known as "DIX" Ethernet from the first letters of the names of these companies.) 🧚

2.3.2. The 'CF Series' 🌈

Okay this one is so fun. The Informational [RFC2153] declared the 3-octet values from CF-00-00 through CF-FF-FF to be OUIs that IANA can assign to software vendors for use in PPP [RFC1661], or for other uses where vendors don't otherwise need an IEEE-assigned OUI. πŸ’… Now here's the tea: when these get used as MAC-48 prefixes, they have the Local and Group bits on, while every IEEE-assigned OUI so far has those bits off. The Group bit is meaningless in PPP anyway, so no drama there. πŸ™ˆ To quote [RFC2153]: "The 'CF0000' series was arbitrarily chosen to match the PPP NLPID 'CF', as a matter of mnemonic convenience." Literally so cute. πŸŽ€

CF-00-00 is reserved, and IANA lists multicast identifier CF-00-00-00-00-00 as used for Ethernet loopback tests. πŸ”

In over a decade of availability, only a handful of values in the 'CF Series' have actually been assigned. πŸ’€ (See "Ethernet Numbers" http://www.iana.org/assignments/ethernet-numbers and "PPP Numbers" http://www.iana.org/assignments/ppp-numbers.)

2.3.2.1. Changes to RFC 2153 🫢

The IANA Considerations in [RFC2153] got updated as follows when [RFC5342] was approved (no technical changes were made at that time, just a glow-up on paper):

  • Use of these identifiers based on IANA assignment was deprecated. πŸ₯€
  • IANA was instructed not to assign any further values in the 'CF Series'. 🚫

3. Ethernet Protocol Parameters πŸ“

Ethernet protocol parameters are how a frame says what's inside it, like whether its contents are IPv4 or IPv6. πŸ“¦

The concept has been extended to labeling by "tags". A tag in this sense is a prefix whose type is identified by an Ethertype, and then it's followed by either another tag, an Ethertype, or an LSAP (Link-Layer Service Access Point) protocol indicator for the "main" body of the frame, as described below. ✨ Traditionally, in the [802_O&A] world, tags are a fixed length and don't include any encoding of their own length. Any device processing a frame cannot, in general, safely process anything in the frame past an Ethertype it doesn't understand. 😭 An example is the C-Tag (formerly the Q-Tag) [802.1Q]. It provides customer VLAN and priority information for a frame. πŸ’œ

There are two types of protocol identifier parameters that can show up in Ethernet frames after the initial MAC-48 destination and source identifiers:

  • Ethertypes: These are 16-bit identifiers appearing as the initial two octets after the MAC destination and source (or after a tag), which, when considered as an unsigned integer, are equal to or larger than 0x0600. πŸ”₯
  • LSAPs: These are 8-bit protocol identifiers that occur in pairs immediately after an initial 16-bit (two-octet) remaining frame length, which is in turn after the MAC destination and source (or after a tag). That length must, when considered as an unsigned integer, be less than 0x5DC, or it could be mistaken as an Ethertype. πŸ™ƒ LSAPs occur in pairs where one is meant to indicate the source protocol handler and one the destination protocol handler. Use cases where the two are different have been relatively rare, though. 🌸

Neither Ethertypes nor LSAPs are assigned by IANA. They're assigned by the IEEE Registration Authority (see Section 1.3 above and Appendix B). 🧾 However, both LSAPs and Ethertypes have extension mechanisms, so they can be used with five-octet Ethernet protocol identifiers under an OUI, including those assigned by IANA under the IANA OUI. Iykyk. πŸŽ€

When using the IEEE 802 Logical Link Control (LLC) format (Subnetwork Access Protocol (SNAP)) [802_O&A] for a frame, an OUI-based protocol identifier can be expressed like this:

xx-xx-AA-AA-03-yy-yy-yy-zz-zz

Where xx-xx is the frame length, which as above must be small enough not to be confused with an Ethertype. AA is the LSAP that indicates this use, sometimes called the SNAP Service Access Point (SAP). 03 is the LLC control octet indicating datagram service. yy-yy-yy is an OUI, and zz-zz is a protocol number under that OUI, assigned by the OUI owner. The odd five-octet length for these OUI-based protocol identifiers was picked so that, with the LLC control octet (03), the result is 16-bit aligned. Genius, honestly. 🧠✨

When using an Ethertype to indicate the main type for a frame body, the special "OUI Extended Ethertype" 88-B7 is available. With this Ethertype, a frame body can begin with:

88-B7-yy-yy-yy-zz-zz

Where yy-yy-yy and zz-zz have the same meaning as in the SNAP format described above. πŸ’–

It's also possible, within the SNAP format, to use an arbitrary Ethertype. Putting the Ethertype as the zz-zz field after an all-zeros OUI (00-00-00) does this. It looks like:

xx-xx-AA-AA-03-00-00-00-zz-zz

Where zz-zz is the Ethertype. 🫧

(Note that, at this point, the 802 protocol syntax facilities are sufficiently powerful that they could be chained indefinitely. Whether support for such chaining is generally required is not clear, but [802_O&A] requires support for xx-xx-AA-AA-03-00-00-00-88-B7-yy-yy-yy-zz-zz, although this could be more efficiently expressed by simply pinching out the "00-00-00-88-B7" in the middle.) πŸ€“

As well as labeling frame contents, 802 protocol types appear within NBMA (Non-Broadcast Multi-Access) Next Hop Resolution Protocol [RFC2332] messages. Those messages have provisions for both two-octet Ethertypes and OUI-based protocol types. 🌷

3.1. Ethernet Protocol Assignment under the IANA OUI 🌈

Two-octet protocol numbers under the IANA OUI are available, like this:

xx-xx-AA-AA-03-00-00-5E-qq-qq

Where qq-qq is the protocol number. πŸ”’

A number of these assignments have been made out of the 2**16 protocol numbers available from 00-00-5E-00-00 to 00-00-5E-FF-FF (see [IANA]). The extreme values of this range, 00-00-5E-00-00 and 00-00-5E-FF-FF, are reserved and require IESG Ratification for assignment (see Section 5.1). 🚧 New assignments of SNAP SAP protocol (qq-qq) numbers under the IANA OUI must meet the following requirements:

  • the assignment must be for standards use (either for an IETF Standard or other standard related to IETF work),
  • it must be documented in an Internet-Draft or RFC, and
  • such protocol numbers are not to be assigned for any protocol that has an Ethertype (because that can be expressed by putting an all-zeros "OUI" before the Ethertype as described above). πŸ™…β€β™€οΈ

In addition, the Expert Review (or IESG Ratification for the two reserved values) must be obtained using the procedure specified in Section 5.1. Paperwork bestie, but make it iconic. πŸ“πŸ‘‘

3.2. Documentation Protocol Number 🧸

0x0042 is a protocol number under the IANA OUI (that is, 00-00-5E-00-42) to be used for documentation purposes. πŸ“šπŸ¦‹


4. Other OUI-Based Parameters 🌸

Some IEEE 802 and other protocols provide for parameters based on an OUI beyond the ones we just talked about. Those parameters most commonly consist of an OUI plus one octet of additional value. πŸŽ€ They're usually called "vendor specific" parameters, although "organization specific" might be more accurate. They look like:

yy-yy-yy-zz

Where yy-yy-yy is the OUI and zz is the additional specifier. An example is the Cipher Suite Selector in IEEE [802.11]. πŸ”

Values may be assigned under the IANA OUI for this kind of other OUI-based parameter usage by Expert Review, except that, for each use, the additional specifier values consisting of all zero bits and all one bits (0x00 (00-00-5E-00) and 0xFF (00-00-5E-FF) for a one-octet specifier) are reserved and require IESG Ratification (see Section 5.1) for assignment. Also, the additional specifier value 0x42 (00-00-5E-42) is assigned for use in documentation. 🧁

Assignments of such other IANA OUI-based parameters must be for standards use (either for an IETF Standard or other standard related to IETF work) and be documented in an Internet-Draft or RFC. The first time a value is assigned for a particular parameter of this type, an IANA registry will be created to contain that assignment and any subsequent assignments of values for that parameter under the IANA OUI. The Expert will specify the name of the registry. πŸ—‚οΈβœ¨

If different policies from those above are required for such a parameter, a BCP or Standards Track RFC must be adopted to update this BCP and specify the new policy and parameter. πŸ“œ


5. IANA Considerations πŸ’…

The entirety of this document is about IANA considerations for the assignment of Ethernet parameters in connection with the IANA OUI and related matters. It's giving full focus. 🎯

As this document replaces [RFC5342], references to [RFC5342] in IANA registries have been replaced by references to this document. In addition, any references in the registries to [DOC-ADDR], which has been combined into this document, have been replaced by references to this document. πŸ”„

This document does not create any new IANA registries. πŸ™…β€β™€οΈ

This document assigns MAC address values for documentation. These values had been previously assigned by [DOC-ADDR]. As noted above, any references in the registries to [DOC-ADDR] have been replaced by references to this document. 🧸

The only other assignment that has been made by this document is a protocol number for documentation. See Section 5.6 for details. 🫢

No existing assignment is changed by this document. Stable as ever. πŸ¦‹

5.1. Expert Review and IESG Ratification ✨

okay so this section is the whole Expert Review and IESG Ratification process for MAC, protocol, and other IANA OUI-based identifiers πŸ’… The Expert(s) here SHALL consist of one or more persons appointed by and serving at the pleasure of the IESG 🫢

the Expert Review stuff in this doc is totally consistent with the IANA Expert Review policy in [RFC5226] πŸ’–

so the universe of code points is finite, but it's giving huge, so the requirements in this doc plus the Experts' good judgment are enough guidance 🌈 the Expert is basically doing a light sanity check for small EUI identifier assignments, and gets more scrutiny for medium-sized EUI assignments and for protocol identifiers and other IANA OUI-based parameters πŸ” it can also make sense to assign really big chunks of the MAC identifier code point space. (fun fact: there are already assignments for 1/2 of the entire multicast IANA EUI-48 code point space and 1/16 of that multicast code point space 😭) for those cases, and for assigning "reserved" values, IESG Ratification of an Expert Review approval recommendation is REQUIRED, as described below. here's the flow πŸ¦‹

  • The applicant always completes the appropriate template from Appendix A below and sends it to IANA <iana@iana.org>.
  • IANA always sends the template to an appointed Expert. If the Expert recuses themselves or is non-responsive, IANA MAY choose an alternative appointed Expert or, if none is available, will contact the IESG.
  • In all cases, if IANA receives a disapproval from an Expert selected to review an application template, the application will be denied.
  • If the assignment is based on Expert Review:
    • If IANA receives approval and code points are available, IANA will make the requested assignment.
  • If the assignment is based on IESG Ratification:
    • The procedure starts with the first steps above for Expert Review. If the Expert disapproves the application, they simply inform IANA. However, if the Expert believes the application SHOULD be approved, or is uncertain and believes that the circumstances warrant the attention of the IESG, the Expert will inform IANA about their advice, and IANA will forward the application, together with the reasons for approval or uncertainty, to the IESG.
    • The IESG MUST decide whether the assignment will be granted. This can be accomplished by a management item in an IESG telechat, as is done for other types of requests. If the IESG decides not to ratify a favorable opinion by the Expert or decides against an application where the Expert is uncertain, the application is denied; otherwise, it is granted. The IESG will communicate its decision to the Expert and to IANA.

5.2. MAC Address AFNs and RRTYPEs 🌸

IANA has assigned Address Family Numbers (AFNs) for MAC addresses like this 🧚

        AFN         Decimal     Hex      Reference
     ----------     -------    ------    ---------
     48-bit MAC      16389     0x4005    [RFC7042]
     64-bit MAC      16390     0x4006    [RFC7042]

and IANA has assigned DNS RRTYPEs [RFC6895] for MAC addresses like this πŸ“

                             RRTYPE Code
      Data       Mnemonic   Decimal   Hex      Reference
   ----------    --------   -------  ------   -----------
   48-bit MAC     EUI48       108    0x006C   [RFC7043]
   64-bit MAC     EUI64       109    0x006D   [RFC7043]

5.3. Informational IANA Web Page Material 🌷

IANA keeps an informational listing on its web site about Ethertypes, OUIs, and multicast addresses assigned under OUIs other than the IANA OUI. that registry is called "IEEE 802 Numbers" πŸ“š IANA has merged in the Ethertypes listed in Appendix B that weren't already included, and it will update that informational registry whenever the Expert provides changes 🫧

5.4. OUI Exhaustion 🚨

okay, this one's important: when the available space for either multicast or unicast EUI-48 identifiers under OUI 00-00-5E has been 90% or more exhausted, IANA SHOULD request an additional OUI from the IEEE Registration Authority for further IANA assignment. the appointed Expert(s) SHOULD monitor for this condition and notify IANA πŸ‘€

5.5. IANA OUI MAC Address Table πŸ’œ

no changes have been made to the "IANA Unicast 48-bit MAC Addresses" and "IANA Multicast 48-bit MAC Addresses" tables, except for the reference updates specified in the first part of Section 5 ✨

5.6. SNAP Protocol Number Table and Assignment πŸŽ€

the "SNAP PROTOCOL IDs" table got renamed to the "SNAP Protocol Numbers" table, and "PID" got replaced by "Protocol Number" πŸ’…

IANA has assigned 0x0042 as the SNAP protocol number under the IANA OUI, to be used for documentation purposes πŸ¦‹

6. Security Considerations πŸ”

this doc is mostly about assigning parameters under the IANA OUI and closely related stuff. it isn't directly about security, except for the points below 🚨

confusion and conflict can happen when MAC addresses or other OUI-derived protocol parameters get used as examples in documentation 😭 examples used "only" in documentation can end up getting coded and released, or can cause conflicts later when they're really used, plus there's the possible acquisition of intellectual property rights in those addresses or parameters πŸ’€ reserving MAC addresses and parameters for documentation purposes in this doc will help minimize that mess 🫢

for security considerations about storing MAC addresses in the DNS, see [RFC7043] 🌈

7. Acknowledgements 🫢

the comments and suggestions of the following people, listed in alphabetic order, are gratefully acknowledged πŸ’–

This document:

  • David Black, Adrian Farrel, Bob Grow, Joel Jaeggli, Pearl Liang, Glenn Parsons, Pete Resnick, and Dan Romascanu.

RFC 5342:

  • Bernard Aboba, Scott O. Bradner, Ian Calder, Michelle Cotton, Lars Eggert, Eric Gray, Alfred Hoenes, Russ Housley, Charlie Kaufman, Erik Nordmark, Dan Romascanu, Geoff Thompson, and Mark Townsley.

8. References πŸ“š

8.1. Normative References πŸ”₯

  • [802_O&A] "IEEE Standard for Local and Metropolitan Area Networks: Overview and Architecture", IEEE Std 802-2001, 8 March 2002. "IEEE Standard for Local and Metropolitan Area Networks: Overview and Architecture / Amendment 1: Ethertypes for Prototype and Vendor-Specific Protocol Development", IEEE Std 802a-2003, 18 September 2003.
  • [RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 5226, May 2008.

8.2. Informative References πŸ¦‹

  • [802.1Q] "IEEE Standard for Local and metropolitan area networks / Media Access Control (MAC) Bridges and Virtual Bridge Local Area Networks", IEEE Std 802.1Q-2011, 31 August 2011.
  • [802.3] "IEEE Standard for Ethernet", IEEE Std 802.3-2012, 28 December 2012.
  • [802.11] "IEEE Standard for Information technology / Telecommunications and information exchange between systems / Local and metropolitan area networks / Specific requirements / Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications", IEEE Std 802.11-2012, 29 March 2012.
  • [DOC-ADDR] Abley, J., "EUI-48 and EUI-64 Address Assignments for use in Documentation", Work in Progress, March 2013.
  • [EUI-64] IEEE Registration Authority, "Guidelines for 64-bit Global Identifier (EUI-64(TM))", <http://standards.ieee.org/regauth/oui/tutorials/EUI64.html>, November 2012.
  • [IANA] Internet Assigned Numbers Authority, <http://www.iana.org>.
  • [IEEE802] IEEE 802 LAN/MAN Standards Committee, <http://www.ieee802.org>.
  • [InfiniBand] InfiniBand Trade Association, "InfiniBand Architecture Specification Volume 1", November 2007.
  • [RAC-OUI] Parsons, G., "OUI Registry Restructuring", Work in Progress, September 2013.
  • [RFC1112] Deering, S., "Host extensions for IP multicasting", STD 5, RFC 1112, August 1989.
  • [RFC1661] Simpson, W., Ed., "The Point-to-Point Protocol (PPP)", STD 51, RFC 1661, July 1994.
  • [RFC2153] Simpson, W., "PPP Vendor Extensions", RFC 2153, May 1997.
  • [RFC2332] Luciani, J., Katz, D., Piscitello, D., Cole, B., and N. Doraswamy, "NBMA Next Hop Resolution Protocol (NHRP)", RFC 2332, April 1998.
  • [RFC2464] Crawford, M., "Transmission of IPv6 Packets over Ethernet Networks", RFC 2464, December 1998.
  • [RFC2606] Eastlake 3rd, D. and A. Panitz, "Reserved Top Level DNS Names", BCP 32, RFC 2606, June 1999.
  • [RFC3092] Eastlake 3rd, D., Manros, C., and E. Raymond, "Etymology of "Foo"", RFC 3092, April 1 2001.
  • [RFC4291] Hinden, R. and S. Deering, "IP Version 6 Addressing Architecture", RFC 4291, February 2006.
  • [RFC4760] Bates, T., Chandra, R., Katz, D., and Y. Rekhter, "Multiprotocol Extensions for BGP-4", RFC 4760, January 2007.
  • [RFC5214] Templin, F., Gleeson, T., and D. Thaler, "Intra-Site Automatic Tunnel Addressing Protocol (ISATAP)", RFC 5214, March 2008.
  • [RFC5332] Eckert, T., Rosen, E., Ed., Aggarwal, R., and Y. Rekhter, "MPLS Multicast Encapsulations", RFC 5332, August 2008.
  • [RFC5342] Eastlake 3rd, D., "IANA Considerations and IETF Protocol Usage for IEEE 802 Parameters", BCP 141, RFC 5342, September 2008.
  • [RFC5737] Arkko, J., Cotton, M., and L. Vegoda, "IPv4 Address Blocks Reserved for Documentation", RFC 5737, January 2010.
  • [RFC5798] Nadas, S., Ed., "Virtual Router Redundancy Protocol (VRRP) Version 3 for IPv4 and IPv6", RFC 5798, March 2010.
  • [RFC6034] Thaler, D., "Unicast-Prefix-Based IPv4 Multicast Addresses", RFC 6034, October 2010.
  • [RFC6895] Eastlake 3rd, D., "Domain Name System (DNS) IANA Considerations", BCP 42, RFC 6895, April 2013.
  • [RFC7043] Abley, J., "Resource Records for EUI-48 and EUI-64 Addresses in the DNS", RFC 7043, October 2013.

Appendix A. Templates πŸŽ€

this appendix has the specific templates for IANA assignments of parameters. explanatory words in parentheses in the templates below MAY be deleted in a completed template as submitted to IANA 🧾

A.1. EUI-48/EUI-64 Identifier or Identifier Block Template πŸ’–

Applicant Name:

Applicant Email:

Applicant Telephone: (starting with country code)

Use Name: (brief name of Parameter use such as "Foo Protocol"
[RFC3092])

Document: (ID or RFC specifying use to which the identifier or block
of identifiers will be put.)

Specify whether this is an application for EUI-48 or EUI-64
identifiers:

Size of Block requested: (must be a power-of-two-sized block, can be
a block of size one (2**0))

Specify multicast, unicast, or both:

A.2. IANA OUI-Based Protocol Number Template πŸ’…

okay so this is the form you fill out if you want an IANA OUI-based protocol number πŸ“ bestie, every field matters, so here it is in code:

   Applicant Name:

   Applicant Email:

   Applicant Telephone: (starting with country code)

   Use Name: (brief name of use of code point such as "Foo Protocol")

   Document: (ID or RFC specifying use to which the protocol identifier
   will be put.)

   Note: (any additional note)

A.3. Other IANA OUI-Based Parameter Template πŸŽ€

this one is for the other OUI-based parameters, not protocol numbers 🧚 same vibe, but it asks where the parameter shows up, too:

   Applicant Name:

   Applicant Email:

   Applicant Telephone: (starting with country code)

   Protocol where the OUI-Based Parameter for which a value is being
   requested appears: (such as: Cipher Suite selection in IEEE 802.11)

   Use Name: (brief name of use of code point to be assigned, such as
   "Foo Cipher Suite" [RFC3092])

   Document: (ID or RFC specifying use to which the other IANA OUI-based
   parameter value will be put.)

   Note: (any additional note)

Appendix B. Ethertypes πŸ¦‹

this appendix is a little list of some Ethertypes that the IETF or IEEE 802 had specified when this was published ✨ ngl the list might be newer on the IANA web site, which is currently at [IANA] 🌸 there's also the IEEE Registration Authority page of Ethertypes, http://standards.ieee.org/regauth/ethertype/eth.txt, which may be useful too. See Section 3 above πŸ’œ

B.1. Some Ethertypes Specified by the IETF πŸ’–

   0x0800  Internet Protocol Version 4 (IPv4)
   0x0806  Address Resolution Protocol (ARP)
   0x0808  Frame Relay ARP
   0x22F3  TRILL
   0x22F4  L2-IS-IS
   0x8035  Reverse Address Resolution Protocol (RARP)
   0x86DD  Internet Protocol Version 6 (IPv6)
   0x880B  Point-to-Point Protocol (PPP)
   0x880C  General Switch Management Protocol (GSMP)
   0x8847  MPLS
   0x8848  MPLS with upstream-assigned label
   0x8861  Multicast Channel Allocation Protocol (MCAP)
   0x8863  PPP over Ethernet (PPPoE) Discovery Stage
   0x8864  PPP over Ethernet (PPPoE) Session Stage
   0x893B  TRILL Fine Grained Labeling (FGL)
   0x8946  TRILL RBridge Channel

B.2. Some IEEE 802 Ethertypes πŸ‘‘

   0x8100  IEEE Std 802.1Q   - Customer VLAN Tag Type (C-Tag, formerly
                                called the Q-Tag) (initially Wellfleet)
   0x8808  IEEE Std 802.3    - Ethernet Passive Optical Network (EPON)
   0x888E  IEEE Std 802.1X   - Port-based network access control
   0x88A8  IEEE Std 802.1Q   - Service VLAN tag identifier (S-Tag)
   0x88B5  IEEE Std 802      - Local Experimental Ethertype
   0x88B6  IEEE Std 802      - Local Experimental Ethertype
   0x88B7  IEEE Std 802      - OUI Extended Ethertype
   0x88C7  IEEE Std 802.11   - Pre-Authentication (802.11i)
   0x88CC  IEEE Std 802.1AB  - Link Layer Discovery Protocol (LLDP)
   0x88E5  IEEE Std 802.1AE  - Media Access Control Security
   0x88F5  IEEE Std 802.1Q   - Multiple VLAN Registration Protocol
                                (MVRP)
   0x88F6  IEEE Std 802.1Q   - Multiple Multicast Registration
                                Protocol (MMRP)
   0x890D  IEEE Std 802.11   - Fast Roaming Remote Request (802.11r)
   0x8917  IEEE Std 802.21   - Media Independent Handover Protocol
   0x8929  IEEE Std 802.1Qbe - Multiple I-SID Registration Protocol
   0x8940  IEEE Std 802.1Qbg - ECP Protocol (also used in 802.1BR)

Appendix C. Documentation Protocol Number 🌈

this is the template that got filled in for the IANA OUI-based protocol number used for documentation πŸ“š it's basically the example of how a real request looks, so it's giving good practice vibes πŸ’… (see Section 3 and Appendix A.2.)

   Applicant Name: Donald E. Eastlake 3rd

   Applicant Email: d3e3e3@gmail.com

   Applicant Telephone: 1-508-333-2270

   Use Name: Documentation

   Document: This document.

   Note: Request value 0x0042

Authors' Addresses 🫢

   Donald E. Eastlake 3rd
   Huawei Technologies
   155 Beaver Street
   Milford, MA  01757
   USA

   Phone: +1-508-634-2066
   EMail: d3e3e3@gmail.com


   Joe Abley
   Dyn, Inc.
   470 Moore Street
   London, ON  N6C 2C2
   Canada

   Phone: +1 519 670 9327
   EMail: jabley@dyn.com

πŸ“¦ where this page comes from