Let us take a case of Intercom telephone network in an office or company for clear understanding of the subject. A telephone network system usually consists of several terminals (i.e. telephones) and a PABX board where from all the terminals are extended. The terminals are all connected to and all calls are made through this PABX Unit. The PABX Unit also assigns internal telephone number extensions (usually 2-4 digits long) for each terminal, which are private telephone numbers only available for terminals within the telephone network. Those internal telephone number extensions allow terminals within the office/company to reach each other by simply direct dialing each others internal number extension. Further, outside users will not be able to reach their desired destination by dialing an internal telephone number extension.
Now,when one of the terminals within the telephone network initiates a call to an external destination, the PABX Unit assigns this terminal the network external telephone number for as long as the call lasts. The external destination identifies the initiator terminal by the terminal external telephone number. For the external destination, there is no way of knowing that this call was made from within an internal telephone network.
When a call is received from an external destination, it first goes through the telephone PABX Unit. Some offices chose to direct every incoming call to a manned operator, and others chose to have an automated routing system which asks the caller for the extension. In either case, the outside caller needs to know his destination, either by its extension number or by its name.
A computer network system, used mainly to share a single Internet connection, works in a very similar way. A computer network system consists of several terminals (i.e. desktop computers, laptop, etc.) and a PABX Unit called a router. The terminals are all connected to the router and all internet traffic goes through the router. Just like in the telephone network system, where every terminal is assigned a private telephone number extension, in the computer network, every terminal is also assigned a private number referred as IP number. An IP number is an Internet Protocol (IP) Address and a port number pair. Similar to the telephone network case, these IP numbers are only available from terminals within the network and not to the outside Internet world.
When initiating an Internet connection request from one of the network terminals, the router assigns the initiator terminal endpoint, the public IP address of this network to this connection for as long as this connection lasts. The public IP address is the external telephone line number which the Internet Service Provider (ISP) assigned to this computer network.
When initiating an Internet connection from within the network, the outside Internet world identifies this connection as if it was arriving from the network public IP address. For the outside word, there is no way of knowing that this connection was initiated from within a network.
Things are more complicated when an Internet connection request arrives from the outside internet world. Similar to the telephone network case, all incoming internet connection requests first arrive to the router. It is up to the router to decide to what private endpoint address on the network to route each connection request. Most routers route incoming requests according to the request's port number. For instance, when an Internet connection arrives on port number 80, the router will identify this request as HTTP request (i.e. request for downloading a web page), and will direct this request to the private endpoint address of the computer which hosts the HTTP web server on the network.
How does the router know that port number 80 is used for HTTP? And how does the router know what is the private endpoint address of the computer hosting the HTTP web server on the network?
This information must be manually configured to the router.
Manual router configuration is also required for many other services such as FTP servers, Remote Desktop applications, Voice over IP, games and many others. In addition, a router must be reconfigured every time the private endpoint addresses changes, which will occur in both wireless and wired networks that use DHCP to assign internal addresses.
However, the port forwarding is necessary for only those Dataone Connections which use Router Mode Configuration. For bridge mode with no firewall on the modem/router it is a open house and no port forwarding need be done. (I strongly suggest to configure the firewall in the router and on your system properly, in case you are using the bridge mode and wanting to run a particular application which allows incoming connections from the external world.) It is only required in case the modem is configured in router mode and one needs to run a specific application on a system (in the network or a single computer) which needs to contact the external world or for external world to contact an application on the particular system. In case of a subscriber wanting to run a web server on the local machine and launch a forum let us say, the subscriber needs to forward port no. 80 to achieve the same. Then the machine behind the router will be able to serve web pages on request to the external world.
Different routers follow different style to forward the ports. You need to logon to the router's web interface to carry out the port forwarding. There is a wonderful place on the internet, www.portforward.com which has all the required information with step by step screen shots as to how to achieve this port forwarding. Port forwarding of almost all the modems/routers are explained with easy to follow instructions and the necessary screen shots. I recommend you to visit the site in case you need to forward a port or learn more about port forwarding. The list of all the routers can be accessed from www.portforward.com.