Reply
Thread Tools
Posts: 49 | Thanked: 6 times | Joined on Jan 2010
#1
I have low network knowledge but I know its possible to join 2 internet connections and I started to wonder if this would be possible with 3G and WIFI connections.

a) Is this possible on Maemo/Linux at all?
b) What are the benefits?

This is a spur of the moment post so sorry if its been asked/done already.

JL
__________________
There are 10 kinds of people in the world:
Those who understand binary and those who don't.
 
Posts: 1,341 | Thanked: 708 times | Joined on Feb 2010
#2
What do you mean by "join"?
Get faster download/upload using two pipes at the same time?
Sharing Internet connection to other WLAN user (not so easy currently), or sharing Internet from PC via WLAN to mobile device ("easy" with PC connection manager and Linux-PC)?
 
Posts: 5,795 | Thanked: 3,151 times | Joined on Feb 2007 @ Agoura Hills Calif
#3
Why ask what he means by join and not go further?

Ok, I'll answer. I would like to know if you could get faster download/upload using two pipes at the same time.
 
Posts: 992 | Thanked: 995 times | Joined on Dec 2009 @ California
#4
Originally Posted by Jayelzibub View Post
I have low network knowledge but I know its possible to join 2 internet connections and I started to wonder if this would be possible with 3G and WIFI connections.

a) Is this possible on Maemo/Linux at all?
Yes, but you should use some manual X-Term + root stuff.

b) What are the benefits?
Not at all, at least for N900. The problem is on other end - the server doesn't know that your N900 is located in two networks and has two different IP addresses. It learns only one IP address which is indicated in first IP packet from N900 to server.

Disclaimer: there are a load sharing and an interface bonding in Linux but that has sense for NETWORKs (then Linux is a router) and it can be used for static devices, not with moving devices like N900.

EDIT: there is one benefit - you may forward one server traffic via one interface (3G) and another one - via another interface (WiFi) and that could accelerate an overall transmission. Unfortunately it requires presentation your N900 in Internet as a full right Internet Autonomous Network and be presented in each core Internet router as a separate item. You have no money for that.

Last edited by egoshin; 2010-03-30 at 17:42.
 

The Following 3 Users Say Thank You to egoshin For This Useful Post:
Posts: 540 | Thanked: 288 times | Joined on Sep 2009
#5
Originally Posted by egoshin View Post
EDIT: there is one benefit - you may forward one server traffic via one interface (3G) and another one - via another interface (WiFi) and that could accelerate an overall transmission. Unfortunately it requires presentation your N900 in Internet as a full right Internet Autonomous Network and be presented in each core Internet router as a separate item. You have no money for that.
I'm not quite following you here, I can easily do "load-balancing" between two network connections on my linux fw (no-brand white box HW), by routing one set of TCP-streams via one interface and other set via another (main and backup network connections, the backup one is puny but every little bit helps...). No real multi-homing needed.

Now for a single tcp-stream download (http, ftp, etc) this does not help at all, but browsers usually open at least two tcp streams per server to request data faster (why using multiple parallel streams is usually faster in practise even without simple connection balancing has to do with pecularities of TCP in the real world) and many sites load data from multiple servers.

P2P applications abuse the proverbial ton of TCP-streams so they can practically fully utilize such setups.

To get the N900 to do such things you will need custom kernel with some advanced routing features compiled in and a fair bit of knowledge.

See http://lartc.org/ for some interesting stuff.
 

The Following User Says Thank You to rambo For This Useful Post:
Posts: 992 | Thanked: 995 times | Joined on Dec 2009 @ California
#6
Originally Posted by rambo View Post
I'm not quite following you here, I can easily do "load-balancing" between two network connections on my linux fw (no-brand white box HW), by routing one set of TCP-streams via one interface and other set via another (main and backup network connections, the backup one is puny but every little bit helps...). No real multi-homing needed.
How your Linux box knows - which connection it should use to send packets to www.cnn.com? (we speak about load-balancing but not backup)

I can imaginate 3 possibilities:

1) statically define and that is not a case for mobile device like N900.

2) don't care. That actually means that all your outcoming traffic goes to one interface which has 'default' route, and second interface is used as backup. It is not needed in case of N900 - it has autoconnection feature.

3) randomly split TCP via interfaces. It is an attempt of acceleration of your traffic on expense of both providers. It works in case of multiple TCP connections (see P2P case below).


The 4th possibility - get routing info from both network providers - requires installation of BGP protocol handler AND (!) convincing both providers to accept your Autonomus System number.


