Habilitar nat. NAT: configuración de traducción de direcciones de red. b) Servidor de archivos

En nuestros apartamentos, aparecen cada vez más dispositivos digitales diferentes: computadoras portátiles, tabletas y teléfonos inteligentes. Siempre que la computadora del apartamento estuviera sola y conectada directamente a la red del proveedor, no hubo preguntas. Y ahora, cuando tenga un problema: cómo conectar una nueva computadora portátil o tableta a Internet ahora. Aquí es donde entra la ayuda. tecnología NAT. ¿Cuál es la esencia de la tecnología NAT?
NATTraducción de Direcciones de Red - traducido al ruso suena algo así: "transformación direcciones de red». NAT es un mecanismo en las redes TCP/IP que permite traducir las direcciones IP de los paquetes en tránsito.
Si se expresa lenguaje simple- entonces si hay varias computadoras en red local, gracias a la tecnología NAT todos ellos pueden acceder a la red de Internet externa utilizando un externo dirección IP (IP).

¿Qué es una dirección IP?

enrutadorenrutador- funciona en el tercer nivel del sistema OSI, respectivamente, se utiliza protocolo IP- protocolo enrutable capa de red pila TCP/IP. Una parte integral del protocolo es el direccionamiento de red. De acuerdo con las reglas existentes, todos los dispositivos en la red están asignados Direcciones IP (Direcciones IP) son los identificadores de red únicos de la dirección del host. Se utilizan 2 tipos de direcciones IP: gris y blanco. Direcciones grises- esto es parte del espacio de direcciones asignado para la red local - subredes de direcciones IP 10.0.0.0/8, 172.16.0.0/12 o 192.168.0.0/16 . Todas las demás subredes son utilizadas por Internet y son direcciones IP incluidas en la lista blanca.

Cómo compartir Internet con dispositivos en su red.

Para conectar todos los dispositivos de la red local a Internet, necesita enrutador. enrutador es un dispositivo que puede conectarse a Internet a través de la red del proveedor y distribuirlo a los dispositivos conectados debido a que tiene al menos 4 puertos LAN y módulo Wi-Fi. No confunda un enrutador con un simple conmutador Ethernet, que es esencialmente un "divisor" de red tonto. Debido al hecho de que un sistema operativo tipo UNIX está instalado en el enrutador, es posible elevar Varios servicios, incluido servicio NAT. Para hacer esto, al configurar el enrutador, marque la casilla Habilitar NAT .

Entonces, ¿qué sigue? enrutador para cada solicitud que pasa por él, coloca una determinada etiqueta que contiene datos sobre el remitente en la red local. Cuando esta solicitud es respondida, enrutador by label determina a qué dirección IP en la red local enviar el paquete. eso es todo cómo funciona la tecnología NAT en pocas palabras.

2 32 o 4 294 967 296 IPv4¿Hay demasiadas direcciones? Así parece. Sin embargo, con la expansión de la informática personal, dispositivos móviles y el rápido crecimiento de Internet, pronto se hizo evidente que 4300 millones de direcciones IPv4 no serían suficientes. La solución a largo plazo fue IPv6, pero necesitaba una solución más rápida para abordar la escasez de direcciones. Y esa decisión fue NAT (traducción de direcciones de red).

¿Qué es NAT?

Las redes generalmente se diseñan utilizando direcciones IP privadas. Estas son las direcciones 10.0.0.0/8, 172.16.0.0/12 y 192.168.0.0/16 . Estas direcciones privadas se usan dentro de una organización o sitio para permitir que los dispositivos se comuniquen localmente y no se pueden enrutar en Internet. Para permitir que un dispositivo con una dirección IPv4 privada acceda a dispositivos y recursos fuera de la red local, primero se debe traducir la dirección privada a una dirección pública pública.

Y eso es solo que NAT traduce direcciones privadas a públicas. Esto permite que un dispositivo con una dirección IPv4 privada acceda a recursos fuera de su red privada. NAT combinado con direcciones IPv4 privadas demostró ser método útil mantenimiento de direcciones IPv4 públicas. Una dirección IPv4 pública puede ser utilizada por cientos, incluso miles de dispositivos, cada uno con una dirección IPv4 privada. NAT tiene el beneficio adicional de agregar un grado de privacidad y seguridad a una red porque oculta las direcciones IPv4 internas de las redes externas.

Los enrutadores habilitados para NAT se pueden configurar con una o más direcciones IPv4 públicas válidas. Estas direcciones públicas se denominan grupo NAT. Cuando un dispositivo en la red interna envía tráfico desde la red al exterior, el enrutador habilitado para NAT traduce la dirección IPv4 interna del dispositivo a la dirección pública en el conjunto de NAT. Para los dispositivos externos, todo el tráfico que entra y sale de la red parece tener una dirección IPv4 pública.

Un enrutador NAT generalmente funciona en el borde Talón-redes. Una red stub es una red stub que tiene una conexión a una red vecina, una entrada y una salida de la red.

Cuando un dispositivo dentro de la red Stub quiere comunicarse con un dispositivo fuera de su red, el paquete se reenvía al enrutador de borde y realiza un proceso NAT, traduciendo la dirección privada interna del dispositivo a una dirección pública, externa y enrutable.

Terminología NAT

En la terminología NAT, una red interna es un conjunto de redes para traducir. La red externa se refiere a todas las demás redes.

Cuando se usa NAT, las direcciones IPv4 tienen designaciones diferentes según se encuentren en una red privada o en una red pública (en Internet) y si el tráfico es entrante o saliente.

NAT incluye cuatro tipos de direcciones:

  • Dentro de la dirección local;
  • Dirección global interna;
  • Fuera de la dirección local;
  • Dirección global externa;

