Posted September 28, 2009 by Spyros in General Tips & Tricks

N.A.T. (Network Address Translation) and Port Forwarding Explained


Many people who are pretty new to computers, hear this term when they obtain there adsl connection. They most times try to download something using torrent programs or DC++ hubs and they have the problem that they cannot seem to connect at no way.
Then , they probably search the internet to find a solution or ask a person and the answer is, “do port forwarding”.

But What is Port Forwarding?

I’ll try to describe it as simply as possible. When you buy an adsl internet connection from a company, you always get a router-modem that connects to the internet and you plug your computer to it in order to get internet access. However, the internet company does only give you ONE static ip with which you connect to the internet. Therefore, you can’t have two different computers, modems and such connected at the same time.

Nevertheless, your computer AND modem are both connected to the internet at the same time. Since they can’t have the same IP simultaneously, how is this possible?

NAT comes to the rescue. It’s a a technique that makes your router able to act as a proxy, as a middle man between the internet and your local network. Now this is great because with just an IP you can give internet access to as many devices as you have available in your lan, but there’s also a very important problem.

What happens if i want my computer to act as a server? After all that is what peer to peer programs like torrents do. A person opens a port and another one connects to it and receives the file. Or it could be that i have a server and want to start a web server. How would my modem know which of my computers really acts as a server? Imagine the following scenario:

Your internet modem has the ip and your computer the ip Now, you have a web server at your computer. Somebody from the internet tries to reach your web server and therefore makes a request at your INTERNET IP(probably dyndns or such). Now the request arrives at your modem and then? The modem does not know what to do with it. Where to pass it to? As a modem, such an http request probably means nothing and therefore is dropped.

So, port forwarding is there for us. We inform the modem that when an incoming request at our web server port(that is 80) arrives, it HAS TO send it to, the computer at our internal network.

Now you understand why you have to supply a port at bittorrent and such and you have to port forward it to your modem to, so that it sends the traffic at your computer. So, if you need to do that at your modem, remember that you need to know two things: The forwarding port and the destination address(that is a local network ip).

Thanx for reading, i hope i gave you some insight and as always if you need to ask anything, please leave a comment  :)