Descripción y funcionamiento del protocolo de traducción de direcciones de red (NAT)
En los siguientes apartados se conocerá cómo los dispositivos hosts que trabajan en redes privadas se comunican con hosts externos a través de Internet.
Explicación de sus objetivos y funcionamiento
El Protocolo de traducción de direcciones de red (NAT) es el proceso que convierte direcciones IP privadas en direcciones enrutables para Internet, es decir, en direcciones IP públicas.
Por lo tanto, a través de NAT se consigue comunicar los hosts de una red interna con Internet.
Los routers además de proporcionar una dirección privada a cada cliente de la red local, reciben a su vez una dirección pública del ISP que les permite enviar y recibir datos en Internet. Dado que las direcciones privadas no se permiten en Internet, es necesario el estándar NAT.
Aunque el objetivo del Protocolo de direcciones de red NAT es traducir, se obtiene una serie de ventajas para redes locales:
- Un gran grupo de usuarios privados puede acceder a Internet compartiendo la misma dirección IP pública. Así se reduce la cantidad de direcciones IP necesarias para conectar a Internet.
- Se consigue una mayor seguridad. NAT puede evitar que los servidores, PC y dispositivos de red tengan acceso directo a Internet.
- Oculta las direcciones IP privadas a las redes públicas. Usuarios externos no podrán acceder a dispositivos internos sin realizar las configuraciones necesarias.
Proveedor de servicios de Internet. Se trata de la empresa o compañía que proporciona el servicio de Internet.
Libro: Administración de Redes Telemáticas. David Arboledas Brihuega
Para las redes locales, el uso de NAT ofrece varias ventajas:
- Un grupo de máquinas privadas puede acceder a Internet con la misma dirección IP Pública. De este modo, se reduce el número de direcciones necesarias para acceder a Internet.
- Mayor seguridad, pues NAT puede evitar que determinados hosts tengan acceso directo a Internet.
- Más privacidad, ya que NAT oculta las direcciones IP privadas a las redes públicas.
Ejemplificación de escenarios de uso de NAT
Un escenario muy común de NAT se da a diario en millones de hogares sin reparar en ello. En la mayoría de hogares suele haber conectados más de un dispositivo informático a la red a través de un Router, por lo que en cualquier momento que se utilice algún servicio o utilidad de Internet será necesaria la aplicación de NAT.
Un Host que envía un paquete a otro en internet
Supongamos el siguiente escenario en el que dos PC están conectados a la red. Uno de ellos con la dirección IP privada 192.168.1.106 solicita algún servicio de un servidor que se encuentra en Internet con la IP 209.165.200.226.
Cuando el paquete llega al Router del Gateway, traduce la dirección IP privada en una dirección pública del conjunto de direcciones de la NAT antes de que sea enviada a Internet.
El Router Gateway traduce la dirección IP privada a pública y procede el envío del paquete
El servidor remoto responde utilizando las direcciones traducidas como direcciones de destino (IP pública).
Independientemente del número de equipos o subredes que haya en una red Interna, el proceso siempre es el mismo. Por ejemplo, si hay un aula (subred) con 16 hosts y otra aula (subred) con 9 hosts, en el momento que cualquiera de ellos necesite algún servicio de Internet tendrá que pasar primero la Información a través del Router para que traduzca la dirección IP privada de destino a pública.
El Router del Gateway traducirá cualquier dirección IP privada de los hosts si solicitan un servicio del exterior
Tipos de NAT: estático y dinámico
La NAT dinámica asigna las direcciones externas a los clientes de la red de manera dinámica, basándose en los requisitos de uso y el flujo de sesión que NAT determine. Cada vez que termine una sesión que utilice una dirección IP asociada, NAT liberará dicha dirección para que pueda volver a utilizarse en Procesos posteriores por otros hosts.
La NAT estática asigna a una dirección privada fija de un Host interno una dirección pública fija. Se asegura que un Host individual siempre obtenga la misma dirección IP pública y dicha dirección registrada no sea traducida al resto de hosts de la red privada.
Importante! La utilidad de la NAT estática es que permite que los hosts de una red externa puedan acceder a un determinado Host de una red privada.
NAT inverso o de destino (DNAT)
DNAT (Destination NAT) se utiliza cuando reside un servidor dentro de la red interna. En esta ocasión, será un equipo de Internet el que inicie la conexión y solicitará un determinado servicio y NAT tendrá que modificar la dirección de destino.
Para permitir la conexión desde el exterior hay que añadir una entrada fija a la tabla NAT, especificando que el tráfico que llegue por un determinado puerto sea enviado a dicho servidor. El puerto es el único elemento que permite distinguir las conexiones.
Host en Internet intenta acceder a un servidor de una red interna
Traducción de direcciones de puerto (PAT)
La traducción de la dirección de puerto (PAT) es el estándar que reduce la cantidad de direcciones IP privadas a una sola global.
Al enviar un Host a otro un mensaje, se utiliza una combinación de dirección IP y el número del puerto para obtener un Registro de cada comunicación individual con el Host de destino. En PAT, el Gateway se encarga de traducir la combinación en una única dirección IP global y un número único de puerto superior a 1024. Aunque cada Host es traducido a la misma dirección IP, el número de puerto que se asocia a cada comunicación es único.
Si se establece una configuración PAT no se podrá iniciar una conexión de manera confiable desde una red externa. Además de ser imposible de deducir H número del puerto local o global del Host, un Gateway no crea una traducción a no ser que un Host de la red interna empiece la comunicación.
Importante! PAT Se utiliza para que varios usuarios accedan simultáneamente a Internet con una sola dirección IP.
Ejemplificación de configuración NAT en sistemas con iptables
Iptables es un sistema de firewall que se utiliza en las distribuciones Linux. Está integrado en el kernel (núcleo), siendo parte del sistema operativo.
Iptables permite realizar la programación de servicios NAT y listas de acceso. Los comandos básicos de iptables son estos:
- Iptables -L. Muestra el estado de la tabla.
- Iptables -A. Permite añadir una regla para que el firewall actúe.
- Iptables -D. Permite quitar una regla del firewall.
- Iptables -F. Limpia la tabla del firewall.
- Iptables -P. Permite establecer por defecto una acción determinada en una pila.
La tabla NAT tiene dos pilas:
- POSTROUTING. Establece comunicaciones desde la red interna al exterior Por ejemplo, permitir que una red interna tenga salida a Internet.
- PREROUTING. Establece comunicaciones desde la red externa a la red interna. Por ejemplo, se utiliza cuando un Host del exterior tiene acceso a un servidor interno.
Las Acciones que se pueden realizar en una tabla NAT son:
- j MASQUERADE. Realiza el enmascaramiento del trafico NAT de la forma en que la red interna sale al exterior.
- j DNAT. -to <IP>. Para que desde el exterior se pueda acceder a algún Host en concreto.
A continuación se configura un firewall a través de iptables en un sistema Linux para que la red interna ilustrada en la siguiente imagen pueda conectarse a Internet.
En primer lugar, se indica al sistema que actúe como Router. Para ello abra el terminal de Linux y ejecute los siguientes comandos:
# echo “1” >/proc/sys/net/ipv4/ip_forward
A continuación, limpie Ia configuración del firewall:
# iptables -F
# iptables -t nat –F
Limpiada la configuración del firewall, proceda a indicar a la red interna que tiene salida al exterior por NAT:
# iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -d 0/0 -j MASQUERADE
Para permitir todo el tráfico a la red interna y denegar todo lo demás introduzca el siguiente comando:
# iptables -t nat -A PREROUTING -i eth0 -p TCP --dpont 80 -j DNAT -- to 10.0.0.100:80
Descripción y usos de UDP
UDP (User Datagram Protocol) es un Protocolo de transporte no orientado a la conexión. No proporciona detección de errores, ya que trabaja sin acuse de recibo, de manera que no hay verificación de la distribución de segmentos. Pero se considera un Protocolo de máximo esfuerzo, siendo muy probable que los datagramas lleguen a su destino, aunque es posible que lo hagan de forma desordenada o que se pierdan algunos o todos.
UDP transmite segmentos en un encabezado de 8 bytes seguido de la carga útil, compuesto por los siguientes campos:
- Puerto de origen: corresponde al número de puerto relacionado con la aplicación del remitente del segmento.
- Puerto de destino: número de puerto que corresponde a la aplicación del equipo receptor.
- Longitud: indica la longitud total del segmento. Incluye el encabezado de 8 bytes y los datos.
- Suma de comprobación: permite controlar la integridad del segmento.
Puerto origen (16 bits) | Puerto destino (16 bits) |
Longitud (16 bits) | Suma de verificación (16 bits) |
Datos |
Las aplicaciones que trabajan con UDP toleran pequeñas pérdidas de datos. Generalmente, es usado por aplicaciones de transmisión de vídeo y voz. La radio o televisiones que emiten en Internet son algunas de las aplicaciones que suelen trabajar con UDP.
Nota! Si se pierde algún paquete, la retransmisión no vuelve a comenzar ni retrocede al momento exacto en él se perdió, sino que continúa la retransmisión en tiempo real tan pronto como vuelva a recibir paquetes.
Comparación entre UDP y TCP
Las principales diferencias entre TCP y UDP residen en la cantidad de sobrecarga que presentan y las funciones específicas que implementan cada Protocolo.
Comparación entre TCP y UDP
UDP tiene una sobrecarga mucho menor respecto a TCP, dado que no está orientado a conexión y no brinda mecanismos tan específicos de transmisión, secuencia y transmisión de flujo como TCP.
Otra diferencia destacable es la composición de ambos encabezados y la porción de comunicación que emplean, TCP trabaja con segmentos y UDP con datagramas. Los segmentos TCP tienen 20 bytes de sobrecarga para encapsular datos de la capa de aplicación, mientras UDP solo requiere 8 bytes de sobrecarga.
Descripción breve y función de algunos protocolos de nivel de aplicación: SNMP, DNS, NTP, BGP, Telnet, FTP, TFTP, SMTP, HTTP Y NFS
En la capa de aplicación se encuentran todos los detalles que relacionan el software de un ordenador con los usuarios de red. Los protocolos más importantes y más comunes que realizan estas funciones son los siguientes:
- SNMP: Protocolo de administración de redes que se utiliza exclusivamente en redes TCP/IP. Permite monitorizar, controlar dispositivos de red y realizar tareas de configuración, seguridad o recolección de estadísticas sobre el funcionamiento de dicho dispositivo.
- DNS: sistema que convierte las URL (nombre de páginas web) en direcciones IP y viceversa. Por ejemplo, si se escribe la dirección www. innovacionycualificacion.com en la barra de direcciones, el Host envía una solicitud a un servidor DNS, y este la resuelve en una dirección IP para que el Host pueda encontrar el servidor de dicha URL.
- NTP: Protocolo que sincroniza de un modo confiable los relojes de los dispositivos que operan en una red IP.
- BGP: estándar de enrutamiento externo que permite la agregación de ruta y se usa para conectar a un proveedor de servicios a Internet.
- Telnet: Protocolo de red utilizado en Internet o redes LAN con el objetivo de conectar a dispositivos remotos. Permite que los usuarios se registren en dichos sistemas y utilicen sus recursos como si estuviesen conectados como usuarios locales. Se suele emplear para la resolución de problemas.
- FTP: Protocolo que usa un mecanismo orientado a conexión para transferir archivos entre hosts de una red de manera confiable. Por lo general, pone archivos a disposición de otras personas para que descarguen dichos archivos.
- TFTP: se trata de una versión simplificada de FTP. Permite transferir archivos de un Host a otro de una manera menos confiable. Se utiliza para la transmisión de pequeños archivos.
- SMTP: Protocolo simple de transferencia de correo. Se basa en el modelo cliente-servidor para el intercambio de mensajes de correo electró Cuando al correo se le adjuntan imágenes y/o documentos, el Protocolo SMTP es ayudado del Protocolo MIME para conseguir el envío de este tipo de archivos.
- HTTP: Protocolo de transferencia de hipertexto. Es un estándar de comunicación que se utiliza para transferir y comunicar Información en la Word Wide Web. Establece la conexión mediante el proceso solicitud/ respuesta en Internet.
- NFS: conjunto de protocolos para un sistema de archivos distribuido. Permite acceder a unidades de almacenamiento remotas. (es un samba con control de IP)