Getting technical: Network Address Translation
June 18 2007
The Internet is expanding at an exponential rate. As the amount of information and resources increases, it is becoming a requirement for even the smallest businesses and home user to connect to the Internet. One of the biggest problems inherent in all this growth is that we are running out of usable/public IP (Internet Protocol) addresses, which allow systems to be connected together over the Internet. So is there a solution? Yes, just NAT!
Network Address Translation (NAT) is a method of connecting multiple computers to the Internet (or any other IP network) using as few as one IP address. This allows anyone (home users, businesses, etc.) to connect their entire network to the Internet cheaply and efficiently by only consuming one public IP address.
In its most common configuration, NAT maps all of the private IP addresses on an "internal" network to a single IP address on a "public" network such as an Internet connection supplied by an Internet Service Provider (ISP). This allows computers on the Local Area Network (LAN) to share a single address which results in everyone being able to connect to the Internet at that same time. Additionally, this process also provides some security by limiting the access of external computers into the internal IP network by hiding the internal network behind the external address.
Think of NAT as being analogous to the old telegram system. In those days, when you wanted to send a message to someone in a far off town, you would use a telegram. The message would get "encoded" and sent down the wire where it would then be "decoded" and relayed to the intended recipient. The recipient then could respond to your message in kind and this process could continue without end. What's important to understand is that at no point did you actually communicate directly with the intended recipient -- instead, the message was "proxied" back and forth through the telegraph operators.
NAT functionality is usually found on hardware based routers, firewalls and devices that connect different networks together. NAT can also be implemented entirely in software, such as Microsoft's Internet Connection Sharing (ICS), which adds NAT support to the Windows operating system.
By itself, NAT does not provide all the features of a true firewall, and should never be used in place of a solid firewall device -- NAT was originally designed to conserve public Internet address space, not for security purposes!