For testing purposes decided to add static IP addresses to my router for some mac addresses. For simplifity I started with aa:aa:aa:aa:aa:aa and assigned ip 192.168.1.100. These combination has been saved successful. But when I tried bb:bb:bb:bb:bb:bb router told me "non-unicast mac address". What does it means? Why I can not use this mac address inside our network?

  • Home networking questions are off topic. I edited this question to be on topic; however please consider Super User for future questions – Mike Pennington Jan 14 '15 at 11:25
  • Did any answer help you? if so, you should accept the answer so that the question doesn't keep popping up forever, looking for an answer. Alternatively, you could provide and accept your own answer. – Ron Maupin Aug 11 '17 at 2:54
up vote 7 down vote accepted

The least significant bit (LSB) in the MAC-Address is the Individual/Group type specification. IEEE 802.3 specifies the MAC-Address like this (with LSB first):

+---------+---------+----------------+
| I/G Bit | L/G Bit | 46-Bit Address |
+---------+---------+----------------+

I/G Bit: 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.

L/G Bit: The second bit shall be used to distinguish between locally or globally administered addresses. For globally administered (or U, universal) addresses, the bit is set to 0. If an address is to be assigned locally, this bit shall be set to 1. Note that for the broadcast address, this bit is also a 1.

When you convert the first byte of your address bb into binary, you get 10111011. Here the LSB is last, so the last bit in the first octet/byte is the I/G bit, which is 1. This makes your MAC address a group MAC address which your router rejects. If you use aa, you get 10101010 where the last bit is 0, making this an individual (unicast) MAC-Address.

To make your MAC-Adress unicast and also make clear that you've locally assigned it (and to prevent MAC collision) you should use an address where the I/G bit is turned off and the L/G bit is turned on. This means one of the following addresses:

X2:XX:XX:XX:XX:XX
X6:XX:XX:XX:XX:XX
XA:XX:XX:XX:XX:XX
XE:XX:XX:XX:XX:XX

You can use any hex value you want for X.

  • Good answer, except, your initial bit diagram of the MAC address is inaccurate. In your display below X2:XX:XX:XX:XX:XX is correct, but that is a hexadecimal representation. The first X is representing bits 0-3, and the 2 is representing bits 4-7. Which means the I/G is the 6th bit, and the U/L bit is the 7th bit. I couldn't find the specific RFC to quote, but Wikipedia had the information in there (although they counted their bits backwards). The diagram should show 6 bits, then the 2 bits dedicatd to I/G and U/L, then 40 more bits. – Eddie Jan 14 '15 at 16:33
  • 1
    Hi, the diagram has the LSB to the left, while the hex representation has the LSB to the right. Both are correct. I edited the text to specify that the last bits of the first octet are the ones we want. There is no RFC, Ethernet is an IEEE standard which I linked in my answer. (IEEE 802.3) – Sebastian Jan 14 '15 at 20:17
  • @Eddie The diagram is pretty much identical to the one in the Ethernet standard, which is clear: "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." – richardb Jan 15 '15 at 10:00
  • Maybe I'm missing something obvious then, but from what I am interpreting from the diagram, it looks like the I/G bit is the first (bit 0), and the U/L bit is the second (bit 1), then the rest of the MAC address is the remaining 46 bits. From what I've read and seen, the U/L bit is the 7th bit, which is why I said it appears the diagram is wrong. Help me out, what am I misunderstanding? Shouldn't it be 6 bits, then the U/L, then the I/G, then 40 more bits? – Eddie Jan 15 '15 at 15:34
  • 1
    @Eddie This is because you are a big-endian heretic who numbers bits from the wrong end. You may call the LSB bit 7, if you like, following IETF convention. However, it's the first on the wire (at least for old-fashioned 10Mbps Ethernet). – richardb Jan 15 '15 at 16:47

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.