Now for a single tcp-stream download (http, ftp, etc) this does not help at all, but browsers usually open at least two tcp streams per server to request data faster (why using multiple parallel streams is usually faster in practise even without simple connection balancing has to do with pecularities of TCP in the real world) and many sites load data from multiple servers.
This kind of load-balancing actually gives your browser the speed of LOWEST interface speed and inherits the biggest delay time of both networks. In case of ground network it is usually not a problem but 3G and WiFi have very different delays and bandwidths.

P2P applications abuse the proverbial ton of TCP-streams so they can practically fully utilize such setups.
You right about P2P, on high bandwidth application with many TCP the latency has no serious meaning... but it can't use an incoming connections and your device is restricted to connections of only inbound acceptable servers.

However, I don't consider P2P for N900 seriously. Moreover, the 3G provider network design effectively stops multiple TCP connections from a single N900 - N900 works behind NAT router with a restrictive resources.
 

The Following 2 Users Say Thank You to egoshin For This Useful Post:
Posts: 540 | Thanked: 288 times | Joined on Sep 2009
#7
Originally Posted by egoshin View Post
How your Linux box knows - which connection it should use to send packets to www.cnn.com? (we speak about load-balancing but not backup)
...snip...
This kind of load-balancing actually gives your browser the speed of LOWEST interface speed and inherits the biggest delay time of both networks. In case of ground network it is usually not a problem but 3G and WiFi have very different delays and bandwidths.
I haven't really tested this on broadband vs mobile connection as load-balancing so I may be wrong. Actually based on your comments I trust you know enough of this, just blabbing on for the possible benefit of the larger community.

But the splitting does not need to be random, basically the kernel can be configured to use interface X until it's "bandwidth is reached" (you need make some educated guesses about the bandwidth) and then spill over to interface Y.

Or to divide the streams randomly so that 90% got to X and 10% to Y (but then we have the problem that you might get the slow interface even if the fast one had free bandwidth for you).

Of course this makes any sense whatsoever the situation is such that the place where the wifi connection is has (or allocates to you) really louse bandwidth and that your 3G provider has awesome coverage in the same place.

But this all a bit academical, doing all this is just too much work for the relatively small benefit (basically for every wifi network one would want to augment with 3g one would need to have different setup scripts and do a fair bit of experimenting regarding the best way to route the streams).

It will also totally mess your login sessions on sites that try to prevent session hijacking by tying the session to IP address.
 
Posts: 992 | Thanked: 995 times | Joined on Dec 2009 @ California
#8
Thanks for sharing interest in that,

Originally Posted by rambo View Post
basically the kernel can be configured to use interface X until it's "bandwidth is reached" (you need make some educated guesses about the bandwidth) and then spill over to interface Y.
The problem - you don't know the bandwidth, even 3G or WiFi. Both networks were designed to have a variable bandwidth. In TCP it uses the packet loss to approximate a bandwidth but the TCP coefficients are designed for more conservative change in bandwidth - it is a known TCP connection problem it can't restore TCP channel performance pretty fast. It was done for sake of overall network stability. So, TCP estimation would be too conservative and you may switch to second interface too fast.


Or to divide the streams randomly so that 90% got to X and 10% to Y (but then we have the problem that you might get the slow interface even if the fast one had free bandwidth for you).
Unfortunately it is not for mobile device (you don't know the ratio for current situation while you roaming around).

It will also totally mess your login sessions on sites that try to prevent session hijacking by tying the session to IP address.
Right, and there are many another issues with double host IP. For exam, if you ask DNS "what is www.cnn.com IP address" it may give you the nearest for 3G but N900 may try to setup connection via WiFi. In case of CNN it may be OK, but many another sites would not answer at all, for exam - some server which uses some provider cache servers like Akamai.
 

The Following 3 Users Say Thank You to egoshin For This Useful Post:
ME2g's Avatar
Posts: 168 | Thanked: 58 times | Joined on Aug 2010 @ Vienna
#9
Originally Posted by egoshin View Post
TCP estimation would be too conservative and you may switch to second interface too fast.[...]
Slightly different question regarding bonding:
Did I understand the whole topic correct: if you use two modems on a 3g network , they also share the broadcasting cell most of the time and therefore bonding would not bring any benefit?
So if I use the N900 as modem and a Huawei E220 as a modem, bonding does not make much sense in this case?
 
Reply

Thread Tools

 
Forum Jump


All times are GMT. The time now is 21:44.