Wednesday 22 May 2013

Why do we need IP addressing when we have MAC addresses already?

Why use IP address when we have the device level unique MAC address?

(Please see MultiHoming for some related info...)

IP addresses give hierarchy and order to the wildly large Internet. Order is of utmost importance when you want to search someone. Take this example:
I give you a Bane Havoc's DNA fingerprint(he has no history-sheet, believe me) and ask you, can you find him for me?
What will you do? You will ask a friend if he knows him. If he doesn't, you simply hunt for the person who might. Let's say X knows who can tell you about our target(say Y). Now, you go to Y and the process repeats for an indefinite period.

Analogy: You have the MAC address and you go from one system to another, scan the tables they maintain, to find if they have a record(Think of how unreliable this can be). Solution: Let each system maintain a record for each MAC-device, but, then, size of table becomes infinite!!

Now say, finally a certain Mr. Z give's you the address for Bane. You reach there and knock his door. What if he has changed his house, or better(actually worse) still he is dead?

Analogy: Say somehow you get some system which maintains a table that has a record for our MAC. We try to connect to it and get no response. Why? Because, the system is now not on that network path. (Earlier it was in London, now it is in New York).
Or, the system is not up anymore.

So, what we conclude is using the flat network running only on MAC addresses, the network is neither efficient nor reliable. So, we append IP Address to our network protocols.

I now give you this data: Bane Havoc works in Merc Tech as one of the sales manager. Now find him for me.
You will now go to Merc Tech. Ask them for a list of Sales Managers and from that list fetch the address for Bane. Bingo you got it.

Analogy: Networks and sub-networks. You need to reach a host. You have to simply have its IP address. Go to main network, get re-routed to subnetwork and the IP address is resolved using ARP protocol to find the MAC address of the end device and the data is transmitted. Each router in the path needs to know about the upper layer of the network hierarchy (c.f.r.: routing protocols).

Now you have efficiency and reliability in your network. MAC is still used but once you have reached the subnet of which your target is a part.

Now you can have concept of DNS.

An example. If net was MAC only; and you had to connect to google.com, you would be using MAC address of google hosts. Say one day google system is corrupted. Now they set up a new system and a new MAC address is available. Now the problem is who will update all those voluminous tables around the globe? It would be a fatal catastrophe.

But if we have IP address network, even if google changes a system only the table of google's private gateway has to be updated (the ARP table) the world still happily uses the famous IP address, further simplified by an alias.

[MUSE: if we tried a DNS with MAC network and one day DNS itself had to change the system, and one of the websites also changed system, believe me that website would be practically off the network completely!!!]


Burned-in MAC address (BIA), also known as Burned-In Address, is the last six bytes of a MAC address that are assigned by the manufacturer of a network interface card (NIC). This address sometimes can be overridden by the user, in which the second bit of the most significant byte of the Organisationally Unique Identifier (OUI) is changed to a binary 1. In this case, the NIC is said to be using as a Locally Administered Address (LAA) as its MAC address. If the NIC is not configured to use an LAA as its BIA, then the second bit of the most significant byte of the OUI is changed to a binary 0. In this case, the NIC is said to be using a Universally Administered Address (UAA) as its MAC address.

No comments:

Post a Comment