La traducción de la dirección de puerto es un medio para que varios dispositivos de una red privada compartan una dirección de red pública. Es una función de dispositivo de red que modifica los paquetes de Protocolo de Internet (IP) entrantes y salientes. La dirección IP y el número de puerto se modifican, lo que evita que la red pública acceda directamente a los hosts de la red privada. Los enrutadores de red utilizan la traducción de direcciones de puerto para compartir una dirección de Internet pública con todas las computadoras de la red local. Esto conserva las direcciones IP públicas en lugar de requerir una para cada computadora local que necesite acceder a Internet.
Este proceso traduce los paquetes del Protocolo de control de transmisión (TCP) y del Protocolo de datagramas de usuario (UDP). Cada paquete contiene una dirección IP de origen y un número de puerto de origen. También incluye una dirección IP de destino y un número de puerto de destino. La traducción de direcciones de puerto, también conocida por el acrónimo PAT, crea una tabla que asigna direcciones y números de puerto a medida que se utilizan. Esta tabla se guarda en el dispositivo PAT, que puede ser un enrutador de hardware, un firewall de software o un dispositivo similar.
Cuando una computadora en la red local envía un paquete a la red pública, el dispositivo PAT puede alterar sus datos de encabezado. La dirección de origen real se reemplaza con la dirección IP del dispositivo de traducción de la dirección del puerto. El dispositivo PAT asigna un nuevo número de puerto para la conexión de la computadora de origen a la red pública. El número de puerto de origen real en el encabezado se reemplaza por el recién asignado. De esta forma, el paquete saliente se modifica para que parezca que viene directamente del dispositivo PAT.
Para un paquete saliente, la tabla de traducción de la dirección del puerto guarda una copia de la dirección de origen, el puerto de origen y el puerto asignado. Se puede usar el mismo número de puerto para cada paquete con esa dirección y puerto de origen, simplemente haciendo una búsqueda en la tabla. Cuando la red pública responda, enviará paquetes a la dirección IP del dispositivo PAT en el número de puerto asignado. El dispositivo PAT reemplazará esa dirección de destino con la dirección privada real de la tabla de búsqueda. También reemplazará el número de puerto en el encabezado del paquete con el número de puerto real de la tabla.
La traducción de direcciones de red (NAT) es un método relacionado para mapear direcciones IP. La traducción de la dirección de puerto es en realidad un subconjunto de NAT llamado NAT sobrecargado. PAT a veces se denomina NAT o traducción de puerto de dirección de red. Existen variaciones de NAT que asignan solo direcciones IP o solo direcciones de origen y números de puerto de origen. Otros formularios asignan solo direcciones de destino y números de puerto de destino, o ambos tipos de puertos y direcciones.