Port Forwarding & Being Connectable
This guide contains public information which are gathered from multiple source including private trackers. It meant to be topic to help understand how port forwarding and being connectable when using bittorrent sharing could effect seeding/peering with others.
How do Routers Work?
Before I get into the actual steps on how to port-forward, we must discuss the basics.
Routers allow multiple PCs to connect to one single internet connection. If we didn't have routers we would need a modem for each PC we wanted to have connect to the internet. Instead we have one router (usually wireless) and one modem.
Internal vs External IP Addresses
An external IP address is a unique address that the router gives to you that allows you to be identified. Everyone who is connect to the internet will have one of these. A simple way of finding this external IP address is to go to:
http://www.whatsmyip.org/
Usually there is only one external IP address for each household. This means that all the PCs that are connected to the same router would have the same external IP address. For them to be identified on the network they are each assigned an internal IP address. It usually looks like 192.xxx.x.xxx and is only visible to people on the same network as you; meaning connected to the same router as you.
Static vs Dynamic IP Addresses
Understanding the difference between Static and Dynamic IP address is vital in knowing how to port-forward. A Dynamic IP address will change, most of the time randomly. This can occur for both external and internal IP addresses but in the case of port-forwarding we are only concerned with internal address. The IP changes generally when you reboot your PC or disconnect and connect to your router, depending on your router.
On the other hand, static IP addresses never change, this is because you set it to a specific IP and it stays that way unless you make changes to your your router.
How Ports Work
When information is sent to a computer (called packets), it travels through an open port to your PC. This happens countless of times without you knowing. This is done through common ports that are used daily such as the internet and instant messaging.
An example of this, using a instant messaging client:
Your instant message client uses port 9999 and your IP is 110.154.221.30. When you send a message using the client, the message is being sent from 110.154.221.30:9999. The number after the ":" designates the port number to be used in the transfer.
Not all ports are open, and this is where we get to port-forwarding.
What is Port-Forwarding ?
But what IS port forwarding? Why do I care? What does this have to do with my slow uploads!?
When you don't have a port open for your BitTorrent client, it makes connecting to people extremely difficult. When your ports are not forwarded, you can send a request to connect to a peer, but you can't receive any.
What?
Ok, let's say Bob, Sally, and Joe are all on a torrent. Bob is the only one that is connectable (ports forwarded). Sally sends a request to connect to Bob, which he can accept and they're fine. Joe does the same. However, Joe then sends a request to connect to Sally, but guess what? They aren't going to connect. Why? Because Sally can't receive any incoming connections.
If all three of them weren't connectable, there would be no communication between the three of them. So if you are noticing lately that you aren't connecting to any leechers or seeders (peers) and it's a very active torrent then it's most likely you need a bit of port-forwarding. So do so, we need to open some ports.
How ?
To start off we need to set up a static internal IP address. This is because we need to assign a specific address to allow the router to know which PC is allowed to access that open port. If you were to have a dynamic IP address, every time your dynamic IP chances you would have to change the rules in the router to allow your PC to access that port.
To do so you can follow this great guide, it is real simple to follow: (DO NOT BUY the app or download it, it's not needed)
http://www.portforward.com/networking/staticip.htm
You will disconnect and connect again from your router briefly as your router updates the static IP address you assigned it.
Now you have set up your static IP address you need to pick a port to open up for your Bittorrent Client. You need to pick and assign the same one in your clients setting and then again in your router.
If you are looking at me puzzled then there's help available.
http://www.portforward.com should have a guide for almost any router you can think of, just go to
http://www.portforward.com/english/r...outerindex.htm
to find your router then find your bittorrent client on the list. The instructions should straight forward and simple to follow. You're done! Restart your client and you should be good! If you're not sure if it's working go to
http://www.canyouseeme.org/
and input the port number you just opened and it will tell you if it has worked or not.
The Most Common Reasons for the Port Forwarding Not Working
1. No static IP address
2. Typo in the router settings
3. Typo in the client settings
4. Firewall not given permission
That's right, I almost forgot to mention! Your firewall software, if you use one, is very similar to what a router does. In fact I don't even use a firewall because my router does just fine. But if you do use one, you have to go to your firewall settings and give your torrent client permission to receive and send data/connections.
The Importance of Being Connectable
When it comes to torrents, being connectable can go a long way in helping your ratio. Connectivity is directly related to port forwarding, your router, and incoming torrent connections. Here's how it works:
You upload a new torrent. After going through the upload page and adding the torrent to your client, the client connects to the tracker to do the following:
1. Tell the tracker it is going to begin seeding a torrent.
2. Ask the tracker if there are any peers it doesn't know about.
Normally, no one has downloaded the torrent from the site between the time that you upload the torrent and when you add it to your client. So your client will now wait, for 45 minutes (or however long it's been told to wait by the tracker), until it will connect back and ask for more peers.
Now suppose someone downloads your torrent from the site after you added the torrent to your client. Normally, the person's client will ask the tracker for peers, to which the tracker will return your IP address to connect to. That client will then connect to your client, using the IP address and port number it got from the tracker pertaining to your client and the port it accepts incoming connections on. This is where being connectable comes into play. We'll assume your IP address is 139.129.43.5 and your port number used for torrenting is 3058.
When the peer attempts to connect to you on that designated port, your router has to know what to do with the incoming connection. It receives an incoming connection from the peer, on port 3058. If you have your port forwarded to your client correctly, that is, you've told the router what to do with incoming data on a specific port, the router knows to send anything coming in on port 3058 to the computer your client is running on. Now, if you are not connectable, the router doesn't know what to do with items coming in on port 3058, so they are discarded, and the other peer isn't able to connect to you.
If your port isn't forwarded correctly, the peer who just added your torrent to their client will have to wait for 45 minutes, until your client updates with the tracker, and gets the new peer's IP address and port to connect to. If the peer is connectable, you will then make an outbound connection to them, and it will connect successfully. Outbound connections aren't normally blocked by a router, unlike incoming ones, this is why a client doesn't need a port forward for outgoing connections. This scenario is also why you can still seed even if you aren't connectable. This can have very negative consequences for your ratio though as I will now explain.
Here's how not being connectable will hurt you. When you are seeding a torrent in a large swarm and a new peer comes online, his client will attempt to make connections to the other peers. If you aren't connectable, you will have to wait (at max) 45 minutes until your client learns of their existence, before you can start uploading data to them. During this time the peer is getting data from other peers, but not you. By the time your client finally learns of the new peer's existence, the client will already be done downloading! You won't get nearly as much upload than if you were connectable. Depending on the size of the torrent, your client may not get any upload for that peer, because he will have completed the torrent before your client even knew he was present.
The absolute worst case scenario is when both peers aren't connectable. Neither peer will be able to connect to the other, and both will sit without connection indefinitely.
Scenarios with Not Being Connectable
- If you aren't connectable BUT a certain peer in the swarm is: You will enter the swarm, but will have to wait 45 minutes until the other peer updates with the tracker and becomes aware of your existence in the swarm.
- If neither of you are connectable: You will never be able to connect to this peer.
As you can see, if you aren't connectable you are cutting yourself off from a lot of seeding opportunities, as most torrents on this site don't take much more than 45 minutes to download to begin with. If an unconnectible seed is the only seed in the swarm, and you also join being unconnectible, you will be at a permanent stalemate unless another seed or connectible peer comes along.
The Art of Connectivity:
When you attempt to become connectable, there is quite an art to the overall process. Depending on your ISP and country, different measures can allow for a successful setup. One such way is by trying both public & private ports. Try ports in the 49152–65535 range, as well as 0-19151. Some universities only block a certain range, while other's block all. If you have a somewhat tricky ISP, they could monitor for bitorrent traffic, and then disable the port you are using after they detect such traffic. Set your torrent client to use a random port every time (this will require a UPnP setting if you are behind a firewall).
Becoming Connectable:
Before starting this, some important things to consider. First: you must already have a torrent from site active in your client. Second: if you use a vpn, you must use the instructions from your vpn provider to forward (if available). Third: if you use a proxy, you can't be connectable.
Being connectable means that you can share data with everyone (be it seeding, or leeching). Two unconnectable peers will not be able to communicate with one another. Being connectable is not strictly necessary, but it is highly recommended. You can still download and (somewhat) seed while unconnectable.
If your computer / router / torrent client does not automatically configure itself so that you are connectable, there are three basic things that need to happen in order for you to become connectable:
- The computer running your torrent client (uTorrent, Vuze, etc.) needs to have a static IP.
- You need to give your torrent client a static port number. We recommend something in the 50000 - 65000 range.
- Your router (or vpn if you use one) needs to have a port forwarding rule which will forward bittorrent traffic on the port defined in Step 2 to the IP (and thus your computer) defined in Step 1.
Now, start by going to
http://portchecker.co/
http://www.yougetsignal.com/tools/open-ports/
http://canyouseeme.org
and testing the port number you are using for your torrent client. If it fails, you need to move on. If it succeeds, you either don't have a router, or have already forwarded your ports.
Set Static IP Address:
To set a static IP in windows:
1. Open Windows Start menu.
2. Open Control Panel.
3. Classic view: Open Network Connections - Category view: Select Network and Internet Connections, and then Network Connections.
4. Double-click on your active LAN or Internet connection.
5. Click Properties. This opens the Local Area Connections Properties window.
6. In the General tab, highlight the Internet Protocol (TCP/IP) item, and click Properties. This opens the Internet Protocol (TCP/IP) Properties window.
7. In the General tab, click Use the following IP address, and enter:
- IP address. The static IP address you want to assign to this computer. (remember this needs to be something outside of the range your DHCP uses.)
- Subnet mask. Subnet mask used by your router.
- Default gateway. IP address of your router's default gateway.
8. In Use the following DNS server addresses, enter all the IP addressses for the DNS servers your router uses.
9. Click OK.
Then:
10. Click OK to close each window.
11. Restart your computer.
12. Then, check your IP address again, to make sure that the changes were applied.
If you are using a router with DD-WRT firmware on it, you do not need to set a static IP address on your client's computer. You can set a static DHCP lease. Basically, the router will always dynamically assign the same IP address to your computer. Find your computer's MAC (hardware) address. Click Start, click Run, type in "cmd" without the quotes and hit enter. type in
without the quotes and hit enter. Look for the Adapter that gives you your internet (normally "Ethernet adapter Local Area Connection:" but it can be different.)