Tutoriales

Modo NAT: qué es y para qué sirve

Por si no lo sabéis, todos o casi todos los que ahora estáis leyendo este artículo estáis accediendo a Internet a través del modo NAT. Entre otras cosas, es una configuración que aísla nuestra red de la red de redes, para que de esta forma naveguemos de forma más segura y sin que conozcan nuestras IP internas.

Modo NAT paso01

Vamos a explicar de la forma más detallada posible en qué consiste NAT y cómo se relaciona con otros conceptos de red como las direcciones IP y cómo lo hace nuestro router. Seguramente si has hecho virtualización alguna vez, también te sonará este concepto a la hora de configurar la red de la máquina virtual, pues es prácticamente lo mismo.

Qué es el modo NAT

En redes, NAT significa Network Adress Translation o Traducción de direcciones de red en español. Se trata de un sistema que se utiliza en las redes bajo el protocolo IP y que nos permite el intercambio de paquetes entre dos redes que tienen asignadas mutuamente direcciones IP incompatibles.

Este puede ser el caso de tu red doméstica y la red de Internet, siendo necesario el modo NAT para que puedas llegar a conectar a la red global y así recibir o enviar información a ella. Si lo habéis pensado, la mayoría de usuarios tenemos las mismas direcciones IP dentro de nuestra casa, las típicas 192.168.1.xxx, o las que nosotros decidamos configurar en el router en un momento dado. Entonces os preguntaréis: si son las mismas IP ¿por qué el paquete de datos no le llega al vecino en lugar de a mí?

Modo NAT paso02

Pues aquí es donde actúa el NAT, ya que oculta todo el espacio de direcciones IP privadas detrás de una sola dirección IP, o unas cuantas en función del modo NAT que se utilice. Esta sería la dirección IP pública del router, la que realmente conecta nuestra red interna a la red externa. Cuando el paquete de información llega a nuestro router, realmente lo ha hecho al tener información sobre esa IP pública. Será por tanto el router el que analice el paquete y compruebe si efectivamente hay un destinatario dentro de su red que está pidiendo esta información y la dejará entrar.

En un NAT básico o NAT One-to-One todos los paquetes que entran y salen de nuestra red interna necesitan ser modificados en ciertos apartados para adaptarse a su circulación por la red pública. Serán los siguientes:

  • Direcciones IP de origen y destino
  • El checksum o suma de comprobación de la cabecera IP para enrutar el paquete por la red
  • Sumas de comprobación de nivel superior
  • Otros elementos si el protocolo es de capas superiores a la de transporte del modelo OSI (TCP)

NAT vs IPv6

Posiblemente los días del modo NAT estén contados en el momento en el que se estandarice totalmente el uso de IPv6. Se trata de la versión 6 del protocolo IP que pretende terminar de una vez por totas de la escasez de direcciones IP a nivel mundial.

A diferencias de IPv4 que soporta un máximo de 232 = 4 294 967 296 hosts gracias a su cadena de 32 bits, IPv6 utiliza nada menos que 128 bits, lo que viene a ser 2128 = 340.282.366.920.938.463.463.374.607.431.768.211.456 hosts, ahí es nada. De esta forma, cada host podría tener una IP pública propia permanente y así eliminar la necesidad de traducción de direcciones.

Y si a alguien le preocupa la seguridad, este nuevo protocolo implementa características de seguridad más avanzadas de forma nativa que compensan la ausencia de NAT al cifrar toda la comunicación.

En la actualidad, todos los equipos conectados a la red, o al menos todas las tarjetas de red que soportan este protocolo, ya cuentan con direcciones IPv6 asignadas. El problemas es que todavía la implementación no ha sido realizada por completo, así que se continúa utilizando IPv4 en nuestras conexiones.

Tipos de modos NAT más utilizados

Ahora toca ver los modos NAT más utilizados en redes, ya que uno de ellos será especialmente útil para nosotros al ser el que se utiliza en el router de casa, más concretamente el NAT de Sobrecarga. Tenemos por tanto los siguientes:

NAT Estática

Este es el modo más sencillo de ver, también llamado NAT One-to-One. Consiste en que una dirección IP privada siempre se traduce a una misma dirección pública.

Como os podéis imaginar, será especialmente útil en los servidores y dispositivos que deben ser visibles en la red global. Estos cuentan con una dirección privada directamente traducida a una IP pública fija visible para el resto del mundo.

NAT Dinámica

En este caso la dirección IP privada se traduce a una IP pública de una lista que tenga el router. De esta forma cuando una determinada IP privada quiere acceder al exterior, el router comprueba en su lista propia cuál es la IP pública que está libre para asignársela.

Esto añade mayor seguridad para los hosts que pertenezcan a esa red privada, ya que permite enmascarar la configuración interna de la red la ser IP asignadas aleatoriamente. Lo que sí debe asegurarse en este modo NAT es que todos los host, al menos puedan tener una IP pública asociada en el caso de que todos ellos se conecten a la vez.