Al determinar qué tipo de dirección se está utilizando, es importante recordar que la terminología NAT siempre se aplica desde el punto de vista del dispositivo con la dirección traducida:

  • dirección interior- dirección del dispositivo que es traducido por NAT;
  • Dirección exterior- dirección del dispositivo de destino;
  • Dirección local- esta es cualquier dirección que se muestra en la parte interna de la red;
  • Dirección mundial- esta es cualquier dirección que se muestra en la parte externa de la red;

Veamos esto con un ejemplo de diagrama.


En la figura, la PC tiene un local interno ( dentro del local) dirección 192.168.1.5 y desde su punto de vista el servidor web tiene un externo ( afuera) dirección 208.141.17.4. Cuando los paquetes se envían desde la PC a la dirección global del servidor web, el local interno ( dentro del local) la dirección de la PC se traduce a 208.141.16.5 ( dentro global). La dirección dispositivo externo normalmente no se traduce porque es una dirección IPv4 pública.

Vale la pena señalar que la PC tiene diferentes direcciones locales y globales, mientras que el servidor web tiene la misma dirección IP pública. Desde su punto de vista, el tráfico que sale de la PC proviene de la dirección global interna 208.141.16.5. Un enrutador con NAT es un punto de demarcación entre redes internas y externas y entre direcciones locales y globales.

términos, en el interior y afuera, combinado con términos local y global para referirse a direcciones específicas. En la figura, el enrutador está configurado para proporcionar NAT y tiene un conjunto de direcciones públicas para asignar a hosts internos.

La figura muestra cómo se envía el tráfico desde una PC interna a un servidor web externo, a través de un enrutador habilitado para NAT, y se envía y se traduce de vuelta.


Dirección local interna ( dentro de la dirección local) es la dirección de origen vista desde la red interna. En la figura, la dirección 192.168.1.5 está asignada a la PC; esta es su dirección local interna.

Dirección global interna ( dentro de la dirección global) - dirección de origen vista desde red externa. En la figura, cuando el tráfico de la PC se envía al servidor web en 208.141.17.4, el enrutador traduce la dirección local interna ( dentro de la dirección local) a una dirección global interna ( dentro de la dirección global). En este caso, el enrutador cambia la dirección de origen IPv4 de 192.168.1.5 a 208.141.16.5.

Dirección global externa ( fuera de la dirección global) - dirección del destino, visible desde la red externa. Esta es una dirección IPv4 enrutable globalmente asignada a un host en Internet. En el diagrama, el servidor web está disponible en 208.141.17.4. La mayoría de las veces, las direcciones locales externas y globales externas son las mismas.

Dirección local externa ( fuera de la dirección local) es la dirección del destinatario tal como se ve desde la red interna. En este ejemplo, la PC envía tráfico al servidor web en 208.141.17.4

Considere la ruta completa del paquete. La PC con la dirección 192.168.1.5 está intentando comunicarse con el servidor web 208.141.17.4. Cuando un paquete llega a un enrutador habilitado para NAT, lee la dirección IPv4 de destino del paquete para determinar si el paquete cumple con los criterios especificados para la traducción. En este ejemplo, la dirección de origen coincide con los criterios y se traduce de 192.168.1.5 ( dentro de la dirección local) al 208.141.16.5. ( dentro de la dirección global). El enrutador agrega esta asignación de dirección local a global a la tabla NAT y envía el paquete con la dirección de origen traducida al destino. El servidor web responde con un paquete dirigido a la dirección global interna de la PC (208.141.16.5). El enrutador recibe un paquete con una dirección de destino de 208.141.16.5 y busca en la tabla NAT una entrada para esta asignación. Utiliza esta información y vuelve a traducir la dirección global interna (208.141.16.5) a la dirección local interna (192.168.1.5) y el paquete se reenvía hacia la PC.

Tipos de NAT

Hay tres tipos de traducción NAT:

  • Traducción de direcciones estáticas (NAT estática)- mapeo de direcciones uno a uno entre direcciones locales y globales;
  • Traducción dinámica de direcciones (NAT dinámica)- coincidencia de direcciones de muchos a muchos entre direcciones locales y globales;
  • Traducción de dirección de puerto (NAT)- mapeo de direcciones de multidifusión entre direcciones locales y globales usando puertos. Este método también se conoce como Sobrecarga de NAT;

La NAT estática utiliza un mapeo uno a uno entre direcciones locales y globales. Estas asignaciones las configura el administrador de la red y permanecen constantes. Cuando los dispositivos envían tráfico a Internet, sus direcciones locales internas se traducen a las direcciones globales internas configuradas. Para redes externas, estos dispositivos tienen direcciones IPv4 públicas. La NAT estática es especialmente útil para servidores web o dispositivos que necesitan tener una dirección coherente accesible desde Internet, como el servidor web de una empresa. La NAT estática requiere suficientes direcciones públicas para satisfacer el número total de sesiones de usuarios simultáneas.

La tabla NAT estática se ve así:


Dynamic NAT utiliza un grupo de direcciones públicas y las asigna por orden de llegada. Cuándo organización interna solicita acceso a una red externa, la NAT dinámica asigna una dirección IPv4 pública disponible del grupo. Al igual que la NAT estática, la NAT dinámica requiere suficientes direcciones públicas para satisfacer el número total de sesiones de usuarios simultáneas.

La tabla NAT dinámica se ve así:


Traducción de dirección de puerto (PAT)

PALMADITA traduce múltiples direcciones privadas a una o más direcciones públicas. Esto es lo que hacen la mayoría de los enrutadores domésticos. El ISP asigna una dirección al enrutador, pero varios miembros de la familia pueden acceder a Internet al mismo tiempo. Esta es la forma más común de NAT.

Con PAT, se pueden asignar varias direcciones a una o más direcciones, ya que cada dirección privada también se rastrea mediante un número de puerto. Cuando el dispositivo inicia una sesión TCP/IP, genera el valor del puerto de origen TCP o UDP para identificar de forma única la sesión. Cuando un enrutador NAT recibe un paquete de un cliente, utiliza su número de puerto de origen para identificar de manera única una traducción NAT particular. PAT garantiza que los dispositivos utilicen un número de puerto TCP diferente para cada sesión. Cuando se devuelve una respuesta del servidor, el número de puerto de origen, que se convierte en el número de puerto de destino en la ruta de retorno, determina a qué dispositivo el enrutador está reenviando los paquetes.

