If I want to order a pizza online, it really shouldn't have to go through the ISP gatekeepers, travel along a Level 3 trunk, be inspected by the NSA, and then be routed back down to the pizza joint 3 blocks from my house.
If I want to order a pizza online, it really shouldn't have to go through the ISP gatekeepers, travel along a Level 3 trunk, be inspected by the NSA, and then be routed back down to the pizza joint 3 blocks from my house.
Mesh networking is a collection of multiple technologies in its ideal form.
Since the vast majority of nodes are not able to keep global routing tables (both because they lack the storage, and also because they lack the bandwidth needed to keep such tables up to date) you have two choices: 1. A subset of nodes are "supernodes" which know how to get anywhere (aka. our current internet topology), or 2. Addresses carry enough semantic meaning to allow nodes to guess which way to forward them (e.g., "I don't know who this packet is going to, but it's somewhere in San Francisco").
That second option would require a complete renumbering of the Internet, and it's still not clear that it would work; purely geographic routing would result in packets from Plymouth to New York getting stuck at Land's End because they want to go West but the cables all land East of there.
Note: This problem doesn't exist with small mesh networks, because for small networks you can have every node maintain a copy of the entire routing table.
Addresses are simply bitstrings of some length.
If my address is a=a1a2...an, I need to store the first segment of the shortest path to each r_1=a'1a2...an, r_2=a1a'2...an all the way up to r_n=a1a2...a'2, where a'k != ak (i.e. all the addresses with a hamming distance of exactly 1 from me). I then simply route a message with an address b=b1b2...bn to r_i where i is the first non-zero bit of a xor b.
Have each node know it's position (lat/lon) and the position of it's nearest neighbors. When you send a packet, you send it to a lat/lon, and every node that sees your packet just tries to nudge it a little closer, until it gets there. Then to speed things up on the return trip we can ask each intermediate to add their position to a list on the packet.
Of course, moving nodes present a bit of a problem. Because they will keep attaching and detaching, there returning packets won't know where to reach them. I suppose if you knew your route through space you could send "scout" packets ahead of you, feel out the terrain, and prepend those positions to the list of your packets (so that they can find you when they return).
Dealing with changes to the (static) topology and also rogue nodes (ones that misbehave, drop packets, lying about their position, etc) are interesting problems. I think they can be solved.
The addresses must have meaning and hosts must self organise into a subnet based on connectivity, which feels like a np-hard problem... That does not imply that there is no reasonably well working approximation that works more or less as good except for edge cases. (Literally, ha...)
The problem, as with most P2P-networks, is that its not resistant to high network churn.
There are some very difficult limits when you try to route traffic where everyone has the same bandwidth. This is why we have trunk lines and undersea fibre cables.
But once have located a large ressource you need, and you start to transfer data, at say 10mbit/s, you use 10mbit/s for every node from source to destination. It doesn't scale with trafic.
I haven't followed the state of the art that close in a few years, so there might have been some improvements, but none that have made much fuss.
We know with newer algorithms like IPFS that complex datastreams can be broken down into 256kB chunks all each individually hashed. Not only that, but most data is shared traffic. Yourtube, Facebook, software, you name it. Most unique data people create is textural or small, not the 10MB/s canard.
Persistent is when you pin something, or add something (which pins it). It's stuck in block storage until you run a command to remove it.
Temporary is when you go to some IPFS site, and download stuff to your cache. This is the same thing as your browser cache. In IPFS, there's a garbage collector that circle around every time you hit 10GB (or whatever you set it to).
What that means, is some content that goes viral ends up being supported by everyone going to said content. I know I don't clean my browser cache every few minutes, or really ever. And if that means that my and others connections are sped up because of that, the better.
And getting substantial data (including transit) routed through a heap of wifi devices in a city isn't easy. To the next city - hard. Over the big pond - well...
It is important to first apply basic computer science theories before trying to invent a perpetual motion machine.
That seems like a feature :) Why do I want my messages to be available for analysis?
So I think you already have a lot of options for that.
Marketing needs shouldn't hamper technical progress.
Are you active in the Mesh Networking space? If so, what's the latest? Anyone else out there is welcome to ring in as well.
Why they would do this is many fold and if you'd like to hear why the government might want to do this I'd need to write in longer form them a comment.
Also, for what it's worth, transmitting on CB (Citizens' Band) radio doesn't require a license, but I think it's restricted to very low-power bands.
The radio spectrum is scarce - and while there's a lot to criticise about how governments "hand out" chunks of that spectrum to telcos, commercial radio networks, tv networks, et al - there's clearly a public-interest-need to be able to slap down _hard_ people like this:
http://www.theage.com.au/victoria/lonewolf-radio-hoaxer-hack...
I can't believe there's an entire /8 block dedicated to this. That's like owning a square mile of land in downtown San Francisco.
All of it is low bandwidth, but how much bandwidth do you really need for "large pepperoni and 2 liter pepsi"? Same goes for all these 140 char messages flying around.
In a world where mesh networking is a reality, when a franchisee buys into a chain business it will come with local networking hardware, part-and-parcel with the branded window-signs and soul-destroying uniforms.
In my personal little dream-future, anyway :-)
(You tell em "$5/month isn't an appropriate webhosting plan for your online ordering!" and they say "Yeah, I can get it for $12/year with GoDaddy!")