NAT de Solapamiento

Este modo NAT se utiliza cuando las direcciones IP privadas de una red, coinciden con las direcciones IP públicas de otra. Para que no exista solapamiento o conflicto entre ellas, el router cuenta con una tabla de traducciones para asignar una IP pública única a la conexión.

NAT de Sobrecarga

Modo NAT paso03

El último quizás sea el más importante o útil en lo que se refiere a nuestra red privada doméstica, ya que es el modo NAT que usa nuestro router. Sin duda el más utilizado por utilizar también puertos, además de IP para la traducción. Por ello recibe también el nombre de Port Address Translation o PAT.

En este caso, nuestro router solamente tiene asignada una dirección pública a la vez, y esta incluso puede ser dinámica al asignarse por DHCP cuando el router se arranca. En teoría, un router podría coger una IP pública distinta cada vez que se encendiera. Pero en la práctica, se asignará casi siempre la misma IP por estar ya asociada al router con anterioridad mediante la MAC. Es exactamente lo que ocurre cuando un router le asigna la misma IP a nuestro PC cada vez que se enciende.

Sin desviarnos mucho del tema, al tener una misma IP pública y dentro de la LAN un indeterminado número de clientes se utiliza el multiplexado a nivel de puerto para establecer las conexiones. De esta forma se puede realizar varias conexiones de forma simultánea con la misma IP pública solamente variando el puerto para que no haya conflictos. Mejor veámoslo en un ejemplo.

Funcionamiento en nuestro router

Modo NAT paso04

Este modo NAT de sobrecarga permite comunicarnos con el exterior sin desvelar la IP privada que tiene nuestro equipo. Esto lo hace a través de una IP pública que tiene asignada el router para salir a Internet, es todo bastante intuitivo.

Imaginemos que subimos una foto a Instagram desde nuestro equipo, para ello nos tenemos que conectar a la IP del servidor a donde se guardará la foto. Nuestro PC tiene la dirección privada 10.0.0.3, y se pone en contacto con el router para enviar el paquete.

Este paquete además tiene asociado un número de puerto de origen, por ejemplo el 80 si estamos en nuestro navegador. A continuación, el router detecta que nuestro equipo desea comunicarse con una remota perteneciente a Internet, así que coge el paquete y le reasigna la dirección IP pública de nuestra conexión y un puerto escogido al azar de entre los 65.536 que hay disponibles y que no esté en uso.

Finalmente el paquete se envía a la red de Internet hasta llegar a la IP pública del otro extremo. Dependiendo del modo NAT que utilice, hará un proceso de traducción similar de IP y de puerto para almacenar la foto en uno de los servidores (con su IP privada) que haya detrás de la IP pública de Instagram.

Modo NAT paso05

El proceso contrario será el mismo, cuando un paquete llega a nuestro router a través de una dirección IP y un puerto al azar, este analiza si el paquete va destinado a algún nodo de su red interna mediante la información de la cabecera. Si es así, cambiará de nuevo al puerto al que corresponda, por ejemplo el 80 si debe verse en el navegador, y la dirección IP de destino a la IP interna de nuestro PC. De esta forma, el proceso concluye.

NAT asociado a jugar online

Modo NAT paso06

Para aquellos que se dedican a jugar online, quizás se hayan percatado de que el modo NAT irremediablemente va a tener influencia en la velocidad, y sobre todo en la latencia de la conexión. Y es que el router debe estar traduciendo continuamente los datos entrantes y salientes de nuestra conexión para mantener la privacidad y demás, lo que añade un tiempo de procesamiento extra.

El modo NAT del router es fijo y en principio debe mantenerse tal y como está, al menos para salvaguardar nuestra red LAN. Pero en el ámbito de las consolas y el juego online suele ser bastante habitual referirnos al modo NAT de conexión de la misma, el cual tendrá influencia sobre el rendimiento competitivo que obtengamos.

Al final del día, una consola es un equipo más dentro de la red, que dependiendo del juego en cuestión, incluso requerirá que abramos determinados puertos en el router para establecer la comunicación. De aquí surge también la definición de redireccionamiento NAT para hablar de puertos y conexión entre la consola el router. Hay tres tipos de NAT:

  • NAT de cono abierto o Full-Cone NAT: este modo asigna a una dirección IP y puerto internos una IP y puerto externos diferentes. De esta forma la comunicación es directa entre origen y destino. Digamos que es la antesala de hace un DMZ y abrir todos los puertos, así que es el método más rápido pero menos seguro.
  • NAT de cono restringido o Restricted-Cone NAT: en este caso solamente IP y puerto externo se abrirán cuando queramos comunicarnos con una IP fuera de nuestra red. De esta forma el NAT bloquea todo el tráfico externo que no tenga como destino esta IP interna.
  • NAT de cono restringido de puertos o Port-Restricted Cone NAT: este modo NAT bloquea todo el tráfico salvo el momento en el que nuestro equipo haya enviado antes paquetes a una IP y puerto específicos. Solamente esta IP externa y puerto tendrán acceso.

