[e2e] use of MAC addresses

Joe Touch touch at ISI.EDU
Thu Apr 13 09:19:40 PDT 2006

Joe Touch wrote:
> Fahad Dogar wrote:
>> On 4/12/06, Joe Touch <touch at isi.edu> wrote:
>>> Fahad Dogar wrote:
>>>> I understand why IP addresses (which are hierarchical in nature) are
>>>> needed but can't seem to appreciate the use of MAC addresses, in
>>>> addition to using IP addresses.
>>> That's for the level of indirection Ted was noting.
>>>> Practically I can understand that they
>>>> are being used for legacy purposes and a move towards using IP
>>>> addresses as layer 2 addresses would require changes in ethernet
>>>> switches etc.
>>> Another reason is that ethernet switches are  simpler to implement than
>>>  (IP) routers. A final one is to limit broadcast; right now, broadcast
>>> pervades (most) ethernet switches, but is halted by IP routers (even
>>> subnet-directed broadcast is defaulted that way). It's not clear how to
>>> allow broadcast to go more than one hop and control flooding (with
>>> all-1's) or defeat DOS attacks (subnet broadcast).
>> By using IP addresses for layer 2 routing, I am not implying the
>> replacement of ethernet switches with routers. The ethernet protocol
>> remains the same but the MAC address of every station is the same as
>> its IP address. 
> Please explain how ARP and DHCP would then work. Or router discovery and
> host address assignment in IPv6.
> The ethernet address is required to determine the IP address in both
> cases. Use of the IP address as a MAC address:
> 	- creates a circularity in the above protocols, i.e.,	
> 	they no longer work

As others have pointed out, they're not needed on point-to-point links.
But assuming a subnet - i.e., a shared link or the equivalent - they are
used heavily in the Internet. See RFC 3819.

> 	- enables hosts to collide on MAC addresses; spanning
> 	tree algorithms don't react well to having the same
> 	address attached at multiple points in the tree
> 	- defeats the use of different MAC addresses for the same
> 	IP address, the so-called "weak host" model (see RFC1122)
> Joe
> So these addresses have different interpretation (and
>> subsequent forwarding) in a LAN compared to routing at layer 3. So we
>> can block broadcast at layer 3 (routers) and allow broadcost at layer
>> 2 (ethernet switches). Again, I am asking purely from the
>> functionality point of view. It may not be practical to do such a
>> thing.
>>>> But I am interested in knowing whether, in theory, we
>>>> would be restricted in functionality if we use IP addresses for layer
>>>> 2 addressing. Suppose we were to redesign layer 2 technologies now,
>>>> can we use IP addresses in place of MAC addresses. With IPv6 I can't
>>>> even see any constraint on the address space.
>>> IPv6 addresses may seem large at first, but given how they're
>>> hierarchically delegated and managed, they're not all that big.
>>> Joe
>>>> Thanks,
>>>> Fahad
>>>> On 4/12/06, Joe Touch <touch at isi.edu> wrote:
>>>>> Ted Faber wrote:
>>>>>> On Tue, Apr 11, 2006 at 12:20:47AM +0500, Fahad Dogar wrote:
>>>>>>> Hi all,
>>>>>>> I have a very basic question: in theory, can we NOW use IP addresses
>>>>>>> in place of MAC addresses.
>>>>>> Short answer: "yes," with an "if."
>>>>>> Long answer: "no," with a "but."
>>>>>> IP addresses are (in principle) globally routable.
>>>>>                                 ^
>>>>>                              easily
>>>>> You can route on MAC addresses too, but being flat that means core
>>>>> routing tables would need to be flooded with everyone's MAC address.
>>>>> Look at the size of your routing table. Then look at the size of your
>>>>> ARP table. If your routing table has anything except default addresses,
>>>>> consider that ARP table size multipled by the size of the number of
>>>>> subnets at each other route entry.
>>>>> Joe
>>>>>  Having a locally
>>>>>> routable namespace under your link layer's complete control may be a
>>>>>> useful thing.
>>>>>> It's rare in the world of computers that removing a layer of indirection
>>>>>> makes your system more versatile.  There are quite a few tricks that
>>>>>> take advantage of the layer of indirection that a link layer address
>>>>>> provides to give faster response on a subnet basis, simple redundancy,
>>>>>> etc.
>>>>>> Of course you could get rid of them (assuming you're willing to live in
>>>>>> the smaller, more constained IP address space).  An identifier's an
>>>>>> identifier.
>>>>>> Why would you want to?

More information about the end2end-interest mailing list