Pages

Advertisement

Friday, October 5, 2007

Improving BitTorrent Download Speeds

1.0 Why are my downloads going slow?

- 1.1 Reason 1: Your ISP is limiting your download speed
- 1.3 Reason 2: You have a “NAT Error”
--> 1.3.1 How do I know if I have this problem?

2.0 Fixing a NAT error

- 2.1 Switch off UPnP
- 2.2 Configure Your XP Firewall (ICF: Internet Connection Firewall)
--> 2.2.1 Configure ICF in SP1
--> 2.2.2 Configure ICF in SP2
- 2.3 Configure Your Router
- 2.4 Configure Microsoft Internet Connection Sharing (ICS)
- 2.5 Configure Your Firewall.

3.0 Multiple BitTorrent users on a LAN
4.0 Other things that could be wrong


1.0 Why are my downloads going SOOO slow?

1.1 Reason 1: Your ISP is limiting your download speed

Some ISPs are limiting download speeds by controlling the bandwidth allocated to traffic using the default BitTorrent ports, which are 6881 to 6999.

This is not just a problem for those who have nasty ISPs, it affects everybody. To avoid ISPs from damaging the efficiency of a torrent with their controls, some stringent tracker owners are blocking users trying to connect on the standard ports.

So whether your ISP is limiting you or not, all BitTorrent users should stop using the default ports.

For simplicity, this guide recommends the use of port 16881. Adding a 1 to the start is simple administratively, and is in a range unlikely to be used by other programs.

You then need to set up your client to use the new port.

1) AZUREUS
Tools -> Options -> Connection
-> Add a “1” before the current listen port number. For example, 6881 will now be 16881.

2) uTorrent
Options -> Preferences -> Connection
-> Type 16881 for the port number for incoming connections. Untick the box for Randomize Port.

Whatever client you use, make sure you update anywhere else you have entered the port numbers to account for the change.

By completing this section, you have helped to avoid problems later down the line, but this will not solve the majority of slow downloads. Therefore, move on to reason 2.


1.2 Reason 2: You have a “NAT Error”

BitTorrent works on a credit system. By uploading parts of a file to other people, they allow you to download parts of the file from them. This is BitTorrents anti-leech measure. However, if you have a problem with your NAT (anything between you and the internet, such as a router or firewall), you will not get credit for what you are uploading. The only downloading that you can do is from people who upload a small amount to you in the hope that you will return the favour. Since their client will not recognise your response if you have a NAT problem, then they will stop uploading to you shortly after. This is what is causing your problem. You may also notice that torrent speeds go very high for 5 minutes, before slowing back down to 0-5kb/s.


1.2.1 How do I know if I have this problem?

You might not have a problem at all. Before continuing with this guide, leave your torrent running for at least ten minutes. If the speed hasn't picked up, stop and restart the torrent. If that fails, try at least two other torrents. If you are still having problems, continue on...

Start to download a file using your chosen client.