La imagen ilustra el proceso PAT. Pat agrega números únicos puertos de origen a la dirección global interna para distinguir entre traducciones.


A medida que el enrutador procesa cada paquete, utiliza el número de puerto (1331 y 1555, en este ejemplo) para identificar el dispositivo desde el que se envió el paquete.

Dirección de la fuente ( Dirección de la fuente) es la dirección local interna con un número de puerto adjunto asignado por TCP/IP. dirección de destino ( Dirección de destino) es la dirección local externa con el número de puerto de servicio adjunto. En este ejemplo, puerto de servicio 80: HTTP.

Para la dirección de origen, el enrutador traduce la dirección local interna a la dirección global interna con el número de puerto adjunto. La dirección de destino no cambia, pero ahora se denomina dirección IP global externa. Cuando el servidor web responde, la ruta se invierte.

En este ejemplo, los números de puerto de cliente 1331 y 1555 no se cambiaron en el enrutador NAT. Este no es un escenario muy probable porque es muy probable que estos números de puerto ya se hayan adjuntado a otras sesiones activas. PAT intenta mantener el puerto de origen original. Sin embargo, si el puerto de origen original ya está en uso, PAT asigna el primer número de puerto disponible, comenzando por el principio del grupo de puertos correspondiente. 0-511, 512-1023 o 1024-65535 . Cuando no hay más puertos y hay más de una dirección externa en el conjunto de direcciones, PAT pasa a la siguiente dirección para intentar asignar el puerto de origen original. Este proceso continúa hasta que no haya puertos disponibles o direcciones IP externas.

Es decir, si otro host puede elegir el mismo número de puerto 1444. Esto es aceptable para una dirección interna porque los hosts tienen direcciones IP privadas únicas. Sin embargo, en un enrutador NAT, los números de puerto deben cambiarse; de ​​lo contrario, los paquetes de dos hosts diferentes saldrán con la misma dirección de origen. Entonces, PAT asigna el siguiente puerto disponible (1445) a la segunda dirección de host.

Resumamos la comparación de NAT y PAT. Como puede ver en las tablas, NAT traduce las direcciones IPv4 en una proporción de 1:1 entre direcciones IPv4 privadas y direcciones IPv4 públicas. Sin embargo, PAT cambia tanto la dirección como el número de puerto. NAT redirige los paquetes entrantes a su dirección interna según la dirección IP de origen entrante proporcionada por el host en la red pública, y con PAT generalmente solo hay una o muy pocas direcciones IPv4 expuestas públicamente y los paquetes entrantes se redirigen según la tabla NAT del enrutador. .

¿Qué ocurre con los paquetes IPv4 que contienen datos distintos de TCP o UDP? Estos paquetes no contienen un número de puerto de capa 4. PAT traduce los protocolos más comunes transportados por IPv4 que no utilizan TCP o UDP como protocolo de capa de transporte. Los más comunes son ICMPv4. PAT maneja cada uno de estos tipos de protocolo de manera diferente. Por ejemplo, los mensajes de solicitud ICMPv4, las solicitudes de eco y las respuestas incluyen un identificador de solicitud ID de consulta. ICMPv4 utiliza el ID de consulta. para identificar la solicitud de eco con la respuesta correspondiente. El ID de solicitud se incrementa con cada solicitud de eco enviada. PAT usa una ID de solicitud en lugar de un número de puerto de capa 4.

Ventajas y desventajas de NAT

NAT proporciona muchos beneficios, que incluyen:

  • NAT conserva el esquema de direccionamiento registrado, lo que permite la privatización de las intranets. Con PAT, los hosts internos pueden compartir una dirección IPv4 pública para todas las comunicaciones externas. Este tipo de configuración requiere muy pocas direcciones externas para admitir muchos hosts internos;
  • NAT aumenta la flexibilidad de las conexiones con red pública. Numerosas piscinas, piscinas Copia de reserva y se pueden implementar grupos de equilibrio de carga para proporcionar conexiones de red pública confiables;
  • NAT proporciona consistencia para los esquemas de direccionamiento interno de la red. En una red que no usa direcciones IPv4 privadas y NAT, cambiar esquema general Las direcciones IPv4 requieren que todos los hosts se reenvíen a red existente. El costo del reenvío de host puede ser significativo. NAT permite que se mantenga el esquema de direccionamiento privado IPv4 existente al tiempo que permite que el nuevo esquema de direccionamiento público se cambie fácilmente. Esto significa que una organización puede cambiar de proveedor y no necesita cambiar ninguno de sus clientes internos;

  • NAT proporciona Seguridad de la red. Debido a que las redes privadas no anuncian sus direcciones o topología interna, siguen siendo razonablemente confiables cuando se usan junto con NAT para obtener acceso externo controlado. Sin embargo, debe comprender que NAT no reemplaza a los firewalls;

Pero NAT tiene algunos inconvenientes. El hecho de que los hosts en Internet parezcan estar hablando directamente con un dispositivo habilitado para NAT en lugar de un host real dentro de la red privada crea una serie de problemas:

  • Una de las desventajas de usar NAT tiene que ver con el rendimiento de la red, especialmente para protocolos en tiempo real como VoIP. NAT aumenta los retrasos en la conmutación porque la traducción de cada dirección IPv4 en los encabezados de los paquetes lleva tiempo;
  • Otra desventaja de usar NAT es que se pierde el direccionamiento de extremo a extremo. Muchos protocolos y aplicaciones de Internet se basan en el direccionamiento de extremo a extremo desde el origen hasta el destino. Algunas aplicaciones no funcionan con NAT. Aplicaciones que usan direcciones físicas en lugar de calificadas Nombre de dominio, no llegue a destinos que se traduzcan a través de un enrutador NAT. A veces, este problema se puede evitar implementando mapeos NAT estáticos;
  • También se pierde el seguimiento de IPv4 de extremo a extremo. Paquetes más difíciles de rastrear que experimentan múltiples cambios de dirección de paquetes en múltiples saltos NAT, lo que dificulta la resolución de problemas;
  • El uso de NAT también dificulta los protocolos de tunelización como IPsec porque NAT cambia los valores en los encabezados que interfieren con las comprobaciones de integridad realizadas por IPsec y otros protocolos de tunelización;
  • Los servicios que requieren que las conexiones TCP se inicien desde la red externa o los protocolos sin estado, como los que usan UDP, pueden fallar. Si el enrutador NAT no está configurado para admitir estos protocolos, los paquetes entrantes no pueden llegar a su destino;

