Charles Wyble: Autonomous Free Internet

Autonomous Internet
Charles Wyble

Hey folks,

I have really enjoyed the discussion on the list over the past few days. Great stuff.  Got me thinking.

I suppose I owe you folks a big long post on what I think the “next net” should look like, just like I posted my vision and work towards implementing the FreedomBox vision.

Below the Line

Phase 1:  access layer and the distribution layer via mesh networks

Phase 2: Linking up regional networks (at least one per state, probably one per city/county).

Phase 3: Linking up with the rest of the world.

My vision is mostly focused on utilizing the existing networks until we have enough systems deployed to build our own. These systems will need to be built with a vision towards interop and joining a larger p2p cloud at  some future point.

Keep in mind I’m not really able to implement any of this “next net’ vision until I’m done with my FreedomBox work (backups/distributed system/security). I’ve made a commitment to myself to get that stuff shipped.

This is where you fine folks come in. Hopefully we can all proceed in parallel and rapidly release a coherent system that can be deployed in a grassroots manner.

I’m targeting beta 1 release of my security stack stuff for ContactCon October 20th 2011. *waves at Vanessa*. Having a date/conference really focuses me and drives me to produce something that I can toss out for folks to hack on.  Would love to have some slides in my presentation that talk about the progress on the network portion of our overall vision. Not sure if I’ll be able to make it to the con, but I can certainly participate virtually.

Essentially I don’t want all the work folks are doing on FreedomBox to be obsolete due to a centrally administered network that can take them out. In short the parallel/alternative/nextnet network is the most important piece.

This is kind of rough but here goes my vision/roadmap…

Phase 1:  access layer and the distribution layer via mesh networks. Using 802.11a/g/n and 3650mhz. It will be different region by region. I have a good idea how to cover most of Southern California (where I was born and lived for 25 years). I have war driven a fair amount and done lots of GIS type research. You can get a 1gig .shp file of LA county for $8.00 on a DVD. Then you can do all sorts of things with it, in programs like UDIG ( http://udig.refractions.net/ ) The FCC provides .shp files as well, if you want to know where towers and licensed links are etc. USGS has data on topography etc. NASA, Microsofts TerraEarth etc etc. Lots of GIS data out there for free. Use things like http://www.qsl.net/kd2bd/splat.html to do link planning. I’ve been doing this stuff for a while now and have been focused on building real networks. It’s great to talk about theory, perfect world, IP is broken, replacing TCP/IP etc, but in the end it’s really not practical. However I’m not opposed to replacing layer2 in wifi. See http://tier.cs.berkeley.edu/drupal/wireless for folks who are building a TDMA based layer2 on openwrt/wrt54gl boxes.

Other regions have different geography and that needs to be taken into account. Perhaps folks can start finding local organizations that will give roof space etc?

I am thinking of building a localized advertising network, so the below bits include revenue percentages. They add up to 50%. This keeps costs way down, because neighborhood folks are keen to keep the network up and running to maintain advertising cash flow. Capitalistic, mod me down etc etc. 🙂

SoCal Region Network/Revenue Plan (feel free to take this and adapt to your region). It was original written from a proprietary perspective. I’ve done minimal editing here to make it less so. It’s available under the public domain. All rights assigned to everyone etc etc.

OSS:

This is a highly available system with primary hosting at a regional HQ of sorts (probably a local hackerspace) and fully redundant backup on two ec2 or other IASS provider availability zones.

It contains the network  command and control systems used for provisioning, billing,monitoring,authentication, ad delivery etc.

Packet pushing: 

The packet pushing functions of the network are split into 5 layers:

1) Network core POP location (horizontal/distributed network core layer) These are located in computer rooms on mountain tops throughout southern California. These locations terminate bridged Black Diamond PtP back haul links over 3650 and whitespace frequencies.

These points of presence consist of:

A) vyatta based x86 rack mount systems

B) switching gear
C) UBNT.com 3650 and 700mhz antennas 

2) Network Aggregation POP Location (horizontal/distributed network aggregation layer) (Black diamond nodes) (30% revenue sharing).  These are located in peoples houses that have been early adopters and are willing to take on the burden of a nascent network.

They host an AP/switch, iboot, ups, sheeva plug, x86 ad server. All contained in a locked box with only the antennas/connectors exposed.

3) Network Distribution POP Location (horizontal/distributed network distribution layer) (Green diamond nodes) (15% revenue sharing) mesh gateway ap

4) Neighborhood POP (Blue diamond nodes – mesh client ap) (4% revenue sharing) 

5) Block POP (Red diamond nodes in home ap) (1% revenue sharing)

Phase 2: Linking up regional networks (at least one per state, probably one per city/county). By this I mean one regional network. There will be many many many meshes setup, in varying degrees of coverage, bandwidth, backhaul characteristics etc. They will rapidly converge into regional networks and interconnect via some sort of external gateway protocol (probably BGP but maybe not). This allows the individual networks to stay small, agile, independent (avoiding becoming a conglomerate that can be easily shut down), but to interconnect/peer with each other to implement regional traffic flow etc.

I would like to see a network wide system utilizing:

n2n for tunneling traffic between local and regional networks across the existing backbone in a transparent method as possible. Some MTU hit would be taken, but I think this is acceptable.

Phanthom/Tor/I2P for full end to end encryption/privacy/anonymity. No one should be more powerful
or trusted then anyone else. Some centralization might be required (for example hosting a distributed hash table with a directory of nodes). I would like to avoid that, and I can certainly make it optional.  So a network could operate on a pure localized peer to peer basis. A wizard could ask something like “do you wish to connect your cloud with other clouds on a global basis?” Dunno. Something to think about. I feel that a small amount of centralized infrastructure that leads to rapid boot strapping is a useful thing.

MPLS for making the back bone scale. Not sure if this is strictly necessary, but it seems like a cool idea. I’ve not done enough with MPLS in a pure software routing environment to know if it’s a workable state or not. Google did a presentation at the last NANOG on the subject that seemed to make it look like it was workable for them at a large scale http://nanog.org/meetings/nanog50/abstracts.php?pt=MTYzNSZuYW5vZzUw&nm=nanog50 <http://nanog.org/meetings/nanog50/abstracts.php?pt=MTYzNSZuYW5vZzUw&nm=nanog50>

Phase 3: Linking up with the rest of the world. Not sure how to go about this. This is where the global entity comes in. The rest of the world uses BGP to send route announcements around. We would need
an entity for the AS and IP space to be assigned to.

So that’s about the totality of my vision for now. It’s how I plan to implement the road map that Isaac laid out the other day. Please attack each and every aspect of this and make it awesome!

See Also: