70 likes | 234 Views
Ken Calvert* University of Kentucky. Internet Protocol Considered Harmful. *Speaking for myself only. Proposition. The Internet Protocol (v4) is at best useless , and at worst harmful , in home networks consisting of a NAT-ed, single broadcast domain.
E N D
Ken Calvert* University of Kentucky Internet ProtocolConsidered Harmful *Speaking for myself only
Proposition The Internet Protocol (v4) is at best useless, and at worst harmful, in home networks consisting of a NAT-ed, single broadcast domain. (Belief: this covers most cases.)
The “Mass Market” Case Internet NAT Gateway/ Bridge/Router
1. IP is unnecessary • Inside clients don’t know (or need to know) anything about their own IP addresses • IP functionality is superfluous • Single broadcast domain bridging suffices • MAC addresses provide both • Global uniqueness • Technology-independence • Inside IP addresses are meaningless outside • Name resolution (if any) can/should use MAC addresses
2. IP Causes Headaches in the Home • Requires that the user act as network administrator • Choose: static addressing or DHCP? • Network prefix? • Where is my DHCP server(s)? • Endpoints must allow configuration endpoints can be misconfigured • E.g., someone changes host to a static IP address • Now the user must also diagnose the problem! • With inadequate tools • No way to “RESET” the whole network!
What’s the alternative? Third option: “Ignore IP” • Should be the default • Force user to say “I know what I’m doing” to use any other option (static assignment or DHCP) • Let endpoints use arbitrary IP addresses • Local-scope addresses for uniqueness • Transport demux still works • Identify endpoints with MAC addresses • Inside applications • Ethernet was designed for this! Note: already happening in data centers
An Approach • Rely on MAC addresses • Establish identities/function of devices • Switch based on MAC addresses • Infer (some) intent from port numbers • Partial prototype implementation • “HomeRun” [Hasan, Edwards, Feamster, Calvert] • Built on NOX Box platform • Todo: mechanism for establishing identities/functions and getting to a “known good” state