¿Es este artículo útil para usted?

¿Por favor dime porque?

Lamentamos que el artículo no le haya sido de utilidad: (Por favor, si no le resulta difícil, indique ¿por qué? Le agradeceremos mucho una respuesta detallada. ¡Gracias por ayudarnos a ser mejores!

NAT o traducción de direcciones de red es una forma de reasignar un espacio de direcciones a otro cambiando la información de la dirección de red en el Protocolo de Internet o IP. Los encabezados de los paquetes cambian mientras están en tránsito a través de los dispositivos de enrutamiento. Este método se utilizó originalmente para reenviar más fácilmente el tráfico en redes IP sin necesidad de numerar cada host. Se ha convertido en una herramienta importante y popular para asignar y mantener el espacio de direcciones global frente a la grave escasez de direcciones IPv4.

¿Qué es NAT?

El uso de la traducción de direcciones de red es asignar cada dirección de un espacio de direcciones a una dirección que se encuentra en otro espacio de direcciones. Esto puede ser necesario si el proveedor de servicios ha cambiado y el usuario no tiene la oportunidad de anunciar públicamente una nueva ruta a la red. tecnología NAT en el contexto del agotamiento global del espacio de direcciones desde finales de los 90, se ha utilizado cada vez con más frecuencia. Por lo general, esta tecnología se usa junto con el cifrado de IP. El cifrado de IP es un método para mover varias direcciones IP a un espacio. Este mecanismo se implementa en un dispositivo de enrutamiento que utiliza tablas de traducción con estado para asignar direcciones ocultas a una única dirección IP. También redirige todos los paquetes IP salientes al salir. Por lo tanto, estos paquetes parecen estar saliendo del dispositivo de enrutamiento. Las respuestas de enlace inverso se asignan a la dirección IP de origen mediante reglas almacenadas en tablas de traducción. A su vez, las tablas de traducción se borran después de un breve período de tiempo si el tráfico no actualiza su estado. Este es el mecanismo básico de NAT. ¿Qué significa esto? esta tecnología permite la comunicación a través de un enrutador solo cuando la conexión se realiza en una red encriptada, ya que esto crea tablas de traducción. Dentro de dicha red, un navegador web puede ver un sitio fuera de ella, pero al estar instalado fuera de ella, no puede abrir un recurso alojado en ella. La mayoría de los dispositivos NAT actuales permiten que el administrador de la red configure las entradas de la tabla de traducción para uso permanente. Esta función especialmente conocido como reenvío de puertos o NAT estático. Permite que el tráfico que se origina en la red "externa" llegue a los hosts designados en la red cifrada. Debido a la popularidad del método utilizado para conservar el espacio de direcciones IPv4, el término NAT se ha convertido casi en sinónimo de un método de cifrado. Dado que la traducción de direcciones de red cambia la información de dirección de los paquetes IP, esto puede consecuencias graves para la calidad de la conexión. Por lo tanto, requiere mucha atención a todos los detalles de implementación. Las formas en que se usa NAT difieren entre sí en su comportamiento específico en diferentes situaciones que se relacionan con el impacto en el tráfico de la red.

NAT básico

El tipo más simple de NAT permite la traducción de direcciones IP de uno a uno. El tipo principal de esta traducción es RFC-2663. En este caso, solo se cambian las direcciones IP, así como la suma de verificación de los encabezados IP. Puede utilizar los tipos de traducción básicos para conectar dos redes IP que tengan direcciones incompatibles.

La mayoría de las formas de NAT son capaces de asignar múltiples hosts privados a una única dirección IP designada públicamente. Una red local en una configuración típica utiliza una de las direcciones IP "privadas" asignadas a la subred. En esta red, el enrutador tiene una dirección privada en el espacio. El enrutador también se conecta a Internet mediante una "dirección pública" asignada por el ISP. Debido a que el tráfico se origina en Internet local, la dirección de origen en cada paquete se traduce de privado a público sobre la marcha. El enrutador también realiza un seguimiento de los datos básicos sobre cada conexión activa. En particular, esto se aplica a información como la dirección y el puerto de destino. Cuando se le devuelve la respuesta, utiliza los datos de conexión que se almacenan durante el tramo de salida. Esto es necesario para determinar la dirección privada de la red interna a la que debe dirigirse la respuesta. La principal ventaja de esta funcionalidad es que es una solución práctica al problema de quedarse sin espacio de direcciones IPv4. Incluso las redes grandes se pueden conectar a Internet con una sola dirección IP. Todos los datagramas de paquetes en redes IP tienen dos direcciones IP: esta es la dirección de origen y la dirección de destino. Paquetes que pasan de red privada a red uso común, tendrá una dirección de origen del paquete que cambia durante la transición de la red pública a la privada. También son posibles configuraciones más complejas.

Características de configurar NAT

configuración NAT puede tener ciertas características. Es posible que se requieran modificaciones adicionales para evitar las dificultades asociadas con la traducción de paquetes devueltos. La mayor parte del tráfico de Internet pasará por los protocolos UDP y TCP. Sus números se cambian de tal manera que las direcciones IP y los números de puerto comienzan a coincidir cuando se devuelven los datos. Los protocolos que no se basan en UDP o TCP requieren otros métodos de traducción. Por lo general, ICMP, o el Protocolo de administración de mensajes de Internet, correlaciona la información transmitida con la conexión disponible. Esto significa que deben mostrarse con la misma dirección IP y el mismo número que se configuró originalmente. ¿Qué hay que tener en cuenta? La configuración de NAT en el enrutador no le proporciona conectividad de extremo a extremo. Por esta razón, dichos enrutadores no pueden participar en algunos protocolos de Internet. Servicios que requieren iniciación Conexiones TCP desde una red externa o usuarios sin protocolos pueden ser simplemente inaccesibles. Si el enrutador NAT no se esfuerza mucho para admitir dichos protocolos, es posible que los paquetes entrantes nunca lleguen a su destino. Algunos protocolos se pueden colocar en la misma traducción entre los hosts participantes, a veces mediante el uso de una puerta de enlace de capa de aplicación. Sin embargo, la conexión no se establecerá cuando ambos sistemas estén separados de Internet por NAT. Además, el uso de NAT complica los protocolos de tunelización como IPsec porque cambia los valores en los encabezados que interactúan con las verificaciones de integridad de las solicitudes.

NAT: problema existente

El principio básico de Internet es una conexión de extremo a extremo. Ha existido desde su creación. El estado actual de la red solo prueba que NAT es una violación de este principio. En el entorno profesional, existe una seria preocupación asociada con el uso generalizado de la traducción de direcciones de red en IPv6. Por lo tanto, hoy se plantea la pregunta de cómo se puede eliminar este problema. Debido a que las tablas de estado de traducción en los enrutadores NAT no son intrínsecamente eternas, los dispositivos de red internos pierden su conexión IP en un período de tiempo muy corto. No debemos olvidarnos de esta circunstancia a la hora de hablar de qué es NAT en un router. Esto reduce significativamente el tiempo de funcionamiento de los dispositivos compactos que funcionan con baterías y baterías recargables.

Escalabilidad

Cuando se usa NAT, solo se monitorean aquellos puertos que pueden agotarse rápidamente. aplicaciones internas que utilizan múltiples conexiones simultáneas. Estas pueden ser solicitudes HTTP para páginas con una gran cantidad de objetos incrustados. ablandar este problema es posible haciendo un seguimiento de la dirección IP en los destinos además del puerto. Por lo tanto, un puerto local puede ser compartido por una gran cantidad de hosts remotos.

NAT: algunas complicaciones

Dado que todas las direcciones internas se disfrazan como la misma dirección pública, no es posible que los hosts externos inicien una conexión a un host interno en particular sin establecer una configuración especial en el firewall. Esta configuración debe reenviar las conexiones a un puerto específico. Las aplicaciones de telefonía IP, videoconferencia y servicios similares deben utilizar métodos NAT transversales para su normal funcionamiento. El puerto de traducción de dirección de retorno y Rapt permite que un host cuya dirección IP cambie de vez en cuando permanezca disponible como servidor utilizando una dirección IP fija. red domestica. En principio, esto debería permitir que los servidores se configuren para mantener la conexión. Si bien esta solución al problema no es la ideal, puede ser otra herramienta útil en el arsenal de un administrador de red a la hora de resolver problemas relacionados con la configuración de NAT en un enrutador.

Traducción de dirección de puerto o PAT

Port Address Translation es una implementación de Cisco Rapt que mapea varias direcciones IP privadas como una pública. Por lo tanto, varias direcciones se pueden asignar como una dirección porque cada una se rastrea mediante un número de puerto. PAT utiliza números de puerto de origen únicos en la IP global interna para distinguir la dirección de la transferencia de datos. Estos números son enteros de 16 bits. El número total de direcciones internas que se pueden traducir a una dirección externa teóricamente puede llegar a 65536. En realidad, el número de puertos a los que se puede asignar una sola dirección IP es de aproximadamente 4000. PAT, por regla general, intenta mantener el puerto original "original". Si ya está en uso, Port Address Translation asigna el primer número de puerto disponible, comenzando por el principio del grupo correspondiente. Cuando no hay más puertos disponibles y hay más de una dirección IP externa, PAT pasa a la siguiente para asignar el puerto de origen. Este proceso continuará hasta que se agoten los datos disponibles. El servicio de Cisco muestra la dirección y el puerto. Combina la dirección del puerto de traducción y los datos de tunelización de los paquetes IPv4 a través de la red IPv6 interna. Esencialmente esto Opción alternativa Carrier Grade NAT y DS-Lite que admite puerto IP y traducción de direcciones. Esto evita los problemas asociados con el establecimiento y mantenimiento de una conexión. También proporciona un mecanismo de transición para la implementación de IPv6.

Métodos de traducción

Existen varias formas básicas de implementar la dirección de red y la traducción de puertos. Ciertos protocolos de aplicación requieren que determine la dirección NAT externa utilizada en el otro extremo de la conexión. También suele ser necesario estudiar y clasificar el tipo de transmisión. Por lo general, esto se hace porque es deseable crear un enlace directo entre dos clientes detrás de NAT independientes. Para este propósito, se desarrolló un protocolo especial RFC 3489, que proporciona un desvío simple de UPD a través de NATS. Ya hoy se considera obsoleto, ya que hoy en día tales métodos se consideran insuficientes para la correcta evaluación del funcionamiento de los dispositivos. En 2008 se desarrolló el RFC 5389, que estandarizó nuevos métodos. Esta especificación se llama hoy Session Traversal. ella representa utilidad especial, diseñado para operación NAT.

Creación de un enlace bidireccional

Cada paquete UDP y TCP contiene la dirección IP de origen y su número de puerto, así como las coordenadas del puerto de destino. El número de puerto es muy importante para recibir servicios públicos como la funcionalidad del servidor de correo. Entonces, por ejemplo, el puerto 25 se conecta a SMTP servidor de correo y el puerto 80 se conecta a software Servidor web. La dirección IP del servidor público también es importante. Estos parámetros deben ser conocidos de forma fiable por aquellos nodos que pretendan establecer una conexión. Las direcciones IP privadas solo importan en las redes locales.

Las direcciones IP son un recurso escaso. El proveedor puede tener una dirección /16 ( clase anterior B), dando la posibilidad de conectar 65.534 hosts. Si hay más clientes, empiezan a surgir problemas. A los hosts que ocasionalmente se conectan a Internet a través de un teléfono fijo se les pueden asignar direcciones IP dinámicamente, solo por la duración de la conexión. Entonces, una dirección /16 atenderá hasta 65 534 usuarios activos, y esto puede ser suficiente para un ISP con varios cientos de miles de clientes. Cuando finaliza una sesión de comunicación, se asigna una dirección IP a una nueva conexión. Tal estrategia puede resolver los problemas de los proveedores con una pequeña cantidad de clientes de acceso telefónico privado, pero no ayudará a los proveedores con una gran clientela de organizaciones.

Y es que los clientes corporativos prefieren tener una conexión constante a Internet, al menos durante la jornada laboral. Tanto en oficinas pequeñas, por ejemplo, agencias de viajes, que constan de tres empleados, como en grandes corporaciones, existen redes locales que consisten en una serie de computadoras. Algunas computadoras son estaciones de trabajo para empleados, otras sirven como servidores web. En general, hay un enrutador LAN conectado a un ISP a través de una línea alquilada para proporcionar una conexión permanente. Esta solución significa que cada computadora tiene una dirección IP asociada durante todo el día. De hecho, incluso todas las computadoras juntas, disponibles para clientes corporativos, no puede bloquear las direcciones IP disponibles del proveedor. Para una dirección de longitud /16, este límite es, como ya hemos señalado, 65 534. Sin embargo, si el ISP tiene decenas de miles de clientes corporativos, este límite se alcanzará muy rápidamente.

El problema se ve agravado por el hecho de que todos más los usuarios privados desean disponer de una conexión a Internet ADSL o por cable. Las características de estos métodos son las siguientes:

a) los usuarios reciben una dirección IP permanente;

