John Gilmore wrote:
There were tons of things that were slapped onto IP that were basically experimental like ARP and bootp. CIDR didn't even exist back then.
ARP was "slapped on" in 1982, long before RARP or BOOTP. The original IP specs required that the LAN address must fit into the low order bits of your IP netblock. This wasn't well thought through, but IP was an experiment and there were very few other experiments for its designers to learn from.
Like RIP, wasn't the the feature imported from XNS?
It worked ok when ARPANET was your LAN (see the original use of 10/8), and when everybody else had Class A addresses, like the packet radio network or 3-megabit Experimental Ethernet users. But it didn't scale up, and it didn't work at all for 10-megabit industry standard Ethernet, with 48-bit addresses much longer than IP addresses.
Wow! However, even with very long 128bit IPv6 addresses, which was originally specified 10+6 (or 80+48 where '6' means 6*8=48 bits of Ethernet MAC) was not enough when I pointed out that MAC address of IEEE1394 is 64 bits long, after which, IPv6 address became 8+8, which means layering violation to make L3 address format depends on L2 address length. Worse, these days, MAC address is not used for lower part of IPv6 addresses for privacy reasons. So, ARP is not something slapped in but the correct thing to do not to cause serious layering violations so much shunned by OSI. IPv6, along with ND, is something politically slapped in against IETF consensus to ban CLNP without technical/operational reasons and is totally broken. Masataka Ohta