Simultaneous use of multiple internet connections.

Anyone else ever tried to do this?

  • Yes

    Votes: 12 70.6%
  • No

    Votes: 3 17.6%
  • Why the heck do you need two connections anyway?

    Votes: 2 11.8%

  • Total voters
    17
Status
Not open for further replies.

CrunchyFerrett

Distinguished
Jan 11, 2006
8
0
18,510
Before I begin, I apologize if this question has been previsouly posted / answered. I checked around for an hour or so without seeing anything similar to my question.

Background Info: Single machine environment, WinXP Pro SP2 / Latest Updates / F-Secure Firewall & AV / no router.

I have 2 (completely seperate, they have nothing to do witch each other) broadband connections running into this location. Both are connected to their own NIC (broadband modem1 plugs into NIC1, broadband modem2 plugs into NIC2)

Both connections work flawlessly when plugged in individually. When I connect them both simultaneously, both are assigned valid public IP's from their respective ISP's.

Problem: I cannot seem to get Windows (or is it possibly at the application level?) to utilize both connections at the same time. Example: Browsing a Webpage, downloading a file from web/ftp/irc/ et al, downloading email etc, only ONE of the two connections is used. I confirmed this by using various traffic monitoring applications.

I can't for the life of me determine how windows decides which connection its going to use, either. Seems to be random.

Question: How can I create a situation where Window (or the applications, whereever the problem lies) to use BOTH connections. I guess to "combine" them as one, lot the old days of shotgunning dialup modems.

Or am I completely off my rocker here?

Any comments or advice is greatly appreciated.

Thanks
CrunchyFerrett
(And no, I don't eat ferretts. They just make a great crunching sound when they get running to fast and run into walls/bookcases/doors etc.)
 

riser

Illustrious
I do this but only in a corporate environment where I have money to purchase the appropriate software, etc.

NLB = Network Load Balancing.

What you can do it is get a 3rd party piece of software or I believe it comes with Windows 2k/2k3 server, install this and assign certain traffic or X amount of bandwidth for certain apps to each connection.

P2P uses this line, web surfing that connection, etc.

Doing a simple Windows XP Network Load Balancing search will find you plenty of informatin. If you have 2k or 2k3 server, finding information and How Tos should be a breeze.
 

Black_Solitare

Distinguished
Jan 17, 2006
22
0
18,510
Check with ur ISP to see if there are any restrictions on the connections.

They may want to you to pay a stupid sum of money to be able to be able to do this.
 

CrunchyFerrett

Distinguished
Jan 11, 2006
8
0
18,510
Thanks, but I'm not talking about multiple logins with the same account. I have 2 seperate accounts with two seperate companies. I want to be able to use those connections simaltaneously.

Thanks for the input though.

CrunchyFerrett
 

hubbardt

Distinguished
Nov 19, 2004
1,138
0
19,460
In a corporate environment you can use network teaming to achieve this.
Two network cards in a server are teamed to create a virtual network card that utilizes the combined bandwidth.

HP Network Teaming

Haven't seen this done in Windows XP though :cry:
 

aspicer

Distinguished
Sep 28, 2004
22
0
18,510
* Windows XP and most operating systems with TCP/IP have what is called a Default Route or Default Gateway. You can see this with "ipconfig" from a CMD shell window.

You can also see this with "netstat -r" where it will be the first route and is recognized by being all zeros "0.0.0.0" netmask 0.0.0.0.

I have seen a similar problem get created where someone has a network with a DHCP Server that gives out IP Address settings as well as Default Gateway to network clients on an Ethernet (or Wireless) LAN. Let's say for example that a client is a Laptop computer. This laptop gets settings from the DHCP Server and Windows XP writes the route 0.0.0.0 netmask 0.0.0.0 gateway 192.168.0.1 (This is very common with Windows Internet Connection Sharing, but similar would happen with most broadband routers doing the sharing)

If you bring up another connection, in my example they plugged in a GPRS Cellular Card into the Laptop, then Windows dutifully writes another "0.0.0.0" route now pointing to the Gateway given by the GPRS provider (probably via PPP/LCP or similar).

Now you've got two default routes (again shown by "netstat -r" in Windows XP or "route print"). How does Windows decide which one to use? The first one or is it some other "metric" by which it is chosen?

I think it is the "metric" and therein might be an answer of how to accomplish your feat. (Obviously I haven't tested any such thing myself, but it does sound *interesting*). Check out:

http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/route.mspx

* which says interestingly in part...

metric Metric : Specifies an integer cost metric (ranging from 1 to 9999) for the route, which is used when choosing among multiple routes in the routing table that most closely match the destination address of a packet being forwarded. The route with the lowest metric is chosen. The metric can reflect the number of hops, the speed of the path, path reliability, path throughput, or administrative properties.

* and...

Remarks
• Large values in the metric column of the routing table are the result of allowing TCP/IP to automatically determine the metric for routes in the routing table based on the configuration of IP address, subnet mask, and default gateway for each LAN interface. Automatic determination of the interface metric, enabled by default, determines the speed of each interface and adjusts the metrics of routes for each interface so that the fastest interface creates the routes with the lowest metric. To remove the large metrics, disable the automatic determination of the interface metric from the advanced properties of the TCP/IP protocol for each LAN connection.

* Hmmm. That sounds interesting. What metrics do you get for the metrics for your two Interfaces that are on broadband connections?

What would happen if you manipulated the routing table and changed the metrics for those two interfaces? e.g. what if they we're equal (if they weren't already?) would Windows XP load balance equal metric gateways? or would it still be broken.

I'm just thinking out loud... Good Luck
 

siddharthaneogi

Distinguished
Dec 16, 2008
1
0
18,510
I am not a computer professional. However, I have a problem similar to the one referred above.

When in office, I am connected to my office network which does not allow access to personal email id's ;)

I use a Data Card for the same. But to use the data card, i have to disconnect the office LAN and then connect with the data card, as simultaneous usage gives a problem sometime in the office network and the system has to be rebooted to rectify the same.

Is there any method by which i can activate and use both connections simultaniously? As i am no expert please give me the solution in a detailed manner. ;)

