Home-> Support & Service
Support & Service
What is Port Forwarding?

 

If you are new to networking, there are some basics you should understand before you can fully grasp the concept of port forwarding. Don't worry, we'll take it slow!
  1. Every device on the internet has at least one IP address.
  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.
  3. A port can only be used by one program at a time.
With that out of the way, we should talk about NAT. NAT, or Network Address Translation, is a technology that allows each device on your network to have its own IP address.
 
While each device in your network has its own IP address, from the outside, every request coming out of all of those devices appears to be coming from the single publicly visible IP address assigned to you by your Internet Service Provider.
 
Lets say you want to browse the web. We suggest port forwarding. When you click the link, the request doesn't go straight out to the Internet. Instead, the request goes to your router, which makes a note of which internal device is requesting the information, then sends that request out to the Internet. When our web server responds, your router will know exactly which device to relay that response back to.
 
It works exactly the same in reverse! When a computer on the Internet requests, for example, a web page from your IP address, your router needs to figure out which internal device is a web server so the request can be filled. NAT can handle such requests in certain circumstances. For the rest, you need to know about port forwarding.
Luckily, you have almost all the information you need already. What if your router just doesn't know which internal device has a web server running? All you need to do is tell it: "Router, please send any requests for web pages to my server." That's what you'd say if this were Star Trek, but we're not quite there yet, so for now you need to sign in to your router's configuration utility and tell it which services are running on which internal devices.
 
For example ... Have an IP camera running on an internal computer with IP address 192.168.1.239 and HTTP port 81? Tell your router to FORWARD all requests that come in on port 81 to 192.168.1.1239. Need your IP camera to be accessible to the public? Forward port 81.
 
Sure, you can get complicated if you want, but for the most part it's just that easy.
 
Oh, you want to complicate things? Have TWO IP cameras running? Well, port forwarding can still come to the rescue. See, while each of your IP Cameras might be answering on port 81 (192.168.1.239:81, 192.168.1.240:82), you can still make them both accessible on the Internet.
 
Say your public IP address is 202.14.25.21. You can make up a forwarding rule in your router that says that all requests to http:// 202.14.25.21:81 should be forwarded to 192.168.1.239:81, and all requests to http://202.14.25.21:82 should be forwarded to 192.168.1.240:82! No need to pick and choose. That works when we have the easy ability to change the port that is requested as in the example above. A bigger problem arises when you can't change the requested port, perhaps because you're using an application that won't allow you to specify an alternate port. Remember #3 way up above? It says that a port can only be used by one program at a time, so if we want to have two web servers, we can't have them BOTH answer on 202.14.25.21:81. The router wouldn't know which internal device to forward the request to! This is a reasonably big pitfall for those new to port forwarding.