Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Since each Internet connection has its own IP, I see that as a problem. Or can you use one connection as the primary connection, and then use the other connection to spoof packets coming from the primary one?

share|improve this question
    
are you a seeder, or are you an leecher ? –  user13834 May 29 '09 at 6:55
    
why would leechers care about having more upload? –  Pyrolistical May 29 '09 at 17:15
    
I was wondering this exact same thing the other day. I just... can't help but give. ;) –  Christopher Galpin May 29 '09 at 19:51
add comment

migrated from serverfault.com Sep 12 '11 at 1:06

This question came from our site for professional system and network administrators.

5 Answers

up vote 3 down vote accepted

The simplest way to use the upload of the 2 lines is to send the packets on the 2 lines just like if you route half the packets to WAN1 and the other half to WAN2.

But in practice it usually doesn't work that well, since you have some things to consider :

  • Your ISP may think you try to spoof the IP source address when routing over from the other interface and drop them.
  • The so-called "spoofed" packets will have their answer on the real interface, so only one line will be used for downstream
  • The latency between the packets might be much different (ie: more jitter), so the packets will be received out-of-order. That should not be a big deal for TCP-based data streams, but for more RT-oriented one that are quite sensible to jitter (such as TCP-interactive : with nagle's algorithm disabled or VoIP) it can introduce nasty delays due to buffering.

@Garth: I don't think he wants to use 2 IP addresses, just the 2 connections, so I don't see the prob with BT (It's only level 2 related) but the usual level 2 caveats do apply.

share|improve this answer
    
Hmmm... I'm trying a new style w/ bold keywords to be able to fast-read the answer. –  Steve Schnepp May 29 '09 at 11:46
    
Oh, well pointed out! I'd assumed everyone blocked spoofing these days. Now, how could he put one together, should he happen to find some tolerant/slack ISPs? I like the Jakob Nielsen style highlighting, BTW. –  Garth Kidd May 30 '09 at 12:54
add comment

Probably not. It all depends on the load balancing technique. To summarize:

  • If your load balancer works without ISP co-operation: no.

  • If your load balancer needs ISP support, or at least tolerance: yes.

I'd expect that most consumer-level load balancing solutions are designed to work without ISP co-operation. In which case: no.

No ISP support required; not good for BitTorrent:

BitTorrent won't play well with load balancing solutions which expose both your external IP addresses. These solutions route new outbound TCP sessions via whichever link is least used right now. That's fine for browsing web sites, but causes problems with anything which expects to deal with a single IP address. See pfSense's documentation on sticky connections, for example.

(In theory, your client could pretend to be two clients each of which never download from the other. In practice, I don't think any BitTorrent clients do this.)

Load balancing by distributing outbound TCP sessions is the only way to guarantee improved download speed with all ISPs. For this reason, I'd expect most consumer-level load balancing solutions to work this way. That's great for multi-connection HTTP and FTP (i.e. most download managers), but not for BitTorrent.

ISP support probably required; could benefit BitTorrent uploads:

As Steve Schnepp points out, BitTorrent should play well with load balancers which distribute the transmitted packets, but stamp all of them with your (apparent) single IP address. The problem is, this kind of solution will only work if your ISP isn't blocking spoofed packets.

Try spoofing packets to your friends, and having them spoof packets back to you. Assuming neither ISP pulls the plug on you, you could try a home-made Linux routing solution with both ISPs.

share|improve this answer
    
actually, to try "spoofing" packets, it's dead easy : Just initiate a big D/L, and while it is running just route ALL the packets through the other interface that is currently used. –  Steve Schnepp Jun 3 '09 at 6:57
add comment

If you're only uploading/seeding, you could easily set up a tracker on each of your public IP addresses to seed files. Unfortunately due to the way bittorrent connects, each tracker would only utilize one line. You would effectively be maximizing your uploads, just not to the same set of clients.

share|improve this answer
add comment

Nothing would stop you running a client bound to each IP. That way you'll show up as two clients but you'll be able to use both connections.

share|improve this answer
    
I think you'd have to double your disk space consumption, as it's unlikely many clients will cope with another instance writing to their files. You'd also have the occasional instance of one IP hitting the other via the outside world... –  Garth Kidd May 30 '09 at 12:56
    
Not really, if its seeding then most clients can work off one instance of the file. –  Andrew Williams May 30 '09 at 22:03
add comment

if you have 2 physical computers connected to each other and then directly to 1 of the ISP connections (different default routes) and then enable local peer discovery on both clients and you will likely get a much faster speed.

They both independently download/upload from their dedicated internet link but then share their downloaded chunks over fast Ethernet (like any other peer except this one can transfer at very very fast speeds localy), its possible that they may end up downloading the same chunk but its unlikely due to the way that chunks are selected.

You will end up with 2 copies of the data on both pc's, not a lot you can do about this unfortunately.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.