La idea básica que hay detrás de
NAT es traducir las IPs privadas de la red en una IP publica para que la red
pueda enviar paquetes al exterior; y traducir luego esa IP publica, de nuevo a
la IP privada del pc que envió el paquete, para que pueda recibirlo una vez
llega la respuesta. Con un ejemplo lo veremos mejor.
Imaginemos que tenemos nuestra
siguiente red:
Podría ser la típica red casera
en la que tenemos un par de PCs que salen a Internet a través del router. Cada
PC tiene asignada una IP privada, y el router tiene su IP privada (puerta de
enlace) y su IP pública (que es nuestra IP de Internet). Cuando uno de los PCs
de la red local quiere enviar un paquete a Internet, se lo envía al router (o a
la puerta de enlace o gateway), y éste hace lo que se conoce como SNAT
(Source-NAT) y cambia la dirección de origen por si IP pública. Así, el host
remoto sabrá a qué IP pública ha de enviar sus paquetes. Cuando una respuesta o
un paquete pertenecientes a esa conexión llegue al router, éste traducirá la
dirección IP de destino del paquete (que ahora es la IP del router) y la
cambiará por la dirección privada del host que corresponde, para hacer la
entrega del paquete a la red local.