Network Utilities

What PortTrigger Can Do For you

Home > Guides > PortTrigger

Before I can explain what PortTrigger can do for you, first, you need to know what port forwarding and port triggering are. I will explain them one at a time. The first section of this explaination will be for port forwarding. The second section will be for port triggering, and the third will explain what PortTrigger does.

Port Forwarding

There are a couple of concepts you need to know before you can understand port forwarding. I'm going to make a couple broad statements that are almost always true. For simplicity lets assume they are true for now.

1.) Every device on the internet has at least one ip address. The IP address is a number that is used to identify a device. For more information on ip addresses refer to our What is an IP Address page.

2.) Every IP address is divided up into many ports. When one computer sends data to another computer, it sends it from a port on an ip address to a port on an ip address. For more information on ports refer to our What is a Port page.

3.) A port can only be used by one program at a time.

Now that we've got those general concepts out of the way let's talk about NAT. NAT is an acronym for Network Address Translation. NAT takes one ip address and basically breaks it into many ip addresses.

BasicNetwork.jpg


Here the external ip address is broken into two internal ip addresses. The first ip address "IP Address1" is the gateway. While "IP Address2" is the ip address of the first computer. Take note that the router has two ip addresses. It has the external ip address, and an internal ip address which acts as the gateway for every computer on the network.

NetworkVisibility.jpg


Excuse my rough drawing. Computers on the internal network can only "see" internal ip addresses. So computers on the internal network can not send data directly to a computer outside of the network. When a computer on the network wants to send data to a computer outside of the network, it sends the data to the gateway. Remember the gateway is the internal ip address of the router. The router then takes this data and sends it out to the computer on the internet. The router sends the data out of the external ip address. The same thing is true of computers on the internet. A computer outside of the network can not "see" a computer inside of the network. They can only "see" and send data to the external ip address of the router. The router must then decide what to do with this data. Lucky for us NAT takes care of most of the work for us. There are some programs that NAT was not designed to work with, those are the programs we need to set up port forwarding for. Okay take a deep breath! We are on to port forwarding.

Now that you understand the general concepts of a network, explaining port forwarding is easy. When a computer on the internet sends data to the external ip address of the router, the router needs to know what to do with the data. Port Forwarding simply tells the router which computer on the local area network to send the data to. When you have port forwarding rules set up, your router takes the data off of the external ip address:port number and sends that data to an internal ip address:port number. Port Forwarding rules are created per port. So a rule set up for port 53 will only work for port 53.

A port can only be used by one program at a time! Think of how this rule interacts with NAT. Well you've only got one external ip address on your router. When computer 1 is using port 500, it is using port 500 on it's internal ip address. If you have set up a port forwarding rule for computer 1 and port 500, the external ip address's port 500 is also in use. This means that you can only use port 500 on one computer on the network at a time. Using port 500 on two computers at the same time would violate the one program rule, and your data would get messed up. Most routers require you to specify an internal ip address to forward ports to, just for this reason. Some do not, so be aware of this. Port Forwarding rules will only work for one computer at a time!

Port Triggering

Port triggering is pretty simple once you know what port forwarding is. Port Triggering is port forwarding with an on/off switch for the ports that have been forward. This on/off switch is turned on or off by data flowing out of a trigger port.

TriggerPacket.jpg


Let's say that there is a port triggering rule configured in the router. This port triggering rule says when data flows out on port 50 forward port 80. In the picture above you see data flowing from a computer to the internet on port 50.

TriggerForward.jpg


The router see's the traffic coming out of the router on port 50, and evaluates it's triggering rules. The router then forwards port 80 to the computer that sent out the data on port 50. It's important to realize that port 80 can only be forwarded to one computer at a time. If two computers were trying to send data out on port 50, there would be a conflict. What happened after that really depends upon which router you are running. One thing is for sure, port 80 would not be forwarded to both computers.

TriggerNoOut.jpg


The picture above shows that the data has quit being send out of port 50. Programs do not send data if there is nothing to be sent, so data being sent out of port 50 is not gaurnteed. The router keeps port 80 forwarded for a certain amount of time. How much time really depends upon the router.

TriggerNoForward.jpg


Once the router is done waiting, it quits forwarding port 80 to the computer that sent data out on port 50. Making a port triggering configuration work is a tricky thing. The software that requires ports to be forwarded must first send data out of a port at a somewhat constant rate. If the software has a port that is constantly sending data out, then port triggering is possible. The length of time that the router keeps those ports open still needs to be taken into account. If the router times out between the gaps of outgoing data, the port forwarding connection will be severed. That is why so few programs support port triggering. What happens when you are trying to download a very large file? Well the software you have setup port triggering for may not keep sending data out of the trigger port. If it doesn't your router closes the incoming ports, and your download is interrupted.

Port Triggering is a little more secure than port forwarding, because the incoming ports are not open all the time. They are only open when a program is actively using the trigger port. Another thing to note, is that most port triggering setups do not require you to enter an internal ip address to forward the incoming ports to. This means that any computer on the network can use your port triggering setup. If two computers try to use the port triggering setup at the same time you will run into problems.

What does PortTrigger do

The concept behind PortTrigger is very simple.

TriggerPacket.jpg


PortTrigger provides a constant stream of outgoing data on whatever port you specify. Since you can now guarentee constant data flowing out of your router on a specified port, port triggering will work with all software. The concept behind PortTrigger is very simple.

TriggerForward.jpg


All of a sudden you can use the port triggering section of your router to forward ports for any software. It doesn't matter if that software supports port triggering or not. It doesn't matter how long your router waits before shutting off the forwarded ports, because the data sent out by PortTrigger is constant. In the end you get the security benefits, ease of use, and expanded router capacity of port triggering, and you do not have to worry about router timeouts or software that doesn't support port triggering.

Jason Bauer

Jason Bauer

Jason Bauer is an owner and programmer for PortForward. You can find more of his articles in the Games and Applications section of our site.