Media Access Control (MAC) addresses are talked about in various sections on the site, such as the OSI-Layer 2, Multicast, Broadcast and Unicast. We are going to analyse them in depth here so we can get a firm understanding of them since they are part of the fundamentals of networking.
MAC addresses are physical addresses, unlike IP addresses which are logical addresses. Logical addresses require you to load special drivers and protocols in order to be able to configure your network card/computer with an IP Address, whereas a MAC address doesn't require any drivers whatsoever. The reason for this is that the MAC address is actually "burnt-in" into your network card's memory chipset.
The Reason for MAC
Each computer on a network needs to be identified in some way. If you're thinking of IP addresses, then you're correct to some extent, because an IP address does identify one unique machine on a network, but that is not enough.
The diagram below provides a visual representation how important MAC Addresses are on our network and at which layer of the OSI Model they exist:
You see, the IP address of a machine exists on the 3rd Layer of the OSI model and, when a packet reaches the computer, it will travel from Layer 1 upwards, so we need to be able to identify the computer before Layer 3.
This is where the MAC address - Layer 2 comes into the picture. All machines on a network will listen for packets that have their MAC address in the destination field of the packet (they also listen for broadcasts and other stuff, but that's analysed in other sections). The Physical Layer understands the electrical signals on the network and creates the frame which gets passed to the Datalink layer. If the packet is destined for the computer then the MAC address in the destination field of the packet will match, so it will accept it and pass it onto the Layer above (3) which, in turn, will check the network address of the packet (IP Address), to make sure it matches with the network address to which the computer has been configured.
Examining a MAC Address
Let's now have a look at a MAC address and see what it looks like! We will use our workstation's MAC address as an example:
MAC Addresses are always presented in HEX format, just as our example above. It is very rare that a MAC address is represented in Binary format because it is simply too long and difficult to understand, as we will see futher on.
When a vendor, e.g Intel, produces network cards for computers, they don't just assign them any MAC address they like, this would create a big confusion in identifying who is the vendor of each network card and could possibly result in clashing with another MAC address from another vendor e.g D-link, who happened to choose the same MAC address for their network card!
To avoid these kind of problems, the IEEE group split the MAC address in half, and used the first half to identify the vendor, and the second half is for the vendor to allocate as serial numbers:
The Vendor code is specified by RFC - 1700. You might find a particular vendor having more than just one code; this is because of the wide range of products they might have. They just apply for more, as they need !
Keep in mind that even tho the MAC address is "burnt-in" to the network card's memory, some vendors will allow you to download special programs to change the second half of the MAC address on the card. This is because the vendors actually reuse the same MAC addresses for their network cards because they create so many that they run out of numbers ! But at the same time, the chances of you buying two network cards which have the same MAC address are so small that it's almost impossible !
Let's start talking bits and bytes!
Now that we know what a MAC address looks like, we need to start analysing it. A MAC address of any network card is always the same length, that is, 6 Bytes long or 48 Bits long. If you're scratching your head wondering where these figures came from, then just have a look at the picture below which makes it a bit easier to understand:
So that completes the discussion regarding MAC Addresses! We hope you have understood it all because it's very important so you can expand your knowledge and truly understand what happens in a network !