b) no hay pago de tiempo (solo se cobra una cuota de suscripción mensual).

Los usuarios de este tipo de servicios disponen de una conexión permanente a Internet. Desarrollo en esta direccion lo que lleva a una creciente escasez de direcciones IP. Asigne direcciones IP sobre la marcha, como se hace con conexión telefónica, es inútil, porque la cantidad de direcciones activas en un momento dado puede ser muchas veces mayor que la que tiene el proveedor.

A menudo, la situación se complica aún más por el hecho de que muchos usuarios de ADSL y Internet por cable tiene dos o más computadoras en casa (por ejemplo, una para cada miembro de la familia) y desea que todas las máquinas estén conectadas a Internet. Qué hacer: después de todo, ¡solo hay una dirección IP emitida por el proveedor! La solución es esta: necesita instalar un enrutador y conectar todas las computadoras a una red local. Desde el punto de vista del proveedor, en este caso, la familia actuará como un análogo de una pequeña empresa con varias computadoras. ¡Bienvenidos a la Corporación Pupkin!

El problema de la escasez de direcciones IP no es en modo alguno teórico y no pertenece a un futuro lejano. Ya es relevante, y tenemos que combatirlo aquí y ahora. El proyecto a largo plazo implica la transferencia total de todo Internet al protocolo IPv6 con direccionamiento de 128 bits. Esta transición es realmente gradual, pero el proceso es tan lento que se prolonga durante años. Al ver esto, muchos se dieron cuenta de que era urgente encontrar alguna solución, al menos para el futuro cercano. Tal solución se encontró en la forma de un método de traducción de direcciones de red, NAT (traducción de direcciones de red), descrito en RFC 3022. Discutiremos su esencia más adelante, y se puede encontrar más información en (Butcher, 2001).

