Eth0:2008 Summer/Interwebs
From Eth0Wiki
Contents
Intro
Ok, so apparently the organization has some issues regarding the connectivity @ campsite.
psy and me had the idea to build a gateway on-site out of everyones hsdpa/umts/gprs sim cards.
What we'll bring
- Appetite for Interwebs
- Some modems and sims (probably 1 per person)
- Endless motivation
What we still need
- More gprs/umts/bla enabled devices. (You dont have to give them to us, we provide instuctions of how to join the network)
Why?
Because we can!
Technical details
The idea is to provide one gateway that does some kind of round robin scheduling over a variety of gprs/umts enabled mobile devices.
What kind of traffic to we allow? ssh? proxied http access?
Method 1: simple stupid
The simplest way would be to connect all the devices we can get our hands on to one box.
Disadvatages:
- everybody has to give their phone to us.
- there is a limit on how many devices you can connect to one box by usb and especially bluetooth.
- totally impractical ;)
Method 2: double-gateway system
Everybody that wants to help runs their own plain-old-gateway. However..the gateway is firewalled, and only one box is allowed to access the internet via it. That box will be the 'main-gateway' that everybody is going to use. This main-gateway will distribute the traffic over the other gateways in some logical way:
[regular client] --> [main-gateway] ==>> [mobile gateways] ==>> [internet]
Advantages:
- Everybody with a mobile device can easily join and keep their phone
Disadvantages:
- Bad traffic distribution. The traffic distribution will be connection based: an eshtablised tcp/udp session will 'stay' on one mobile gateway. Some gateways will get cluttered up while others are idle.
Method 3: double-gateway with tunneled traffic
In an ideal situation we would distributed the traffic on a packet basis, rather than a connection base.
To acomplish this we need a vpn-server on the internet.
[regular client] --> [main-gateway] ====(Encapsulated packets)===>> [mobile gateways] ==>> [internet] ==>> [vpn-server gateway] ===(normal traffic)===> [internet]
The main-gateway will encapsulate the packets and sends them over the gateways in a almost perfect distribution.
The vpn-server gateway will receive those packets, all with different source adresses offcourse, de-encapsulate them, NAT the connections to the apropriate source adres and then send them over the internet.
The reply packets will be send back to the mobile gateways in a simular way.
What kind of protocol is suitable for this? Remember we dont want encryption or any fancy stuff..we just want to distribute the packets over multiple gateways.
Simple plain old IP-IP encapsulation should do it, right? The distribution can be done with iptables-magic, but i'm sure there are many other ways.
Anyone who has any ideas or comments on how to proceed, feel free to use the discusion page or alter this page if suited.