AZUREUS
Wait a while for the torrent to get started; this may take up to five minutes.
Look in the “Health” column. If it is showing a yellow spot, then you need to configure your firewall/NAT/router. If it is Green then all is OK. Your slow downloads are being caused by something else.
A full list of the different colours can be seen [http://azureus.sourceforge.net/faq.php#21]here[/url].

Azureus can also check your configuration for you.
Select “Tools” -> “NAT / Firewall Test”
The default TCP listen port is 6881. If you have changed the listening port, enter the new port in the “Incoming TCP Listening Port.”
Press “Test”
If the result is “NAT Error,” please continue with the guide.
If the result is “OK”, then your slow speeds are being caused by something else.

PLEASE NOTE: The Azureus checker can report a false NAT error if you are running PeerGuardian or Protowall. Make sure these are disabled before using the Azureus wizard.

uTORRENT
Wait a while for the torrent to get started; this may take up to five minutes.
On the status bar, look for either a yellow warning triangle, or a green dot. If there is a yellow warning triangle, then you need to configure your firewall/NAT/router. If it is green then all is OK and your slow downloads are being caused by something else.
uTorrent can also check your configuration for you.
Select “Options” -> “Speed Guide…”
Check the current port is set to the port used in the first section, i.e. 16881.
Click “Test if port is forwarded properly”.
If you get an error, then continue to follow this guide. If the port is correct set up, then skip to the section 4.0 – “Other things that could be wrong”.


2.0 It’s showing yellow / warning triangle, I have a NAT error – what do I do?

You need to configure your computer and/or network to accept incoming BitTorrent port connections. The tracker port is 6969. If this port is not correctly configured, downloads will not start at all. The download/upload ports used in this guide are 16881-16889. It is these ports that are causing your problems.


2.1 Disable UPnP

Universal Plug and Play (UPnP), it is a feature that works with some compatible routers to open the required ports automatically. However, some routers, even if they are compatible with UPnP, have problems with this.

AZUREUS
Tools -> Options
Expand "Plugins" on the left hand tree.
Select "UPnP"
Deselect "Enable UPnP"

uTORRENT
Options -> Preferences -> Connection
Deselect “Enable UPnP port mapping”.


2.2 Configure Your XP Firewall (ICF: Internet Connection Firewall)

Please go to the appropriate sub-section.
- “Configure ICF in SP1” if you have NOT installed Service Pack 2
- “Configure ICF in SP2” if you have installed Service Pack 2


2.2.1 Configure ICF in SP1

Open up your “Network Connections”. Right click on your internet connection or LAN connection and select “Properties”.
->Select the “Advance” tab
->If the “Internet Connection Firewall” is not ticked, then this is not your problem. Research into whether you need the XP firewall or not and jump to "Configure Your Router" below. If it is ticked, please continue:
->Click “Settings…”
->On the “Services” tab press “Add…”
->Description of service = BitTorrent
Name or IP address of the computer hosting this service on your network = 127.0.0.1 (this means "the local machine.")
External Port number for this service = 16881
Internal Port number for this service = 16881
TCP/UDP = TCP
-> Press OK.

-> With uTorrent, make sure Options -> Preferences -> Connection -> "Port used for incoming connections” is equal to 16881.

-> With AZUREUS, make sure that "Tools -> Options -> Connection -> Incoming TCP Listen Port" is equal to 16881.

Check if the torrent/health has gone green. If not, move on to section 2.2.


2.2.2 Configure ICF in SP2

-> Open your Windows Control Panel and select “Security Centre.”
-> Scroll down to the “Manage security settings for:” section and select “Firewall”
-> Decide whether you want to keep the firewall on or off. Make an informed decision based on more than the information provided by Microsoft. If you decide to switch it off, then do so and move onto section 2.2. Otherwise, continue this section.
-> Select the “Exceptions” tab.
-> Select “Add Port…”
-> Name: = BitTorrent (or anything of your choice)
-> Port number: = 16881
-> TCP/UDP = TCP
-> Press OK.

-> With uTorrent, make sure Options -> Preferences -> Connection -> "Port used for incoming connections” is equal to 16881.

-> With AZUREUS, make sure that "Tools -> Options -> Connection -> Incoming TCP Listen Port" is equal to 16881.

Restart the client and wait five minutes. Check if the health has gone green or that the warning triangle has vanished. If not, move on to section 2.3.


2.3 Configure Your Router


If you are on a LAN with a router or hardware firewall, you may need to configure it. You need to forward BitTorrent’s connection ports to your specific PC on the LAN.

If your connection is shared using Microsoft Internet Connection Sharing (ICS), go to section 2.3.

There are too many routers to cover in this guide, so it is time to head to Google. Search for port forwarding, BitTorrent and the name of your router. Lots of manufacturers provide specific information on their sites. A generic guide to port forwarding for most routers can be found at PortForward.com.

-> With uTorrent, make sure Options -> Preferences -> Connection -> "Port used for incoming connections” is equal to 16881.

-> With AZUREUS, forward port 16881. Make sure this matches "Tools -> Options -> Connection -> "Incoming TCP Listen Port"

Restart the client and wait five minutes. Check if the health has gone green or that the warning triangle has vanished. If not, move on to section 2.4.


2.4 Configure Microsoft Internet Connection Sharing (ICS)

If you are sharing an internet connection using ICS, then you will need to forward the BitTorrent ports.
Windows 2000 users, click here for information on forwarding (mapping) ports.

Other users:
Shock Systems used to provide a useful tool called “ICS Configuration” for changing the settings of ICS to allow full BitTorrent access to a second computer.

-> Install the program on the serving computer and run it
-> Click “+ Add”
-> Name = [whatever you want, e.g. BitTorrent]
-> Target = Local IP of machine running BitTorrent, e.g. 192.168.0.2
-> Description = [whatever you want, e.g. “allow BitTorrent for 192.168.0.2”]
-> On the “Ports” tab, slect “+ Add”
-> Select “Port Range” from the drop-down box
-> Enter “16881” and “16889” into the relative boxes
-> TCP/UDP = TCP
-> Data translation = NORMAL
-> Press “OK”, Press “Enable”, Press “OK”.
-> Close everything and reboot the PC.
The settings will be saved in your registry. There is no need to open ICS Configuration with ICS.

-> With uTorrent, make sure Options -> Preferences -> Connection -> "Port used for incoming connections” is equal to 16881.

->With AZUREUS, forward port 16881. Make sure this matches "Tools -> Options -> Connection -> Incoming TCP Listen Port"

Restart the client and wait five minutes. Check if the health has gone green or that the warning triangle has vanished. If not, move on to section 2.5.


2.5 Configure Your Firewall

As with routers, there are too many to cover here, so time to head to Google. Unlike with other sections to this guide, ports only have to be opened, rather than forwarded.

With both AZUREUS and uTorrent, open port 16881.


3.0 Multiple BitTorrent users on a LAN

The same port can not be forwarded to different computers, so decide who gets which ports, for example:
192.168.0.2 = 16881
192.168.0.3 = 16882 etc.

Set up your router or ICS to forward the ports to the chosen computers.

Now you need to set up the BitTorrent Clients:

AZUREUS
Each computer only needs one port forwarded to it.
-> Tools -> Options
-> "Connection" on the side menu
-> On “Incoming TCP Listen Port” enter the port number that is being forwarded to that computer. Taking from the above example, computer 192.168.0.3 would enter 16884.
-> Repeat for all the users

uTORRENT
Options -> Preferences -> Connection -> is equal to 16881.
-> Set "Port used for incoming connections” to the port number that is being forwarded to that computer. Taking from the above example, computer 192.168.0.3 would enter 16884.
-> Press “OK”
-> Repeat for all users.


4.0 Other things that could be wrong

Try limiting your upload if you have ADSL/DSL. Sometimes BitTorrent can try to upload so much that it floods your upload, making it difficult for incoming connections. Slyck.com explains further:

It might seem strange to hear that your upload speed can directly affect your download speed, but it can, and quite dramatically. The reason behind it is based on the way the Internet works. When you download a file (or in this case, chunks of a file), your computer sends a tiny message back to the source computer, called an ACKnowledgement packet. These ACK packets tell the source computer that chunk #1 has arrived OK, please send #2. When #2 is down, it sends another, and so on. The source computer will not send #3 until it gets the ACK from #2. It uses a small amount of your upload bandwidth to do this. This works fine when downloading files off the Internet, but with P2P, you tend to upload as well.

This is especially true with BitTorrent – because you upload as well. If done efficiently, downloads can be very fast. The problem lies with the fact that you upload *so much* that the ACK's do not get sent out fast enough, which slows your download. The simplest way to solve this is to limit your upload bandwidth. 80% of the maximum is usually recommended, but I find I can set it to 90% with no adverse effects. This gives your ACKs a bit of breathing space to get out with.
CCSDUDE makes this recommendation on limiting your upload:

"Try 11kbs up as your limit on a 128k upload package...double it for 256/1.5mb lines and keep going up as you hit 384/ect. That seems to be the sweet spot on BT. Enough to keep everyone happy whilst not slowing your downloads down or slowing your surfing.
Some ISPs recognise BitTorrent traffic and then limit it. Simply switching to Azureus or uTorrent will mean that you traffic will be encrypted between compatible clients. Without giving technical details, this will stop ISPs from recognising the traffic as being from BitTorrent."

Improving BitTorrent Download Speeds

Technorati Tags: , , ,

1 comment:

  1. Can anyone recommend the well-priced Remote Desktop software for a small IT service company like mine? Does anyone use Kaseya.com or GFI.com? How do they compare to these guys I found recently: N-able N-central it automation software
    ? What is your best take in cost vs performance among those three? I need a good advice please... Thanks in advance!

    ReplyDelete