La idea básica de la traducción de direcciones de red es asignar a cada empresa una sola dirección IP (o al menos una pequeña cantidad de direcciones) para el tráfico de Internet. Dentro de la empresa, cada computadora recibe una dirección IP única que se usa para enrutar el tráfico interno. Sin embargo, tan pronto como el paquete sale de las instalaciones de la empresa y se dirige al proveedor, se realiza la traducción de direcciones. Para implementar este esquema, se crearon tres rangos de las llamadas direcciones IP privadas. Pueden ser utilizados dentro de la empresa a su discreción. La única restricción es que los paquetes con tales direcciones nunca deben aparecer en Internet. Estos tres rangos reservados son:

10.0.0.0 - 10.255.255.255/8 (16 777 216 hosts)

172.16.0.0 - 172.31.255.255/12 (1 048 576 hosts)

192.168.0.0 -192.168.255.255/16 (65 536 servidores)

El funcionamiento del método de traducción de direcciones de red se muestra en el siguiente diagrama. Dentro del territorio de la empresa, cada máquina tiene su propia dirección única de la forma 10.x.y.z. Sin embargo, cuando el paquete sale de la empresa, pasa por el bloque NAT, que traduce la dirección IP de origen interna (10.0.0.1 en la figura) a la dirección IP real recibida por la empresa del proveedor (198.60.42.12 para nuestro ejemplo). ) . La caja NAT suele ser un dispositivo único con un firewall que brinda seguridad al monitorear estrictamente el tráfico entrante y saliente de la empresa. La caja NAT se puede integrar con el enrutador de la empresa.

