n a t

36
N A T (Network Address Translation)

Upload: carlos-brito

Post on 23-Jun-2015

281 views

Category:

Technology


1 download

DESCRIPTION

NAT

TRANSCRIPT

  • 1. NAT fue introducido en la dcada de los 90 como unasolucin a corto plazo al corto espacio dedireccionamiento y de forma complementaria a latecnologa CIDR (Classless InterDomain Routing).Para saber de dnde surgi la idea del NAT tengo queintroducir algunas tecnologas que han sido puestascon el fin de solventar el gran problema de la escasezde direcciones IP y el gran tamao de las tablas derouting. Tres soluciones a tener en cuenta sonCIDR, las direcciones IP privadas y NAT.

2. EN QUE CONSISTE EL PROTOCOLO NAT? Consiste en convertir en tiempo real lasdirecciones utilizadas en los paquetestransportados. Tambin es necesario editar lospaquetes para permitir la operacin de protocolosque incluyen informacin de direcciones dentro dela conversacin del protocolo. 3. (Network Address Translation - Traduccin deDireccin de Red) es un mecanismo utilizadopor enrutadores IP para intercambiar paquetesentre dos redes que se asignanmutuamente direcciones incompatibles. 4. Su uso ms comn es permitir utilizar direcciones privadas para acceder a Internet. Existen rangos de direcciones privadas que pueden usarse libremente y en la cantidad que se quiera dentro de una red privada. Si el nmero de direcciones privadas es muy grande puede usarse solo una parte de direcciones pblicas para salir a Internet desde la red privada 5. . De esta manera simultneamente slo puedensalir a Internet con una direccin IP tantos equiposcomo direcciones pblicas se hayan contratado.Esto es necesario debido al progresivo agotamientode las direcciones IPv4. El protocolo TCP/IP tiene la capacidad de generarvarias conexiones simultneas con un dispositivo remoto. Para realizar esto, dentro de la cabecera de un paquete IP, existen campos en los que se indica la direccin origen y destino. Esta combinacin de nmeros define una nica conexin. 6. Una pasarela NAT cambia la direccin origen encada paquete de salida y, dependiendo del mtodo,tambin el puerto origen para que sea nico. Estastraducciones de direccin se almacenan en unatabla, para recordar qu direccin y puerto lecorresponde a cada dispositivo cliente y as saberdonde deben regresar los paquetes de respuesta. 7. Si un paquete que intenta ingresar a la red internano existe en la tabla de en un determinado puerto ydireccin se pueda acceder a un determinado dispositivo, como por ejemplo un servidor web, lo que se denomina NAT inverso o DNAT . 8. Otra forma de hacer NAT es teniendo unadireccin oficial IP (pblica) y usar esta direccinpara todas las comunicaciones. Para permitir a ms de un host comunicarse a la vez con la misma IP tenemos que usar puertos TCP a nivel de transporte diferentes para cada conexin. El nmero de conexiones simultneas est limitado slo por el nmero de puertos disponibles para las conexiones salientes. 9. 3. Tcnicas de NAT La traduccin de direcciones se puede hacer de forma esttica o dinmica. Si se opta de forma esttica, la asignacin de NAT-IPs se realiza de forma no ambigua, en cambio esto no sucede de forma dinmica. En NAT esttico un IP local siempre es traducida a la misma NAT-IP y ninguna otra IP local es traducida a la misma NAT-IP, mientras que NAT dinmico la direccin NAT-IP depende de varias condiciones segn el momento de la asignacin y puede ser completamente distinta para cada conexin. 10. Para explicar la asignacin de direccionesdinmicas y estticas har referencia a dosvariables: nmero de IPs que necesitan ser traducidas (IPsoriginales o locales) nmero de IPs disponibles para la traduccin (NAT-IPs o globales) 11. Estticas: En traducciones estticas podemos traducir entreredes IP que tienen el mismo tamao (contienen elmismo nmero de IPs). Un caso especial es cuandoambas redes contienen slo una IP, por ejemplo lamscara 255.255.255.255. 12. Adems, no es necesario mantener ningunainformacin sobre el estado de las conexiones quevan a ser traducidas, observando cada uno de lospaquetes IP es suficiente. Las conexiones quevengan del exterior no representan ningnproblema, slo que la IP es diferente a la quetenemos dentro de la red. Por lo tanto se puededecir que NAT esttico es completamentetransparente. 13. 3.2. Dinmicas Para la traduccin dinmica de direcciones es necesario que el nmero de IPs a traducir no sea igual al nmero de IPs que pueden ser traducidas. Podran ser iguales, pero que por algn motivo no se quiera realizar un mapeo esttico. El nmero de hosts comunicados esta limitado normalmente por el nmero de NAT IPs disponibles 14. . Si todas las NAT IPs estn siendo usadas entoncesno se puede aceptar ms conexiones para sertraducidas, estas sern rechazadas por el router NAT (host inalcanzable). El NAT dinmico es mucho ms complejo que el esttico ya que nos obliga a mantener un seguimiento de los hosts que se comunican e incluso en ocasiones controlar conexiones que requieren mirar la parte de informacin TCP de los paquetes. 15. Para el caso en que tenemos suficientes NAT IPstambin puede ser til hacer un NAT dinmico, deforma, que se use como una medida deseguridad, ya que es imposible que alguien delexterior de la red pueda conseguir una direccin IPtil viendo las conexiones que van surgiendo, yaque desde la ltima vez que se conecto unhost, puede haber cambiado su IP. Conexiones desde fuera son slo posibles cuandoel host que debe ser alcanzado todava tiene una NAT-IP asignada, es decir, que an tiene una entrada en la tabla dinmica del router NAT. 16. Ejemplo:Podemos decir el router NAT que traduzca todaslas IPs en una red de clase B 147.156.0.0 a IPs deuna clase C con mscara 255.255.255.0 A cada conexin de dentro a fuera se le asigna unadireccin IP del montn de direcciones de claseC, siempre que no estn siendo utilizadas y hayandisponibles. Si se le mapea una direccin el host puede seralcanzado por medio de la va IP que le ha sidoasignada de forma temporal. 17. 3.3. NAPT (Network Address Port Translation) Es un caso especial de NAT dinmico y es muy utilizado hoy en da. Este routing es capaz de hacerlo Linux, Windows 2000 y los routers-hub ADSL que hoy en da instala telefnica. Aqu muchas direcciones IP estn escondidas detrs de una nica IP global. 18. Esto no significa que slo pueda haber unaconexin a la vez. En NAPT un nmero arbitrariode conexiones es multiplexado usandoinformacin del puerto TCP o UDP. El nmero de conexiones simultneas estn limitadas por el nmero de puertos TCP o UDP disponibles. 19. El problema que tiene est tcnica es que algunosservicios en ciertos hosts slo aceptan conexionesque vengan por unos puertos determinados. Estohace que algunos programas no pueden ser usados con NAPT. En implementaciones Linux NAPT recibe el nombre de masquerade y no usa puertos determinados por el uso de otras aplicaciones para no interferir conexiones con esos puertos. 20. 4. Problemas generales del NAT La caracterstica especial de todos los tipos de NAT es las cinco tuplas que identifican de forma inequvoca una conexin: protocolo, IP origen y puerto, IP destino y puerto. Esta informacin la debe mantener el sistema o router en una de sus tablas, es algo parecido a cmo se comporta un firewall. 21. para ambos casos tambin se controlan los flujos de datos para cada conexin as como saber todo sobre sus propias conexiones, es por ello que hay que mantener una informacin de estado. Esto conlleva un overhead mayor que en el routing de paquetes simples. 22. 4.1 Manteniendo la informacin de estado Excepto con NAT esttico, necesitamos almacenar y gestionar dinmicamente informacin sobre los clientes actuales en el sistema y sus posibles conexiones. Adems, esta informacin de estado debe estar marcada por un time-out, de forma que los hosts que estn durante mucho tiempo desconectados o no transmitan paquetes puedan ser borrados de la lista del router para que sus direcciones puedan ser reutilizadas. 23. Este timeout es una de las razones por lo cual serecomienda observar las cabeceras TCP, ya que eltimeout puede ser ms corto para conexiones TCPque se acaben de cerrar mientras que debe ser ms alto para conexiones TCP que todava estn establecidas. 24. 4.2. Fragmentacin La fragmentacin IP est relacionada con el problema de mantener la informacin de estado sobre conexiones TCP y UDP. En ocasiones hay que tomar la decisin de no slo traducir un paquete a nivel de direccin IP, sino tambin a nivel de direcciones (puertos) TCP/UDP. 25. El problema lo tenemos si el paquete ha sidofragmentado, ya que el router NAT no puede saberel puerto excepto en el primer fragmento quecontiene la cabecera TCP/UDP. Esto es un motivo por el cual debemos mantener informacin del estado de los fragmentos. Debemos guardar todos los datos del primer fragmento incluyendo si es un puerto TCP o UDP, para saber a qu puerto van a ir los fragmentos que siguen. 26. Hay que tener en cuenta que IP no garantiza unorden de llegada de los paquetes. Por lo que si nosllega un fragmento que no sea el primero, quecontiene la informacin del puerto, entoncesdeberemos esperar a que llegue el primero parasaber si tenemos que traducir el paquete o no. En estos casos ya no slo tenemos una traduccinIP, sino tambin tenemos una traduccin dedirecciones UDP/TCP (protocolos a nivel detransporte y no de red, un router a priori trabaja anivel de red). 27. 4.3. Posibles problemas con algunosprotocolos La traduccin de direcciones no resulta siempre tan transparente como debera ser. Esto se debe a que no siempre IP es el protocolo que nicamente lleva la informacin de direccionamiento IP. Hay algunos protocolos que envan IPs como parte de los datos que transmiten, y si slo traducimos la parte IP el receptor que reciba el paquete tendr un problema con los datos que reciba. 28. La nica forma de solucionar esto es observar los datos transmitidos para determinados protocolos conocidos que incluyan informacin IP. Esto naturalmente supone una mayor complejidad y un overhead adicional. 29. Algunos ejemplos de protocolos son: FTP: El comando PORT del FTP y la respuesta a PASV, ambos comandos, envan una IP y un puerto hacia el otro lado de la conexin. Para que funcione el FTP sobre NAT tenemos que sustituir la IP del mensaje. La parte ms complicada de esto es que la IP y puerto son transmitidas en su formato decimal ASCII, por ejemplo, cada nmero representado en decimal de una IP es un byte en el paquete. Por este motivo la IP no tiene un longitud fija en estos paquetes FTP. 30. Cuando intentamos sustituir la IP por otra quetiene ms o menos dgitos en su representacindecimal el paquete crece o decrece en su longitud.Esto hace necesario ajustar los nmeros de secuencia del TCP de forma acorde, por lo que tenemos que mantener ms informacin sobre estas conexiones con el fin de ajustar los nmeros en cada paquete que sigue en esa conexin. 31. Esto no es un problema nicamente del FTP, si noque tambin afecta a todos aquellos protocolos quecambiando la IP cambian la longitud del paquete. 32. DNS: Este servicio puede ocasionar un gran problema. Una solucin es tener dos servicios DNS, uno con IPs internas a nuestra red para resolucin de direcciones internas y otro externa con NAT-IPs. Decir que las IPs resueltas por el servidor externo no deben formar parte del espacio de direcciones que pueda asignar un NAT dinmico. 33. 5.3. ejemplo de NAT a travs de un router ADSL Esta opcin tiene la ventaja de que no hace faltaque ningn ordenador actu como NAT y por tantono hace falta tener encendido este PC durante todoel da para que haga de servidor a los dems hostsde la red local, adems se obtiene todos los beneficios de ADSL como un mayor ancho de banda (hasta 2Mbps y pronto hasta 8Mbps) . 34. teniendo conexin permanente a internet por elmismo cable de telfono. Podr usarse telefonapor voz e internet a la vez gracias a un dispositivode filtrado que separa las frecuencias que se usan por voz de las que se usan para internet por el mismo cable. 35. GRACIAS