Ethernet hardware addresses are 48 bits, expressed as 12 hexadecimal digits (0-9, plus A-F, capitalized). They might be written unhyphenated (e.g., 123456789ABC), or with one hyphen (e.g., 123456-789ABC), but should be written hyphenated by octets (e.g., 12:34:56:78:9A:BC). This gives a theoretical 281,474,976,710,656 addresses. This is more than 56,000 MAC addresses for each person on the planet!
In practice, the address assignment policy (using flad addressing) will inevitably lead to some wastage - but even so, there are likely to be enougth addresses for ever computer, piece of networking equipment and a large numebr of household/office devices (heating systems, ovens, washing machines, fridges, drinks dispensors, security alarms, video recorders, ...) which could in the future be internet enabled!!!
The 12 hex digits of source address consist of the first/left 6 digits (which should match the vendor of the Ethernet network interface) and the last/right 6 digits which specify the interface serial number for that interface controller vendor (this gives 256 cubed addresses - or 16.78 million separate serial numbers).
The special address of all zeros (as shown below) is reserved for nodes that currently have no configured MAC address:
00 00 00 00 00 00
The IEEE-assigned addresses allow each vendor to assign their own interface serial numbers (this is a flat addressing scheme), but also allows protocol monitors to examine the first 3 bytes of a frame address to determine the manufacturere of the interface card being used.
The addresses associated with interface cards are source addresses, not multicast nor broadcast, so the second hex digit (reading from the left) will be even, not odd. The following list identifies some of the blocks of assigned vendor MAC addresses (i.e. the first 3 bytes of a MAC source address). As an example, the Ethernet address:
08 00 20 00 70 DF
corresponds to an interface manufactured by Sun Microsystems (see below).
A more complete list follows:
00000C Cisco 00000E Fujitsu 00000F NeXT 000010 Sytek 00001D Cabletron 000020 DIAB (Data Intdustrier AB) 000022 Visual Technology 00002A TRW 000032 GPT Limited (reassigned from GEC Computers Ltd) 00005A S & Koch 00005E IANA 000065 Network General 00006B MIPS 000077 MIPS 00007A Ardent 000089 Cayman Systems Gatorbox 000093 Proteon 00009F Ameristar Technology 0000A2 Wellfleet 0000A3 Network Application Technology 0000A6 Network General (internal assignment, not for products) 0000A7 NCD X-terminals 0000A9 Network Systems 0000AA Xerox Xerox machines 0000B3 CIMLinc 0000B7 Dove Fastnet 0000BC Allen-Bradley 0000C0 Western Digital 0000C5 Farallon phone net card 0000C6 HP Intelligent Networks Operation (formerly Eon Systems) 0000C8 Altos 0000C9 Emulex Terminal Servers 0000D7 Dartmouth College (NED Router) 0000D8 3Com? Novell? PS/2 0000DD Gould 0000DE Unigraph 0000E2 Acer Counterpoint 0000EF Alantec 0000FD High Level Hardvare (Orion, UK) 000102 BBN BBN internal usage (not registered) 0020AF 3COM ??? 001700 Kabel 008064 Wyse Technology / Link Technologies 00802B IMAC ??? 00802D Xylogics, Inc. Annex terminal servers 00808C Frontier Software Development 0080C2 IEEE 802.1 Committee 0080D3 Shiva 00AA00 Intel 00DD00 Ungermann-Bass 00DD01 Ungermann-Bass 020701 Racal InterLan 020406 BBN BBN internal usage (not registered) 026086 Satelcom MegaPac (UK) 02608C 3Com IBM PC; Imagen; Valid; Cisco 02CF1F CMC Masscomp; Silicon Graphics; Prime EXL 080002 3Com (Formerly Bridge) 080003 ACC (Advanced Computer Communications) 080005 Symbolics Symbolics LISP machines 080008 BBN 080009 Hewlett-Packard 08000A Nestar Systems 08000B Unisys 080011 Tektronix, Inc. 080014 Excelan BBN Butterfly, Masscomp, Silicon Graphics 080017 NSC 08001A Data General 08001B Data General 08001E Apollo 080020 Sun Sun machines 080022 NBI 080025 CDC 080026 Norsk Data (Nord) 080027 PCS Computer Systems GmbH 080028 TI Explorer 08002B DEC 08002E Metaphor 08002F Prime Computer Prime 50-Series LHC300 080036 Intergraph CAE stations 080037 Fujitsu-Xerox 080038 Bull 080039 Spider Systems 080041 DCA Digital Comm. Assoc. 080045 ???? (maybe Xylogics, but they claim not to know this number) 080046 Sony 080047 Sequent 080049 Univation 08004C Encore 08004E BICC 080056 Stanford University 080058 ??? DECsystem-20 08005A IBM 080067 Comdesign 080068 Ridge 080069 Silicon Graphics 08006E Concurrent Masscomp 080075 DDE (Danish Data Elektronik A/S) 08007C Vitalink TransLAN III 080080 XIOS 080086 Imagen/QMS 080087 Xyplex terminal servers 080089 Kinetics AppleTalk-Ethernet interface 08008B Pyramid 08008D XyVision XyVision machines 080090 Retix Inc Bridges 484453 HDS ??? 800010 AT&T AA0000 DEC obsolete AA0001 DEC obsolete AA0002 DEC obsolete AA0003 DEC Global physical address for some DEC machines AA0004 DEC Local logical address for systems running DECNET
Note that the first byte of the source address is always even (since the least significant bit, or first bit on the wire indicates that the address is a group address ).
The destination address is a valid source address, except for an address which has the lowest bit of the first byte set to '1'. These addresses, including the all 1's broadcast address FF:FF:FF:FF:FF:FF and the set of multicast addresses, are point-to-multipoint addresses and can never appear as the source address in an Ethernet frame. A frame must be sent by a single source.
Can you imagine the complications which would arise with learning bridges if this rule was not kept? (This has beern seen in practice with some low-cost manufacturers cloning the same address in all their equipment - with immediate implications when a customer purchases and installs two items of the equipment in the same network!)
Multicast destination addresses also comprise an OUI and a unique number, but in the case of IPv4 multicast, the former part is always 0x01005 (an OUI assigned to the IETF, shown highlighted in orange) and a group identifier (shown highlighted in yellow) that is derived from the Layer 3 multicast address. This address is mapped to the layer 2 destination address when multicast IP addresses are sent on an Ethernet LAN.