NAT allows multiple computers to access internet resources via a gateway
method known as NAT which comes in routers (hardware devices) or software
implementations on Linux (ipchains) and other Unix variants. You can also
use NAT technology in Windows 2000 and with Windows 9x with 3rd party
software (I think WinRoute Pro is a solid choice for 9x). NAT uses private
addresses on an internal network which are interpreted by the NAT device or
software into one single public IP address for use on the public network or
internet.

NAT also allows "port forwarding" which will allow you to forward TCP/UDP
port requests to a specific internal host with a private IP address. This
action is also transparent to the client requesting the service.

The limitations of NAT are: You cannot use a single NAT device for more than
one subnet (you cannot route packets to a NAT device/software, you must be on
the same subnet as the device's internal port address). You must use Passive
FTP mode so that your client will request an incoming port for incoming data
via FTP, in traditional FTP, the FTP server assigns the port. IPSec cannot
be used (VPN: L2TP uses IPSec, must use PPTP).