If IP address and MAC address both are unique then why do we use IP address for data transmission instead of MAC( Is it due to the Protocol used if YES then is there any way where we can transmit data through MAC), when it cannot be changed at any time?
If IP address and MAC address both are unique then why do we use IP address for data transmission instead of MAC
but being just unique is not enough to organize a network, is it?
A mac address is normally binded to a specific hardware device, using an addressing pattern based on the hardware manufacturer. So though unique, we can't customize it to fit our network's needs that would require a somewhat consistent addressing. That is why the MAC's address scheme couldn't be used to form efficient networks, because so many basic things (such as routing and subneting) are based on mathematical addressing consistency and MAC addressing simply doesn't have a consistency useful for these (and that's because it never was it's purpose) .
As for the functional part, MAC protocol is a lower level protocol that works it's part (provide the dataling layer for ethernet with all the functionality that we know -frame handling & flow control, CRC error detection of the physical layer). IP (or any other Network Layer protocol), is the protocol that handles all the addressing and connectivity, providing whatever flexibility we require for them (such as addressing space, subneting, routing, connection control, ..) and provides along with a Transport Layer protocol, real-life functionality, allowing us to use or code the network services. They all exist hierarchically and work together, because it was designed this way in the OSI model. So MAC on it's own is not capable of establishing a connection, transporting data etc. Imagine it controls aspects more close to the hardware (Physical Layer) and provides the layout for higher level protocols to function.
There are countless reasons why the use of such a detailed model (set of standards) is necessary for networking, some important ones are: flexibility in the development and easier future upgradeability, compatibility between different implementations and definition of a common networking framework for different platforms. And all these are needed because networking from the point of translating the electric signals of the cable to data, to the point of spliting hosts that lay on the same physical network into different networks, establishing connections between them and transporting data in a reliable (or not) way, and many other things with whose common implementations we are familiar today, is a very complicated process.
I suggest that you read the Networking papers here, they will be enlightening
in my humble opinion, it is like this, both IP and MAC are addressing "IP's are considered Logical addressing because Administrator assign this address based on some logical calculation, while MAC's are considered hardware address, because the address is burn into our NIC". In the real world, when we want to send something, for example i want to send u some books about networking, so i need the destination address, in this case i need your home address or your office address, so the postman can deliver the books to your's.
my point is, we need destination *sometimes we put our address too* and we need source address. Why ? because computer is infact "simple" they only speaks 2 things, 0 and 1, and in many circumstances we use electrical signal for example +5v or -5v to describe 0 and 1.
because they only know 0 and 1, so how devices can communicate each other and transmit data ? well, OSI reference model can describe clearly about this, so i'm gonna skip this one.
in the old days *about 1970 i think*, when we talk about networking, its always about novell. They do not need an IP number *at that moment we don't have TCP/IP yet*. So what addressing do our old man use ? they use physical addressing , that is uniqe , to identify devices. at that moment they use "broadcast" packet. It works ! even that broadcast not a good method *if we compare to what we have now*.
Or maybe someone here still remember that in microsoft windows 3.11 is not a NOS (Network Operating System) , but the "for workgroup" version, we can used it to build one small network (LAN). at that moment , Bill use netbios *or netbeui, i forgot*, and it works !
what I'm trying to say is that when we want to transmit data in one local area network, we almost not using the IP address. IP address is only used when connect two or more network *it is called internetwork*. Because there is more than one network, we need to deliver the data packet to the specific network, and then the physical address job is to deliver to the specific device.
more simple analogy is like this, suppose we live in one street, so i don't need the street or town, even contry address. The only thing that i need is your home address, or you can describe your "physical" house, for example, 'the one with red paint', and that will be fine.
But when i live in Indonesia, and i only give the address on my envelope "to....in the house with the red paint" , well this can make the postman confused, because in this world, there are soo many house, and there are a lot of possibilities that more than one house is using the red paint too.....
that's why we need the street, country, zip codes -> the logical address -> to deliver to the specific area
and that's why we need the house number , or the characteristic of our house->the physical address -> to deliver to the specific house.
well, i hope i'm not talk something stupid here...