Date: Mon, 3 Jan 2011 08:45:54 +1030 From: Mark Smith <nanog@85d5b20a518b8f6864949bd940457dc124746ddc.nosense.org>
Hi,
On Sun, 2 Jan 2011 08:50:42 -0500 Steven Bellovin <smb@cs.columbia.edu> wrote:
On Jan 1, 2011, at 11:33 24PM, Mark Smith wrote:
On Sat, 01 Jan 2011 20:59:16 -0700 Brielle Bruns <bruns@2mbit.com> wrote:
On 1/1/11 8:33 PM, Graham Wooden wrote:
<snip>
Excellent example is, IIRC, the older sparc stuff, where the ethernet cards didn't have MAC addresses as part of the card, but were stored in non-volatile or battery backed memory.
This was actually the intended way to use "MAC" addresses, to used as host addresses rather than as individual interface addresses, according to the following paper -
"48-bit Absolute Internet and Ethernet Host Numbers" Yogan K. Dalal and Robert S. Printis, July 1981 http://ethernethistory.typepad.com/papers/HostNumbers.pdf
Yup.
That paper also discusses why 48 bits were chosen as the size, despite "Ethernet systems" being limited to 1024 hosts.
I think things evolved into MAC per NIC because when add-in NICs were invented there wasn't any appropriate non-volatile storage on the host to store the address.
On really old Sun gear, the MAC address was stored on a separate ROM chip; if the motherboard was replaced, you'd just move the ROM chip to the new board.
I'm not sure what you mean, though, when you say "when add-in NICs were invented" -- the Ethernet cards I used in 1982 plugged into Unibus slots on our VAXen, so that goes back quite a ways...
More that as add-in cards supplied their own "storage" for the MAC address, rather than expecting it from the host (e.g. something like MAC addresses set by init scripts at boot or the ROM chip you mentioned on Suns), this has now evolved into an expected model of a MAC address tightly bound to an Ethernet interface and supplied by the Ethernet interface e.g. by an add-in board if one is added. Now that this model as been around for a long time, people find it a bit strange when MAC addresses aren't as tightly bound to a NIC/Ethernet interface. This is all speculation on my part though, I'd be curious if the reasons are different.
When I first read that paper, it was really quite surprising that "MAC" addresses were designed to be more general host addresses/identifiers that were also to be used as Ethernet addresses. One example they talk about is using them as unique host identifiers when sharing files via floppy disk.
My Ethernet experience goes back before VAXen and the DEUNA to the original DIX Ethernet 3Com and InterLAN cards. They had the MAC in a ROM on the card set. (Yes, they were 2 card sets with a top of the card ribbon cable between them.) Don't confuse this with the REALLY old Ethernet V1 3Com and Wang 1 and 10 Mbps Ethernet, which I did not personally deal with. I worked with early Ethernet on quite a few systems and the only one I ever ran into that implemented the single per-system hardware MAC was Sun, though others (notably Digital, SGI and Xerox) would re-write all MACs with a single value derived from the network address (DECnet or XNS) at boot time. I seem to remember that Tektronix systems also did this before they bought the rights to the CMU TCP-IP stack and moved to IP. -- R. Kevin Oberman, Network Engineer Energy Sciences Network (ESnet) Ernest O. Lawrence Berkeley National Laboratory (Berkeley Lab) E-mail: oberman@es.net Phone: +1 510 486-8634 Key fingerprint:059B 2DDF 031C 9BA3 14A4 EADA 927D EBB3 987B 3751