2012年2月3日 星期五

What is Port Triggering?

If you have not read my explanation of port forwarding do so now. You can find it here.
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 forwarded. 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 sent 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 guaranteed. 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. This makes a port triggering configuration 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.

沒有留言:

張貼留言

How to use simple speedtest in RaspberryPi CLI

  pi@ChunchaiRPI2:/tmp $  wget -O speedtest-cli https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py --2023-06-26 10:4...