Hemos solucionado un pequeño detalle hasta ahora: cuando llega una respuesta a una solicitud (por ejemplo, de un servidor web), está dirigida a 198.60.42.12. ¿Cómo sabe el bloque NAT con qué dirección interna reemplazar la dirección pública de la empresa? Este es el principal problema con el uso de la traducción de direcciones de red. Si hubiera un campo libre en el encabezado del paquete IP, podría usarse para recordar la dirección de la persona que envió la solicitud. Pero solo queda un bit sin usar en el encabezado. En principio, sería posible crear dicho campo para la verdadera dirección de origen, pero esto requeriría cambiar el código IP en todas las máquinas a través de Internet. No es mejor salida, sobre todo si queremos encontrar una solución rápida a la falta de direcciones IP.

En realidad, esto es lo que sucedió. Los diseñadores de NAT han notado que la mayor parte de la carga útil de los paquetes IP es TCP o UDP. Ambos formatos tienen encabezados que contienen los números de puerto de origen y destino. Los números de puerto son números enteros de 16 bits que indican dónde comienza y termina una conexión TCP. La ubicación de almacenamiento de los números de puerto se usa como un campo requerido para que NAT funcione.

Cuando un proceso desea establecer una conexión TCP con un proceso remoto, se vincula a un puerto TCP libre en su propia máquina. Este puerto se convierte en el puerto de origen, que le dice al código TCP dónde enviar paquetes en esta conexión. El proceso también determina el puerto de destino. El puerto de destino le dice a quién enviar el paquete en el lado remoto. Los puertos 0 a 1023 están reservados para siempre servicios conocidos. Por ejemplo, los servidores web utilizan el puerto 80, por lo que los clientes remotos pueden dirigirse a ellos. Cada mensaje TCP saliente contiene información sobre un puerto de origen y un puerto de destino. Juntos sirven para identificar los procesos en ambos extremos usando la conexión.

Dibujemos una analogía que aclarará un poco el principio de usar puertos. Supongamos que una empresa tiene un común número de teléfono. Cuando las personas lo marcan, escuchan la voz del operador que les pregunta con quién les gustaría conectarse exactamente y los conectan al número de extensión apropiado. El número de teléfono principal es análogo a la dirección IP de una empresa y las extensiones en ambos extremos son análogas a los puertos. El direccionamiento de puertos utiliza un campo de 16 bits que identifica el proceso que recibe el paquete entrante.

Con la ayuda del campo Puerto de origen, podemos resolver el problema del mapeo de direcciones. Cuando un paquete saliente llega al bloque NAT, la dirección de origen del formulario 192.168.c.d se reemplaza con la dirección IP real. Además, el campo de puerto de origen TCP se reemplaza con un índice de la tabla de traducción de bloques NAT que contiene 65 536 entradas. Cada entrada contiene la dirección IP de origen y el número de puerto de origen. Finalmente, se recalculan y se insertan en el lote. sumas de control Cabeceras TCP e IP. Debe cambiar el campo Puerto de origen, ya que las máquinas con las direcciones locales 10.0.0.1 y 10.0.0.2 podrían accidentalmente querer usar el mismo puerto (5000, por ejemplo). Así que para la identificación unívoca del proceso del emisor de un campo Puerto de la fuente no basta.

Cuando llega un paquete al bloque NAT del ISP, se recupera el valor del campo Puerto de origen del encabezado TCP. Se utiliza como índice de la tabla de mapeo de bloques NAT. La entrada que se encuentra en esta tabla determina la dirección IP interna y el puerto de origen TCP real. Estos dos valores se insertan en el paquete. A continuación, se vuelven a calcular las sumas de comprobación de TCP e IP. El paquete se pasa al enrutador principal de la empresa para la entrega normal con una dirección como 192.168.y.z.

En el caso de ADSL o Internet por cable, la traducción de direcciones de red se puede utilizar para ayudar a lidiar con la escasez de direcciones. Las direcciones asignadas a los usuarios se ven como 10.x.y.z. Tan pronto como el paquete sale de las instalaciones del proveedor y se dirige a Internet, ingresa al bloque NAT, que traduce la dirección interna en la dirección IP real del proveedor. En el camino de regreso, haciendo operación inversa. En este sentido, para el resto de Internet, el proveedor con sus clientes que utilizan ADSL y cable:connection se presenta como una gran empresa.

Aunque el esquema descrito anteriormente resuelve parcialmente el problema de la falta de direcciones IP, muchos seguidores de IP consideran que NAT es una especie de contagio que se propaga por la Tierra. Y se pueden entender.

En primer lugar, el principio mismo de la traducción de direcciones de red no se ajusta a la arquitectura IP, lo que implica que cada dirección IP identifica de forma única una sola máquina en el mundo. Toda la estructura de programación de Internet se basa en el uso de este hecho. Con la traducción de direcciones de red, resulta que miles de máquinas pueden (y de hecho lo hacen) tener una dirección de 10.0.0.1.

En segundo lugar, NAT transforma Internet de una red sin conexión a algo así como una red orientada a la conexión. El problema es que el bloque NAT debe mantener una tabla de mapeo para todas las conexiones que lo atraviesan. Recordar el estado de la conexión es una cuestión de redes orientadas a la conexión, no de redes sin conexión. Si un bloque NAT se rompe y sus tablas de mapeo se pierden, todas las conexiones TCP que pasan por él pueden olvidarse. En ausencia de traducción de direcciones de red, la falla de un enrutador no tiene efecto en la actividad de TCP. El proceso de envío simplemente espera unos segundos y vuelve a enviar los paquetes no reconocidos. Con NAT, Internet se vuelve tan susceptible a fallas como una red de conmutación de circuitos.

En tercer lugar, NAT viola una de las reglas fundamentales de los protocolos de estratificación: la capa k no debe hacer suposiciones sobre qué es exactamente lo que la capa k + 1 coloca en el campo de carga útil. Este principio determina la independencia de los niveles entre sí. Si TCP-2 alguna vez reemplaza a TCP, que tiene un formato de encabezado diferente (por ejemplo, direccionamiento de puerto de 32 bits), la traducción de la dirección de red fallará. La idea general de los protocolos en capas es que los cambios en una de las capas no pueden afectar a las otras capas de ninguna manera. NAT destruye esta independencia.

