Personal tools

Eth0:2008 Summer/Interwebs

From Eth0Wiki

Jump to: navigation, search

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 mobile devices.

What we'll bring

  • Appetite for Interwebs
  • Your hsdpa/umts/grps device (just can keep them, just connect them to the network)
  • Endless motivation

Whos in?

Please add your device if you want to help:

  • psy: 3g/gprs t-mobile, no datalimit (5kb/s max)
  • buZz: Huawei E220 with kpn 3G hdspa flatfee (3.6mbit downstream, 2GB traffic max per month!)

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.


psy