views:

105

answers:

6

Why do we need an IP address when the MAC address is unique? Cant we communicate only with the MAC address?

+3  A: 

No. MAC addresses are specific to Ethernet, IP is independent of the underlying hardware. You can connect machines that don't use Ethernet to the Internet, if you have the required bridges.

unwind
+9  A: 

You COULD communicate using only the MAC address, but only on your local network. IP addresses are routeable, without every system on the network needing to know about every other. You just need to know a range of addresses that are on your local network, and throw everything else up to your router. The same thing happens at the ISP level. "All 216.x.x.x traffic goes that way, all 105.x.x.x goes that way..."(Obviously a gross oversimplification, but that's the basic process).

If we tried to route everything by MAC address, every machine on the network would have to maintain a list of every other participant, and it just wouldn't scale.

Curtis
good answer. refering to para 2-But the same can be achieved by having locally administered MAC addresses and globally administered addresses( same as private IP addresses(192.168.X.X, 128.X.X.X) and global addresses(157.X.X.X)) and use them for the routing equivalent at the data link layer. This will eliminate huge routing tables.
sandeep
@sandeep - so you're going to rewrite the usage of MAC's across the networks? How do you expect to 'locally administer' MAC addresses without creating all of your own DNS? Even if your idea were feasible, how do you propose we do it NOW, with all of the infrastructure already in place?
KevinDTimm
@kevinDTimm- My question is theoretical. What you are saying is a practical limitation due to the existing use of IP and MAC address and the attached paraphernalia(DNS etc.). To rephrase the question- What was the intention behind using IP addresses when the same functionality can be achieved using MAC addresses alone?
sandeep
@sandeep: How do you intend to multihome a NIC if interfaces only have MAC addresses? Many:1 mappings aren't possible unless there are two categories of identifiers.
Eric Towers
@sandeep: Additionally, how do you intend to replace the functionality of DHCP? I.e. a starting device needs to request its address. Since it doesn't have an address, how can anyone reply to it? In short, all devices need an identifier that is guaranteed unique on their collision domain and that they can use to communicate on that domain before they could have made an inquiry with a local address administrator.
Eric Towers
+1  A: 

Ethernet is a Medium Access Layer protocol. It was designed specifically to connect computers on the same network. If you want to connect computers remotely located, you certainly need to jump to destination by hopping through several routers. IP (Internet Protocol) was designed with this goal in mind, hence the need for it, while Ethernet protocol does not support routing. Only some forms of primitive bridging that would not scale for something huge like the Internet.

Pablo Santa Cruz
+2  A: 
  • MAC addresses are not unique. MAC addresses are reused between media. This is why wireless (802.11) and wired (802.3) may not both be present on one collision domain (see 802.1D).
  • MAC addresses are not clustered -- meaning that devices which are nearby in network space do not have nearby MAC addresses. IP addresses do have this property of locality. Do you intend to route packets by having a universal list of MAC addresses copied to every computer on the Internet, or do you intend to route packets to their destinations through a hierarchy of localities?
  • On a single collision domain, MAC addresses can be the primary addressing mode (q.v. arp and rarp). However, extension to multiple collision domains is ineffective for the above reasons.
Eric Towers
A: 

they are used for different protocol layer.

jokester