HowTo Networking
Optimize BitTorrent To Get Around ISP’s Limitation
While ISPs start limiting BitTorrent Traffic, there are still some way to get around it. While there are valid arguments for and against these limitations, we’re not here to debate. We just want the fastest BitTorrent transfers possible.
Even though many of them deny it, most ISPs actively engage in traffic shaping, bandwidth throttling, connection denial or some such tactic to keep the amount of bandwidth consumed by high traffic applications on their networks to a minimum. While this does often ensure better performance for everyone in the neighborhood, it can mean painfully slow transfer speeds for those dabbling in P2P — legit or not.
So how to get around an ISP that’s throttling your BitTorrent traffic? You can try encrypting or your traffic, changing the default port number, changing the way the protocol behaves, reducing the amount of one-way traffic, or hiding your traffic within an encrypted tunnel.
Of course, different ISPs are employing different methods of control. None of these methods are guaranteed to work. But each one is known to work for some, and they are certainly worth a try.
Encrypt the BitTorrent Traffic
Azureus/Vuze
Azureus (which now calls its official client Vuze) is written in Java and therefore cross-platform. To turn on encryption, head to the Tools menu. Select Options, then Connection, then Transport Encryption. Check the “Require encrypted transport” box and select RC4 in the “Minimum encryption” drop-down menu.
Azureus/Vuze also offers an “Allow non-encrypted outgoing connections if encrypted connection attempt fails” option, which means you’ll still be able to hop on torrents that don’t have any encrypted seeders.
µTorrent
µTorrent (and now BitTorrent which is based on µTorrent) is a Windows-only client. In µTorrent, open up the Preferences panel and select the BitTorrent tab. Select Protocol encryption and then choose between “enabled” and “forced.” µTorrent’s “Enabled” option mirrors Azureus’ option to allow unencrypted connections when no encrypted clients exist. It will give you more connections, but it won’t be as effective at defeating traffic shapers.
µTorrent/BitTorrent also offers a option to ‘Allow legacy incoming connections’ which lets non-encrypted clients connect to you. This improves compatibility between clients but again, makes your traffic more vulnerable to shapers.
BitComet
BitComet is another popular Windows Client (98/Me/2000/XP). To turn on encryption in BitComet, head to the Options menu and choose Preferences. Then go to Advanced > Connection and select “Protocol encryption.” There are options for “auto detect” and “always.”
As with the others, “auto detect” will connect to more peers, but it won’t hide traffic as well. You’ll need to play with the settings in your program to see if it has any affect on your download/upload speeds.
Change the BitTorrent Port Number
The default port for BitTorrent transfers is port 6881, with some clients using different ports within the range of 6881-6999. As a result of ISP interference, all clients allow you to change the port number (or port range, sometimes) used for BitTorrent transfers. The setting is in the Options or Preferences for your client, or can be set using a command-line parameter.
Whenever you change your port, you need to adjust your router to allow incoming connections. An excellent service at http://www.portforward.com/ can guide you through the entire process of locating the current port being used (which allows you to change it), and then configuring your router to match.
Change the Way the BitTorrent Protocol Behaves
The BitTorrent protocol has a distinct handshake. To control uploading by seeders, ISPs have learned to look for this handshake. The recent releases of both µTorrent and Azureus/Vuze include a “Lazy Bitfield” feature to hide seeders from ISPs. When Lazy Bitfield is enabled, the handshake is changed to make a BitTorrent seeder initially appear to be a non-seeding peer (sometimes called a leecher). This is done by sending a bitfield indicating missing pieces. Then, once the handshake is done, the client notifies its peer that it now has the pieces that were originally indicated as missing.
Azureus/Vuze
Azureus (which now calls its official client Vuze) is written in Java and therefore cross-platform. To turn on encryption, head to the Tools menu. Select Options, then Transfer. Enable Lazy-Bitfield here.
µTorrent
Lazy Bitfield is controlled in the Advanced section Preferences: peer.lazy_bitfield.
Reduce the Amount of One-Way transfers
Most downloaders become seeders when they have 100% of the archive, then they spend the next several hours “paying back” the swarm until they have provided at least as many bytes uploaded that they downloaded — a ratio of 1:1 or 1.00. As mentioned before, some ISPs make efforts to control seeders. Seeders generate one-way (outbound) traffic, and this traffic is sometimes the most troublesome for ISPs to handle.
Most clients are configured with a “speed limit” set Upload Maximum Limit in kB/s and an unlimited Download Maximum Limit. To reduce the amount of one-way transfers, the client needs to upload at the same rate (or less, overall) than it is downloading. While this means that the download will be a lot slower to complete, it also means that it will complete at a 1.00 ratio or above.
Hide BitTorrent within an Encrypted Tunnel
With the advent of Application-Layer Inspection, some ISPs may recognize and control BitTorrent traffic despite your best efforts.
You may be able to hide the BitTorrent traffic in an encrypted tunnel — a transport path within the normal transport paths provided by TCP and IP. You can tunnel your traffic through cooperatives such as The Onion Router (TOR)* or I2P. Commercial Virtual Private Network (VPN) providers such as Relakks or SecureIX will also help keep your ISP from detecting exactly what you’re doing. If you are familiar with SSH and SSH Tunneling, this is also a possibility. However, some ISPs even throttle or inhibit these encrypted tunnels.
Azureus provides in-client support for TOR and I2P. Other clients will have to set up the software as recommend on the TOR or I2P site.
*Note: TOR has been updated to allow peer-to-peer download data, despite any information to the contrary (it used to be prohibited).
Source: wired



