Media Access
Control - MAC Addresses
Introduction
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.
Got you mixed up?
Check the diagram and explanation below to see
why :
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.
Looking at a MAC
Let's now have a look at a
MAC address
and see what it looks
like! I have taken my workstations MAC address
as an example:
When looking at a MAC address, you will always
see it in HEX format. It is very rare that a MAC
address is represented in Binary format because
it is simply tooooo long as we will see futher
on.
When a vendor, e.g Intel,
creates network cards, they don't just give them
any MAC address
they like, this would
create a big confusion in identifying who
created this 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 one of their
network cards !
To make sure problems like
this are not experienced, 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!
I 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 !