Port Forwarding is a method of controlling the flow of data, towards or away from a computer, that is connected to the Internet. Forwarding is opening up of computer networking ports for data inflow or outflow through a firewall or router configuration.
Most operating systems have a built-in firewall that controls the access rights to your computer. Akin to trade ports in the real world, communication on the Internet is handled through ports which are devoted to various Internet protocols.
A computer port is a software construct which serves as a communication portal for a particular application and Internet protocol. Every service offered on the Internet is through a numbered port, which is specifically devoted to it. Forwarding ports is instructing the firewall software to open them for communication.
For example, web site pages are routed to your computer through port number 80 and it is devoted to the Hypertext Text Transfer Protocol (HTTP). On the other hand, data traffic based on File Transfer Protocol (FTP) is routed through port number 21. The rule is that only one port can be used for one program, at a time.
What is it used for?
There are many applications of this facility. It may be that you have a network of computers connected to the Internet and you want specific data routed only to a specific computer.
In such a case, forwarding allows you to open specific ports on the network for communication by configuring the network router. Be it simple or wireless forwarding, the basic idea remains the same. Specific ports are configured for routing of specific data packets.
Forwarding makes division of work among allied web servers possible by assigning separate ports for each job. For example, a web server may be hosting a site and there may be another server for handling requests for online games.
Through forwarding, game requests are routed to the game server, while web page requests are routed to the web server. This is how workload is divided and efficiency of a site is enhanced.
It also secures your computer from unauthorized external access by allowing it to occur only through specific ports. It can also speed up routing of data as less time is wasted in determining its destination, when the data packets arrive at the router.
Web proxy servers use it to make sure that there is no direct connection between the client computer and the Internet. It helps in protecting the client from unauthorized external access to its resources. Forwarding can be effectively used to conduct web TCP traffic through secure SSH (Secure Shell) connections. This enables the encryption of web traffic.
This explanation has only touched the bare essentials of the subject. To know about implementation, you must study data routing on the Internet quite deeply. One way of forwarding ports on your home computer is opening ports through your firewall for communication.