The MAC address is a 48-bit (6-byte hexadecimal number) Address used on the second layer of Ethernet to identify the device location. The MAC address is divided into two parts. The first 24 digits are the unique identifier of the organization (oui, organizationally unique identifier), and the last 24 digits are allocated by the vendor.
MAC addresses can be unicast, multicast, or broadcast. The Unicast address indicates a single device or node,Multicast address or multicast address (multicast address, group address)It indicates a group of devices and nodes, and the broadcast address is a special case of multicast. It indicates all addresses, and the F indicates FF-ff. Of course, layer-3 IP addresses can also be unicast, multicast, or broadcast.
A 48-bit MAC address is generally expressed in a 6-byte hexadecimal format, for example, XX-xx. IEEE 802.3 stipulates that the 48bit of Ethernet is used to indicate whether the address is a multicast address or a unicast address. If the value is 0, the MAC address is a unicast address. If the value is 1, the MAC address is a multicast address. See IEEE 802.3 3.2.3 address fields: "the first BIT (LSB) shall be used in the destination address field as an address type designation bit to identify the destination address either as an individual or as a group address. if this bit is 0, it shall indicate that the address field contains an individual address. if this bit is 1, it shall indicate that the address field contains a group address that identifies none, one or more, or all of the stations connected to the LAN. in the source address field, the first bit is reserved and set to 0."
Because packets are sent in byte order of "Big endian" on the Ethernet line (that is, the highest byte is transmitted first. For more information about the byte order, see the relevant documentation ), the bit order is "little endian" (that is, the forward bit is first transmitted ). Therefore, the following figure is displayed (transmitted from the leftmost ):
Note that the 47bit in the figure indicates whether the MAC address is a globally unique address or a local address. 0 indicates a globally unique address, and 1 indicates a globally unique address. This is also called a g/l bit.
For the fixed MAC address on the network device, because it uniquely identifies the device, it can only be a unicast address, that is, the source address in the MAC frame 48th bits can only be 0.
We often say that there are two 48-power MAC addresses available for network devices. These addresses can allocate an extra address to each grain of sand on the Earth. In fact, this quantity is compromised, although there are so many MAC addresses, they are actually used on the network card and the only one in the world is the 46 power of 2: The 48bit must be 0, and the 47bit must be 0.
This leads to an interesting phenomenon: Find a PC and observe its NIC address,The hexadecimal number of 1st bytes is generally a multiple of 4.; Look at the IEEE assigned OUI (http://standards.ieee.org/develop/regauth/oui/oui.txt), the 1st-byte hexadecimal number is also generally a multiple of 4 (early Ethernet had no concept of local address, therefore, g/l bit in the allocated Oui may also be 1). In this case, it is not a multiple of 4, but it must be a multiple of 2, because 48th bits can only be 0.
There is a misunderstanding about the multicast address: the 1st-byte MAC address must be 0x01 to indicate the multicast address. This is also true for the TCP/IP explanation (see section 12.4.2 of the Chinese version ). IEEE 802.3 clearly states that as long as the 48bit is 1, it indicates the multicast address, therefore, whether the MAC address 1st byte is 0x01, 0xc1, or 0x33, it indicates that the MAC address is a multicast address (the address starting with 0x33 indicates the L2 multicast address corresponding to IPv6 ). The reason for this misunderstanding is that up to now, the 1st bytes of most multicast MAC addresses are 0x01. For example:
01-80-c2-00-00-00 (STP protocol used)
01-80-c2-00-00-01 (pause frame of MAC Control)
01-80-c2-00-00-02 !)
01-00-5e-xx-xx-xx (the layer-2 multicast address corresponding to the IP multicast address ).
Complete list see http://standards.ieee.org/develop/regauth/grpmac/public.html
The reason why most multicast addresses start with 01-80-c2 and 01-00-5e is that the protocols using these multicast addresses are under the names of IEEE and iana, and their Oui is 00-80-c2 and 00-00-5e, respectively, the multicast addresses are 01-80-c2 and 01-00-5e. Of course, in addition to the multicast addresses occupied by the leader, there are also addresses such as 01-00-0c-cc-cc-cc, which are occupied by Cisco, the oui of Cisco is 00-00-0c.