The GeoNet
Why a Geo network
Because if you are planning to federate a group of disparate networks into a single underlying abstraction, creating a baseline geo network is an amazing way to create global network that is incredibly easy to reason about. It's easy to collect data from, visualize in a meaningful way, and improve. On top of which other (eg. SDN based) approaches could be utilized.
What is a geonetwork
A geonetwork is an IPv6 network where the hosts on that network have their locations encoded inside a geohash + an identifier that's been converted into an IPv6 address. Because 128 bits (IPv6) is a sufficient size to encode a latitude, longitude, altitude and still have more than >32 bits (larger than the size of the entire current internet) reserved to differentiate between devices that are very close to each other in physical proximity.
What is the advantage
Because routing become really really easy. It can basically be described as 'as the crow flies+tweaks'. To create really good routing decisions, a node only needs to know about the traffic conditions in it's general vicinity.
What about location privacy
It's not really an issue. First, most endpoint IPv4 addresses are already geolocatable to a resolution of the network level. Second, nothing stops other abstractions, eg. proxys and mixnetworks (eg. Tor) from being layered on top of such a network. These services are already necessary for anyone that needs to do private transactions on the internet anyway.
Why IPv6
Because it won't happen otherwise. Incumbents will stick with dynamic IPs and NAT as long as they can. In the long term, IPv6 will become a destabilizing technology that is going to erode the conventional ISP pay-to-play economic model. As other organic local networks arise, a geonetwork will provide a 'fallback' solution for these smaller players, most of whom won't have the clout to negotiate peering arrangements directly.
What should the enduser experience be
$ yum install or apt-get geonet
$ geo-config my-little-net
….Key Generation Complete
….Checking username (my-little-net)
….Registered at my-little-net.diyisp.org!
$ start-geoserver
….Welcome to the geonet
How to achieve this using existing tools (and minimize server traffic!)
Questions to: eric at uplink dot aero