The systems i use are:

Fujitsu Laptop S6311
Windows XP Service Pack 3
Internet Explorer 8

Thanking you in advance for your help.
 

will_chellam

Distinguished
Jun 5, 2007
450
0
18,810
Running two separate connections in this way isnt as easy as it first sounds especially if it's for the purpose of speeding upa small number of large downloads....

The problem is that your connection doesnt just 'suck' information off the internet - computers at the other end have to be told to send it, with two connections - these computers have to co-ordinate what they're sending either by talking to each other or by being told by your computer what pieces of information to send and down which connection....

If you are running both of these into a server serving many PC's then you can easily use some NLB software which at the simplest level may just alternate requests down each conncetion in turn - if you want to use two connections to speed up massive file transfers or requests from a single user i.e. P2P it may take a significantly more elegant solution.....
 

rsmith24uk

Distinguished
May 7, 2009
1
0
18,510
I came across this solution. haven't verified it yet but should work on windows 2000 onwards

Just make this registry change, if you have multiple network adapters:

System Key: [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters]
Value Name: RandomAdapter
Data Type: REG_DWORD (DWORD Value)
Value Data: (0 = disabled, 1 = enabled)
 

G72_Nebraska

Distinguished
Sep 20, 2009
1
0
18,510
The only real way to have two different ISP's, and use them simultaneously, to balance route traffic and offer true redundancy is to advertise your routes to your upstream providers via BGP.

I could be wrong, but I am almost positive that one needs an Autonomous System Number (ASN) from ARIN (about $500 first time, and then a yearly fee) to be able to route as a peer in the Internet.

One could do this on a LAN level if on the same IP block, but things get a little trickier when dealing with two different ISP's, and using two different public IP's registered with two different providers.

Most people will not allow you to peer with them if all you have is two /24 addresses. Maybe your ISP will advertise for you the necessary routes, and provide a static route downstream to you? This would actually load share your traffic, and provide redundancy on the Internet.

I dont know...just throwing out ideas, maybe I am wrong and have no clue about what I am talking about anyway.

Hope you figure it out,

G72

 

mohsh86

Distinguished
Feb 13, 2008
35
0
18,530
there is a software called NAT32, i think this is the one you want, it combines what ever internet connections u got, and utilizes the bandwidth of them both..

http://www.nat32.com/


anyone confirm if it works :sol:
 