En cuarto lugar, no se requiere que los procesos en Internet utilicen solo TCP o UDP. Si el usuario de la máquina A decide crear un nuevo protocolo de capa de transporte para comunicarse con el usuario de la máquina B (esto se puede hacer, por ejemplo, para algunos aplicación multimedia), entonces tendrá que lidiar con el hecho de que el bloque NAT no podrá procesar correctamente el campo Puerto de origen TCP.

En quinto lugar, algunas aplicaciones insertan direcciones IP en el texto de los mensajes. El destinatario los recupera de allí y luego los procesa. Dado que NAT no sabe nada acerca de este método de direccionamiento, no podrá procesar correctamente los paquetes y cualquier intento de utilizar estas direcciones por parte del lado remoto fallará. Protocolo de transferencia de archivos, FTP (archivo Protocolo de transferencia) utiliza un método de este tipo y es posible que no funcione con la traducción de direcciones de red a menos que se tomen medidas especiales. El protocolo de telefonía por Internet H.323 también tiene una propiedad similar. Es posible mejorar el método NAT y hacerlo funcionar correctamente con H.323, pero es imposible refinarlo cada vez que aparece una nueva aplicación.

Sexto, dado que el campo Puerto de origen es de 16 bits, se pueden asignar aproximadamente 65 536 direcciones de máquinas locales por dirección IP. De hecho, este número es algo menor: los primeros 4096 puertos están reservados para las necesidades del servicio. En general, si hay varias direcciones IP, cada una de ellas puede admitir hasta 61 440 direcciones locales.

Estos y otros problemas relacionados con NAT se analizan en RFC 2993. Por lo general, los oponentes de NAT dicen que abordar la escasez de direcciones IP mediante la creación de un parche temporal solo dificulta el proceso de evolución real de migrar a IPv6. Pero si volvemos a la realidad, veremos que en la mayoría de los casos NAT es simplemente algo insustituible, especialmente para oficinas pequeñas con una cantidad de computadoras desde unas pocas hasta varias docenas. NAT se puede implementar internamente en el sistema operativo Linux usando

El principio de funcionamiento del enrutador (enrutador)

Al leer este artículo, creo que todos entienden qué es un enrutador y por qué es necesario, pero ¿alguien ha pensado en cómo funciona? En este artículo, haré mi mejor esfuerzo en lenguaje sencillo describir los principios básicos del enrutador. Este artículo será útil administradores del sistema y usuarios ordinarios.

La función principal que funciona en cualquier enrutador es NAT

NAT- La traducción de direcciones de red se utiliza para reemplazar las direcciones IP. Las LAN utilizan principalmente direcciones como 192.168.1.XXX o similares, y esto crea un problema de enrutamiento en red global Internet, ya que las direcciones IP en la red no deben duplicarse. La solución a este problema es NAT: las computadoras de la red local se conectan a la interfaz local del enrutador, reciben direcciones IP y una puerta de enlace (el enrutador sirve como puerta de enlace), y interfaz WAN el enrutador se conecta a Internet.

Ahora considere el principio de la traducción NAT:

  • Se realiza una solicitud desde cualquier computadora en la red local, por ejemplo, intenta ir a cualquier sitio: la computadora envía solicitud dada a la dirección de la puerta de enlace, es decir, nuestro enrutador;
  • El enrutador, al recibir esta solicitud, registra su computadora como iniciadora de la conexión, luego de lo cual se crea una copia de su paquete y se envía a la dirección de destino, pero ya en nombre del enrutador, y con su dirección IP, y su el paquete simplemente se destruye;
  • El servidor al que se envió la solicitud la procesa y envía una respuesta, naturalmente a la dirección del enrutador. Y el enrutador ya estaba esperando esto, ya que creó un registro de que debería llegar una respuesta a la solicitud de su computadora y la envía a su computadora. Como puede ver, de acuerdo con este esquema, solo una computadora de la red local puede ser el iniciador de la conexión, y la respuesta del servidor llegará a la computadora solo si el enrutador la espera (responder a la solicitud). En otras palabras, todos los intentos de conexión desde el exterior se detendrán en el enrutador y solo tendrán éxito si el enrutador proporciona un recurso en el puerto solicitado o si tiene configuradas las reglas de reenvío de puertos, de las que hablaremos ahora.

Reenvío de puertos

Reenvío de puertos- esto es esencialmente lo mismo que NAT, pero en la dirección opuesta, y por lo tanto solo NAT estático, es decir, ciertas solicitudes solo para ciertas computadoras, porque en la red global no pueden conocer las direcciones IP detrás del enrutador. Por ejemplo, creó un FTP o servidor HTTP en la computadora y desea proporcionar acceso a estos recursos, para esto debe registrar esta regla en el enrutador, que indicará que todos los paquetes entrantes en el puerto deseado (21 u 80 en nuestro caso) se transmitirán a la dirección IP de nuestra computadora en un puerto específico (el puerto se puede cambiar.

NAT-DMZ

NAT-DMZ- esto es absolutamente lo mismo que Port Forwarding, pero con la diferencia de que no necesita escribir una regla para cada puerto, solo necesita configurar NAT - DMZ, que se transferirá a computadora deseada todas las solicitudes entrantes en la WAN del enrutador. Por supuesto, no puede cambiar los puertos.

Enrutamiento

Para simplificar la idea de lo que es, podemos decir que es lo mismo que NAT, pero solo en las dos direcciones. Con este esquema, el enrutador debe tener más de 2 interfaces LAN (no puertos, sino interfaces), con diferentes espacios de direcciones, por ejemplo, una interfaz IP es 192.168.0.1 y la otra es 192.168.1.1. En consecuencia, los equipos de una red recibirán la IP de tipo 192.168.0.XXX, y de otra red 192.168.0.XXX, y sus puertas de enlace serán 192.168.0.1 y 192.168.1.1, respectivamente. Así es como se obtiene el enrutamiento bidireccional.

no te olvides de irte