La opción más habitual es la segunda, ya que la primera deja demasiado expuesta la red y la segunda deja bastante poco margen de operación. En este caso nos podremos asegurar de que tanto en host como router esté activo el UPnP (Universal Plug and Play) para tener una mejor comunicación dentro de la red interna con dispositivos de distintos fabricantes.

NAT asociado a la virtualización

Finalmente aplicamos el modo NAT también a los sistemas de virtualización, aunque como su propio nombre indica, se realiza de una forma virtual y no física como en el router.

Modo NAT paso07

El objetivo aquí es exactamente el mismo, al igual que ocurre en una conexión entre el router y el PC, NAT crea una conexión a Internet en la máquina virtual a partir de la máquina real. La dirección IP por tanto la da el propio host a la VM, creando así una subred interna gracias a la instalación de un adaptador que hace la función de router virtual. En definitiva, la VM sale a Internet con la IP de la máquina real como si esta fuera la IP pública. Claro que realizará un nuevo NAT en el router físico tal y como ocurre en una LAN real.

Los otros modos de conexión disponibles en un sistema de virtualización serán estos:

  • Bridget o modo puente: la máquina virtual obtiene la IP directamente del router real a través de otra interfaz de red virtual. Esto será útil para abrir puertos a un servidor virtual al considerar que está añadido a la misma red LAN que los equipos físicos.
  • Modo Host-Only: se establece una conexión entre el host y la máquina virtual sin salir a Internet. La VM solamente pertenece a una red interna local virtual en donde podrían verse las distintas máquinas virtualizadas.

Ventajas e inconvenientes del modo NAT

Como es habitual en este tipo de artículos informativos, vamos a terminar dando las que serían las principales ventajas y desventajas de realizar una NAT.

Estaremos de acuerdo en que la principal ventaja es la enorme cantidad de direcciones IP que nos ahorramos al implementar el concepto de dirección privada para sacar a Internet una enorme cantidad de equipos pertenecientes a una LAN. De esta forma es como hasta ahora se ha conseguido subsistir con IPv4 en un mucho totalmente digitalizado.

Ventajas

  • Los equipos conectados a través de una NAT no son visibles desde el exterior a menos que abramos algún puerto concreto para ellos usando NAT estática. Así que en teoría, los hosts de una red interna no serán visibles desde el exterior
  • Funciona perfectamente con la mayoría de protocolos de comunicación, especialmente con TCP y UDP que son los más utilizados en las redes actuales.
  • Además, requiere una mínima modificación de los elementos de la trama en configuraciones simples, lo que mejora el rendimiento del tráfico en la red.
  • Sencillo de configurar y a bajo coste al estar directamente implementado en todos los routers domésticos del mercado. Ya comentados con una configuración NAT al momento de instalar nuestro router y conectarnos a Internet.
  • En consecuencia de lo anterior, no requiere hacer ningún tipo de mantenimiento ni configuración de la red. Desde el punto de vista de los administradores de red, para hacer un mantenimiento de alguna sección, solamente deben modificar la tabla de reenvío del router para canalizar el tráfico y aislar esa sección.
  • Viabilidad para hacerlo incluso de forma virtual para sistemas de virtualización como VMware, VirtualBox, etc.

Inconvenientes

  • El hardware de los routers ha mejorado mucho, pero en NAT es siempre obligatorio recalcular la IP y el checksum de los paquetes entrantes y salientes de la red. Esto al final se traduce en un incremento de lag y disminución de rendimiento.
  • Todavía quedan protocolos de comunicación en capas superiores que no son compatibles con el modo NAT. Un ejemplo claro es el protocolo ICM, el cual necesita el puerto de origen del paquete de datos y el router no lo modifica en la entrada y salida.
  • Algunos inconvenientes a la hora de jugar Online por la necesidad de tener el mejor ancho de banda y latencia posibles

Conclusiones

Con esto terminamos este pequeño artículo sobre el modo NAT y sus principales características y funcionamiento. En algún momento de la historia no muy lejano, IPv4 dejará de tener aplicación en el mundo del Internet de las Cosas, y será cuando IPv6 entre de lleno para eliminar la necesidad de utiliza este método de traducción de direcciones.

Ahora os dejamos con algunos artículos de redes que nos parecen interesantes:

José Antonio Castillo

Graduado en Ingeniería en Tecnologías Industriales. Amante de la informática, el gaming y casi cualquier deporte de motor.
Los datos de carácter personal que nos facilite mediante este formulario quedarán registrados en un fichero de Miguel Ángel Navas Carrera, con la finalidad de gestionar los comentarios que realizas en este blog. La legitimación se realiza a través del consentimiento del interesado. Si no se acepta no podrás comentar en este blog. Puedes consultar Política de privacidad. Puede ejercitar los derechos de acceso, rectificación, cancelación y oposición en [email protected]
Botón volver arriba