0110101

Distinguished
Apr 4, 2010
3
0
18,510
Hello everyone,

I know this has been raised a while ago, but it was somewhat of a problem to me in the past, just thought id share my solution.


I am running on windows 7, nat32 didn't even run, and i didn't really want to use a third part app, windows actually supports load balancing from two different adapters.

i first enabled the RandomAdapter reg key, but that didn't really help. (http://support.microsoft.com/kb/120642)

but thanks to aspicers, comment about metrics, i found this (http://support.microsoft.com/kb/315088)

which lead me to this
258487 (http://support.microsoft.com/kb/258487/EN-US/ ) Configuring Multiple Adapters on the Same Physical Network
(http://support.microsoft.com/kb/258487/EN-US/)

I changed both adapters to the same metric, and done!!

thanks for everyones help ;)
 

chancet

Distinguished
Apr 10, 2010
3
0
18,510
didn't work for me in windows xp. it says it should work for any windows 2000 line computer in your article so it should work for mine. did u keep the random adapter reg patch on? i will upgrade to windows 7 if someone else can confirm this works in windows 7...
 

Lorex

Distinguished
May 4, 2010
1
0
18,510


I haven't used Azureus since it became vuze, but it used to have a LAN sharing feature - you could download the same torrent on multiple computers, and clients on the same LAN would share pieces as they arrived.
I had this working at one point by having different computers using different internet connections, I assume you could use something like ForceBindIP to run multiple instances on different connections on the same computer, achieving the same result.

Just a thought.
 

Kewlx25

Distinguished
When you transfer data on the internet, you start a connection and this connection has a state information describing and identifying the connection. This is how NATs work. They follow the connections.

The problem with two internet connections is you CAN'T maintain your connection state over two IPs. When you can do is have multiple connection split among your multiple IPs.

eg. You might have two 10mbit connections, but your max speed per download is only 10mbit, but you can download two files both at 10mbit.

Here comes the other issue. Most(99.9%+) software binds to the *default* network. The OS decides which of your many connections is the default. So, even though you have two connections, it's not like every-other program is going to pick one. They all choose the same connection, so one is running full-tilt and the other is idle.

Your software needs to be designed to handle binding to multiple Network interfaces or even an option to choose which interface to use.

There are some Dual WAN NATs(aka consumer routers) that will allow these types of load balancing and even fail-over. Obviously, this type of fail-over will still result in dropped connections, but any new ones will transparently start using the working connections.

The reason why NATs are a good choice to do this is they're essentially already doing all the hard work as it is. a NAT already has to "translate" and maintain connection states. The only addition is now a connection state is also assigned to specific WAN ports which isn't all that hard to add.

Nutshell: Google Dual WAN NAT or router as these should transparently allow what you seek. GL finding reviews on these though since most are not aimed at standard consumers.
 

rbaff79

Distinguished
Jul 28, 2010
1
0
18,510


Did you ever find a solution to this? I have a similar situation and I am sure this is a common problem for others also.
 

abroadtree

Distinguished
Aug 10, 2010
2
0
18,510
hello, I'm from Italy and i have solved the problem (if this is a same problem...)

LAN1 - IP 192.168.0.1 (file sharing and internet access)
LAN2 - IP 192.168.0.2 (internet access)

for default, windows use only the first connection... or the order defined..
or add specifically routes...

you need install forcebindip software.
http://www.r1ch.net/stuff/forcebindip/

practical samples:

ForceBindIP -i 192.168.0.1 "C:\Program Files\Mozilla Firefox\firefox.exe"

ForceBindIP -i 192.168.0.2 "C:\Program Files\Internet Explorer\iexplore.exe"

the firefox use a primary connection and the internet explorer session opened use a second internet access.

bye.
 

pavrahi

Distinguished
Aug 17, 2010
2
0
18,510
I have tried both the solutions mentioned above here.

route delete 0.0.0.0 mask 0.0.0.0 x.x.x.x
route add 0.0.0.0 mask 0.0.0.0 x.x.x.x metric 2

where x.x.x.x is the gateway of your second ISP,< that you have enabled later>.

One the matric matches the traffic will go through both the connection, However as mentioned above application will bind them to single interface and hence most of your applications will work with either of one interface, so the speed will still remain slow and actual load balancing is not achieved

pavrahi
 

pavrahi

Distinguished
Aug 17, 2010
2
0
18,510
This is how the route print will look like once you have two connection active with same metric
Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 59.11.128.36 59.11.128.6 2
0.0.0.0 0.0.0.0 10.224.213.39 110.24.213.9 2
 
G

Guest

Guest
Thank you very much. Sounds like it should work for me!
Jon



 
G

Guest

Guest
In the 2002-2005 timeframe, I did what you are asking about with a piece of software from VicomSoft called Intergate. It provided a large number of capabilities, once of which was connection teaming and failover (you could team any number of connections). It also provided the gateway to everyone else on the network, including the DHCP server, firewall, web filtering, etc. At the time, I bought it for about $100, but unfortunately, it now costs much more. You have to buy at least a 10-user license and it starts around $400. They don't seem to offer the connection teaming all by itself.

It worked best for web browsing or for multiple users, but has the same limitation as mentioned already -- you can't double the bandwidth for a single use, only provide twice the connections. It works well for web browsing, because any web page results in several to dozens of requests for individual things (text, images, videos, etc.).

Perhaps there is some other software solution out there that will do this sort of connection teaming without bonding them together through a single ISP. For a simple hardware solution, look for a used or refurb DLink DI-LB604. It's no longer made by DLink apparently.



 
G

Guest

Guest
One more hardware solution:

Linksys/Cisco RV042 4-port 10/100 VPN Router - Dual WAN

Provides two internet connections for load balancing and redundancy.

 
G

Guest

Guest
You also may try:

1) Find your desired default gateway (card), run: C:\> ipconfig /all (for example you may find something like 10.0.0.137)
2) Run regedit and locate your a.m. gateway (card) reg KEY data in:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces
3) Edit the a.m. proper Key changing all and any "DefaultGateway" register to 10.0.0.137 (example only, use your proper IP...)

Restart Windows.

If this doesn't work, as recomended by Mr. abroadtree, install ForceBindIP, and run (you may create a desktop or startup icon):

For DHCP dynamic IP gateway, for example using google chrome (use your proper net card register KEY):

ForceBindIP -i {175BCD08-15F1-4C5C-A310-111A0A5C2617} "C:\Documents and Settings\user\Local configurations\Applications data\Google\Chrome\Application\chrome.exe"

(use whatever is the full path to your internet application)

For static IP gateway (use you proper IP):

ForceBindIP -i 10.0.0.137 "C:\Documents and Settings\user\Local configurations\Applications data\Google\Chrome\Application\chrome.exe"

Good try...
 
G

Guest

Guest
thanks to aspicers, the genius man , for comment about metrics. :D :D
i have solved the problem of using 2 GPRS dialup (WAN) connectin at the same time on winxp by using above guide and some java skill.

----------------
my system:
win xp sp2
2 seperate cell phone as modems connected to 2 usb connected to GPRS internet
Java 6

-----------------
java have method socket that make tcp connection to remote ip:port as below:

Socket(InetAddress address, int port)

Creates a stream socket and connects it to the specified port number at the specified IP address.

and also have another socket method that force local machine to use specified ip address and port for this tcp connection:

Socket(InetAddress address, int port, InetAddress localAddr, int localPort)

Creates a socket and connects it to the specified remote address on the specified remote port. The Socket will also bind() to the local address and port supplied.

in normal situation local host have 1 IP so there is no need to specify local IP address and the defult local host ip(127.0.0.1) bind to ip of connection
but now i have 2 active connection and 2 ip for each.
so i used 2th method to force java make tcp connection from another IP to remote host, it try but return "NO Route To Host" without send any packet.

so i fallow above guide to edit Metric value of Routing Table.
(every time you dial a new connection over an old active connection, XP change metric of old to "2" and set metric of new connection to "1"
and set it to default so old connection goes to Idle. i edit both metric value to number 2, so they are same ,and TCP can use both of them IF APPLICATION WANT THIS , otherwise the default Gateway are used and first connction stay in idle state)

i use these command in Console
route
route print
route change
route ADD
(use route /? for more detail)

the result before i change METRIC:



===========================================================================
Interface List
0x1 ........................... MS TCP Loopback interface
0x10003 ...00 07 95 fc f9 13 ...... VIA PCI 10/100Mb Fast Ethernet Adapter - Pac
ket Scheduler Miniport
0x30004 ...00 15 83 15 a3 10 ...... Bluetooth Device (Personal Area Network) #2
0x160005 ...00 53 45 00 00 00 ...... WAN (PPP/SLIP) Interface
0x170006 ...00 53 45 00 00 00 ...... WAN (PPP/SLIP) Interface
===========================================================================
===========================================================================
Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 10.0.195.160 10.0.195.160 2
0.0.0.0 0.0.0.0 10.1.21.130 10.1.21.130 1
10.0.195.160 255.255.255.255 127.0.0.1 127.0.0.1 50
10.1.21.130 255.255.255.255 127.0.0.1 127.0.0.1 50
10.6.6.6 255.255.255.255 10.0.195.160 10.0.195.160 1
10.6.6.6 255.255.255.255 10.1.21.130 10.1.21.130 1
10.255.255.255 255.255.255.255 10.0.195.160 10.0.195.160 50
10.255.255.255 255.255.255.255 10.1.21.130 10.1.21.130 50
127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1
224.0.0.0 240.0.0.0 10.0.195.160 10.0.195.160 2
224.0.0.0 240.0.0.0 10.1.21.130 10.1.21.130 1
255.255.255.255 255.255.255.255 10.0.195.160 10.0.195.160 1
255.255.255.255 255.255.255.255 10.1.21.130 10003 1
255.255.255.255 255.255.255.255 10.1.21.130 10.1.21.130 1
255.255.255.255 255.255.255.255 10.1.21.130 30004 1
Default Gateway: 10.1.21.130
===========================================================================
Persistent Routes:
None



the result after change:




===========================================================================
Interface List
0x1 ........................... MS TCP Loopback interface
0x10003 ...00 07 95 fc f9 13 ...... VIA PCI 10/100Mb Fast Ethernet Adapter - Pac
ket Scheduler Miniport
0x30004 ...00 15 83 15 a3 10 ...... Bluetooth Device (Personal Area Network) #2
0x160005 ...00 53 45 00 00 00 ...... WAN (PPP/SLIP) Interface
0x170006 ...00 53 45 00 00 00 ...... WAN (PPP/SLIP) Interface
===========================================================================
===========================================================================
Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 10.0.195.160 10.0.195.160 2
0.0.0.0 0.0.0.0 10.1.21.130 10.1.21.130 2
10.0.195.160 255.255.255.255 127.0.0.1 127.0.0.1 50
10.1.21.130 255.255.255.255 127.0.0.1 127.0.0.1 50
10.6.6.6 255.255.255.255 10.0.195.160 10.0.195.160 1
10.6.6.6 255.255.255.255 10.1.21.130 10.1.21.130 1
10.255.255.255 255.255.255.255 10.0.195.160 10.0.195.160 50
10.255.255.255 255.255.255.255 10.1.21.130 10.1.21.130 50
127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1
224.0.0.0 240.0.0.0 10.0.195.160 10.0.195.160 2
224.0.0.0 240.0.0.0 10.1.21.130 10.1.21.130 2
255.255.255.255 255.255.255.255 10.0.195.160 10.0.195.160 1
255.255.255.255 255.255.255.255 10.1.21.130 10003 1
255.255.255.255 255.255.255.255 10.1.21.130 10.1.21.130 1
255.255.255.255 255.255.255.255 10.1.21.130 30004 1
Default Gateway: 10.1.21.130
===========================================================================
Persistent Routes:
None



now java can make tcp connection from both IP (10.1.21.130,10.0.195.160)
all Done!

Note that most of application use defult gateway (2th conn.) and you must
redirect some traffic to other gateway by using special proxy software. in this example i write a simple java proxy that use both IPs , and set up my browser and bittorrent client to use local java proxy. :D


summery:
for WAN modem teaming , dual active dialup/GPRS connection at same time:
no need for extra hardware like external router.
no need for registry edition (load balancing).
edit metric value of Route.
use proxy to force TCP make connection using all IPs
(write your own simple proxy by java in 0.5 hour if you want)


thanks to aspicers and 0110101 again for ALOUD THINKING !!!
 
Status
Not open for further replies.