heh!4:(heh4.1000):30/08/2000 << Back To heh!4


IPv6, Ensayos Introduccion... ejemm ejemm Yerbiemos un poco... (Bueno fue lo mejor que pude hacer :) ) La red Internet, basada en un diseno de primeros de los anos 80, ha experimentado un crecimiento sin precedentes (BullShit) en la historia de las telecomunicaciones tanto en numero de usuarios <?> conectados como en aplicaciones y servicios disponibles <!?>. Aunque algunos de los nuevos servicios que encontramos en Internet se podrian encuadrar dentro del marco aun difuso de las llamadas autopistas de la informacion por su naturaleza multimedia, la disponibilidad creciente de infraestructura de transmision a alta velocidad y por su ambito de difusion global [1], es bien cierto que han aparecido deficiencias en los aspectos administrativos y de seguridad asi como carencias de cara a la prestacion de los servicios avanzados que apuntan en el horizonte.(Multimedia y toda esa bosta windoza) Para remediar estos males, los cuerpos tecnicos (Nahh Mentiritas :) )de Internet impulsaron un debate bajo el lema de IP Next Generation (IPng) (idiotas) que ha culminado con la especificacion de un nuevo protocolo IP (?)(nuevo no significa bueno), sucesor del actual IPv4, y conocido formalmente como la version 6 del Protocolo Internet o IPv6. Mas claro echale un tekil0 En este articulo se examinan algunos de los problemas inherentes a IPv4 asi como las nuevas facetas que presenta IPv6, muchas de las cuales se encuentran en fase de discusion en la actualidad. El modelo Internet. Direcciones y encaminamiento (A word from our sponsor...) HOLA?!?!? BIG MAMA?????? Internet representa el ejemplo paradigmatico de las redes de datagramaas o no orientadas a la conexion.(Suena Lindo?) En ella cada fragmento (paquete) de informacion es transmitido por la red de manera no fiable y sin mantener vinculo alguno, ni siquiera de orden, con el resto de los paquetes de la unidad de informacion intercambiada. Para que esto pueda ser asi, cada paquete contiene en su interior (mas explicitamente en su comienzo o cabecera) la identificacion de su originador junto con la de su destinatario. Esta faceta del protocolo IP presenta la ventaja de facilitar la interconexion de subredes de diferente tecnologia y es sin duda una de las claves del exito de Internet como red de redes en contraposicion con otras tecnologias orientadas a la conexion como X.25 o ATM, basadas en el concepto de circuitos virtuales o canales fiables que asigna la red para la comunicacion entre extremos de manera ordenada e integra. El protocolo IP gobierna la estructura y la transmision de los datagramas a traves de los nodos de la red, sean estos sistemas finales (computadoras, con un punto de conexion a red) o intermedios (routers, con mas de un punto de conexion). Cuestiones tales como la fragmentacion de la informacion en paquetes de tamano adecuado para su transmision por un medio determinado, el formato de las direcciones de red o las opciones de enroutamiento de los datos estan definidas en el protocolo. El recurso quiza mas valios de entre los que posee Internet es su espacio de direcciones o el conjunto de todos los identificadores que pueden ser asignados a los puntos de conexion a red y que, como veremos, esta estrechamente ligado con los conceptos administrativos de direccionamiento y enrutamiento. Para identificar cada uno de los interfaces de los sistemas finales y routers Internet se emplean direcciones IP de 32 bits, que usualmente se suelen representar textualmente en grupos de 8 bits en notacion decimal (por ejemplo, 200.42.16.75). En IPv4 se definen tres tipos de direcciones: la mas comun o unicast (asociada a una unica interfaz), multicast (asociada a un grupo de interfaces) y broadcast (asociada a todos los interfaces). Para asignar direcciones unicast a equipos se dispone de mas de 3.750 millones de direcciones (0.0.0.0-223.255.255.255) que se agrupan de forma topologica en forma de parte de red (los bits mas significativos o mas a la izquierda), que es comun a todos los miembros de la unidad topologica pudiendo ser esta una red local, una organizacion o un proveedor y parte local (los bits menos significativos) que es diferente para cada ente individual. <----- r bits -----><----- 32-r bits -------> +-------------------------------------------+ | parte de red | parte local | +-------------------------------------------+ El enrutamiento de internet se lleva a cabo bajo la suposicion que todos los equipos que tienen identificadores con una misma parte de red son miembros de una misma unidad topologica sujeta a una estructura administrativa unica, lo que permite inferir que el enruteo interno es homogeneo y completo. El resultado de todo esto es que todos los equipos de la red son vistos desde el exterior como un unico elemento de cara al enrutamiento, lo cual reduce en gran manera la cantidad de informacion que deben mantener, almacenar y procesar los routers. En adelante, a la parte de red de una direccion la denominaremos prefijo, que nos servira para representar diferentes estructuras topologicas mediante la sintaxis direccion-IP-de-32-bits/tamano-del-prefijo Esto nos indicara que parte de la direccion es significativa en terminos de enrutamiento. Por ejemplo, 130.206.16.75/32 representa una unica direccion de red mientras que 130.206.16.0/24 representa el conjunto de direcciones 130.206.16.0-130.206.16.255. Es importante resaltar la diferencia entre los procedimientos de enrutamiento interno a un dominio o intra-dominio, de los que ese dominio tiene respecto a los demas con los que tiene conexion directa o indirecta (inter-dominio). Existe una "jerarquia" de enrutamiento que se refleja en la mayor o menor generalidad de los prefijos empleados para anunciar el dominio. Por ejemplo, jpija anuncia el prefijo 130.206.16.0/24 dentro de jpijaISP, su proveedor, quien redistribuye esta informacion dentro de su dominio. Sin embargo, jpijaISP anuncia al exterior -a otros dominios con los que tiene conexion- un prefijo mas general 103.206.0.0/16 que identifica la ruta a jpija de cara a todos estos dominios. El problema de la asignacion de direcciones Donde carajo voy?... Sera por aqui? o por alla? A la hora de disenar un metodo de asignacion de direcciones en los albores de la web0, cuando estaba conectada apenas una docena de centros, se penso en un esquema basado en el tamano de las organizaciones y de ahi nacio el modelo de clases en la que solo se daba cabida a tres tipos de prefijo de longitud predeterminada segun fuera una gran organizacion (clase A, prefijo 8 bits), de tamano mediano (clase B, prefijo 16 bits) o pequeno (clase C, prefijo 24 bits). Tenemos 128 prefijos correspondientes a clases A (0.0.0.0/8-127.0.0.0/8), 16384 de clases B (128.0.0.0/16-191.255.0.0/16) y algo mas de 2 millones de clases C (192.0.0.0/24-223.255.255.0/24). prefijo hosts +--------------------------+ clase A |0 | | /8 > 16M +--------------------------+ +--------------------------+ clase B |10 | | /16 65536 +--------------------------+ +--------------------------+ clase C |110 | | /24 256 +--------------------------+ La asignaion de direcciones comenza a hacerse de manera centralizada por un onico centro de registro (SRI-NIC) satisfaciendo casi todas las solicitudes sin necesidad de mayor tramite. Este modelo de asignacion de direcciones, cuando Internet comenzo a crecer de forma espectacular, trajo algunas de estas consecuencias: Mal aprovechamiento del espacio de direcciones. Cada centro tendia a pedir una clase superior a la requerida, normalmente una clase B en vez de una o varias clases C, por puro optimismo en el crecimiento propio o por simple vanidad. Peligro de agotamiento de las direcciones de clase B. Las mas solicitadas debido a la escasez de posibilidades de eleccion. La alerta sono cuando se habia agotado el 30% de esta clase y la demanda crecia exponencialmente. Sintomas de saturacion en los routers de los backbones. Al imponerse restricciones severas en la asignacion de clases B, las peticiones de multiples clases C se hicieron masivas, lo que hizo que aumentara de forma explosiva el numero de prefijos que los routers habian de mantener en sus tablas, llegandose a alcanzar los limites fisicos impuestos por la capacidad de memoria y de proceso. Por tanto nos encontramos ante un doble problema: agotamiento de direcciones y colapso de routers debido a la explosion de rutas. En una situacion en la que la poblacio conectada a la red se duplicaba (en terminos de equipos y redes conectadas) en periodos que oscilaban en torno a los 6 meses habia que tomar medidas urgentes, y he aqui algunas de las que se tomaron: Imposicion de politicas restrictivas de asignacion de direcciones por parte de los centros de registros (ya descentralizados del primitivo NIC), como ya se ha apuntado antes. Modificacion de los protocolos exteriores de enrutamiento para soportar prefijos de red variables. Este metodo se conoce como CIDR (Classless Inter-Domain Routing) [3] y consiste en la agregacion de prefijos que son adyacentes para dar lugar a prefijos menores (y por tanto mas generales), con lo que se reducia el numero de entradas en las tablas de los routers. Por ejemplo, el RIPE-NCC ha asignado a jpijaISP el bloque 193.144.0.0/15 (131.072 direcciones) para delegar entre sus users, anunciandose todo el bloque como un unico prefijo. Iniciacion de la asignacion, segun el modelo CIDR o sin-clase, de partes del espacio de direcciones que estaban reservadas, como 64.0.0.0/8 - 126.0.0.0/8 que suponen aproximadamente 1/4 del total del espacio asignable. Estas direcciones se asignaron en bloques de prefijo variable. Para entender bien el problema hay que tener en cuenta que el periodo de tiempo en el que los fabricantes duplican la capacidad de proceso de sus equipos y la de sus memorias es de aproximadamente dos anos. La capacidad de los routers que deben mantener en sus tablas una informacion completa o full-routing sobre la topologia de Internet (equipos conectados a los backbones principales o de dominios conectados a multiples proveedores -multi-homed-) se habria hoy dia superado, con el colapso consiguiente de Internet, si CIDR no hubiese sido puesto en funcionamiento a principios de 1994. Tengase en cuenta que al escribir esto hay mas de 60.000 redes conectadas mientras que los equipos que soportan full-routing manejan del orden de los 30.000 prefijos, estando el limite de tecnologia actual en torno a los 40.000 prefijos. por ejemplo jpijaISP cuenta en su dominio interno con mas de 650 redes pero solo anuncia al exterior 32 prefijos, en su mayoria clases B historicas, con lo que se consigue una agregacion optima. En cualquier caso, hay que entender que tanto CIDR como las politicas restrictivas de asignacion de direcciones son solo medidas temporales, dirigidas a afrontar problemas concretos y que no resuelven (en algunos casos hasta agravan) los problemas cronicos detectados en la web0 en gran parte debidos a su tremendo creciemitno. Asi, se han llegado a plantear iniciativas como la devolucino de direcciones, la obligatoriedad de cambiar de direcciones al cambiar de proveedor , la asignacion dinamica de direcciones, el uso de traductores de direcciones (NAT) que transformen un espacio privado de direcciones en otro perteneciente al proveedor, o incluso el cobrar una cantidad elevada por cada prefijo (no perteneciente al espacio del proveedor) que un user desee que su proveedor anuncie. Otros puntos debiles De forma recurrente vemos como se achaca a Internet el ser un medio de comunicacion inseguro. Este es un tema con muchas aristas y que debe ser examinado en cada una de sus partes. Dado el caracter puramente acadamico de Internet en el comienzo de su andadura, los asuntos relativos a la seguridad fueron, relegados a posterior estudio hasta que los primeros ataques globales hacen sonar la alarma y empieza a producirse un notable esfuerzo en incorporar mecanismos de seguridad a las aplicaciones existentes. ---[line] o sea... despues que se echan el moco y esta todo cagado intentan solucionarlo.... por favor...., asy segui con lo tuyo.... Sin embargo, el problema de seguridad en el nivel de red sigue sin ser tenido en cuenta y comienza a producirse una serie de ataques cada vez mas sofisticados y basados en la suplantacion de la identidad de maquinas conectadas a la red, [lease spoof] pero los protocolos siguen sin incorporar medidas especificas de seguridad. (por ahora sigamos felicez...) Pero esto es solo una parte del problema. La seguridad integral comprende servicios tanto de confidencialidad como de autentificacion, integridad y no rechazo para los que se requieren tecnicas criptograficas que estan sujetas a diferentes normativas de exportacion y uso en determinados paises, lo que hace complicado su uso generalizado en un medio que se tiene por libre (en cuanto a la naturaleza de la informacion intercambiada y su formato) y homogeneo (en cuanto al tipo de proocolos/aplicaciones empleados). Se corre el peligro de fracturar la red en zonas donde se puedan intercambiar informacion de forma segura y otras en que no, bien por considerarse tecnologia de uso militar, bien por el derecho que se guardan algunos gobiernos a poder intervenir -e interpretar- las comunicaciones de sus ciudadanos. Pero ese tema se lo dejariamos en un principio al pendejo. En otro orden de cosas, estamos asistiendo al nacimiento de servicios de transmision de informacion en tiempo real dentro de la web0. Ejemplos de ello son las aplicaciones para comunicaciones de voz a traves de la red y el Mbone, red virtual superpuesta a la Internet, basada en el concepto de IP Multicast [4]. Un defecto claro de IPv4 es la falta de caracterizacion de los distintos flujos de informacion que viajan por la red, dando la misma consideracion a un trafico que podria considerarse como de relleno como las NetNews, sujeto a la redundancia de un mecanismo corrector de transporte, que a una transmision de voz en tiempo real en la que la perdida de un numero significativo de paquetes puede alterar o incluso imposibilitar la interpretacion de la informacion. Ipv6 Los problemas mencionados anteriormente han sido tenidos en cuenta por la comunidad Internet desde que se empezaron a predecir sus consecuencias (en mayor o menor grado de pesimismo catastrofista) Se elaboraron una serie de propuestas conducentes a la creacion de un nuevo protocolo para la red Internet, conocido como IP Next Generation (IPng). A finales de 1994 El IESG (Internet Engineering Steering Group), despues de examinar las propuestas finales y en base a unos criterios que habian sido elaborados con anterioridad, emitio una recomendacion para IPng que posteriormente se publicaria como RFC 1752 [5] con la categoria de Proposed Standard. Dicha recomendacion esta siendo desarrollada actualmente por los grupos de trabajo del IETF (Internet Engineering Task Force). En esta recomendacio se asigna para IPng el nmero de version 6 y pasa a denominarse formalmente como IPv6 [6]. La decision del IETF tiene como aspecto mas importante la eleccio de SIPP (Simple IP Protocol Plus) [7] como base para la elaboracio de IPv6 con aspectos de otros contendientes, en particular de TUBA (TCP & UDP with Bigger Addresses) [8] del que se toma el modelo de transicion, uno de los aspectos ma importantes recogidos entre los criterios de seleccion. Mientras que SIPP representa un paso evolutivo en el protocolo IP, tomando de la version 4 los elementos que se emplean y desechando los que no se usan, simplificando al mismo tiempo el protocolo para optimizar la transmision; TUBA proponia el empleo del protocolo de ISO para redes no orientadas a la conexion (CLNP) y el uso de direcciones NSAP normalizadas. Volviendo a IPv6, nos encontramos como primera caracteristica (como era facil suponer) unas direcciones ampliadas (128 bits) junto con unas facilidades de enrutamiento mejoradas. El espacio de direcciones no solo aumenta sino que su estructura se hace mas adecuada para un encaminamiento optimo mediante una jerarquia de prefijos que implican distintos estamentos de asignacion. He aqui algunos ejemplos de estas nuevas direcciones en su representacion textual (notese la presentacion hexadecimal y la eliminacion de ceros no significativos): unicast ( direcciones equivalentes) 4800:F400:0045:EA00:0000:0000:0000:04E7 4800:F400:45:EA00:0:0:0:4E7 4800:F400:45:EA00::4E7 multicast FF02:0:0:0:0:0:0:2E5 FF02::2E5 compatible IPv4 0:0:0:0:0:0:130.206.16.75 ::130.206.16.75 Otras caracteristicas resenables del nuevo esquema de direccionamiento son: Da cabida a distintos modelos de asignacion, como el basado en el proveedor (direcciones unicast de equipos que se conectan a traves de un proveedor), el geografico (para puntos neutros de interconexion, por ejemplo) o local, sin conexion a la red global. Hay prefijos preasignados a centros de registro como Internic, RIPE-NCC (Europa) y APNIC (Asia-Pacifico) que a su vez registraran prefijos para los proveedores de su ambito. Tambien se pueden representar direcciones IPX y NSAP con las nuevas direcciones IPv6 de 128 bits. Un nuevo tipo de direccion: anycast, que identifica un grupo de direcciones y que al ser empleado, se referira al nodo mas proximo al originador. Las direcciones de broadcast no existen en IPv6. Son casos particulares de direcciones multicast. Estas ultimas incorporan un campo de ambito, en sustitucion del parametro TTL usado en la actualidad para determinar el rango de actuacion de una sesion multicast. Autoconfiguracion. Uno de los aspectos fundamentales de IPv6 es la incorporacion de mecanismos que permitan la conexion automatica (modelo plug and play) de equipos a la red. Pueden construirse direcciones globales usando como parte local la direccion MAC de un equipo y obteniendo el prefijo a traves de un servidor de la red. Las cabeceras de los paquetes han sido simplificadas en IPv6 eliminando los campos no utilizados y anadiendo el concepto de headers de extension. Estas permiten seleccionar facilidades especiales de encaminamiento, fragmentacion y seguridad asi como el manejo de opciones, que han sido eliminadas de los headers de IPv6. Cada header incluye un campo que define el tipo de header que le sigue a continuacion, hasta llegar a la de transporte, con lo que se agiliza el proceso de los packetes. +----------------+-------------+-----------+ | header IPv4 | header | datos | | + opciones | transporte | | +----------------+-------------+-----------+ datagrama IP version 4 +----------+ ... +-----------+ ... +---------+-------+ | header | | header | | header | datos | | IPv6 | | extension | | transp. | | +----------+ ... +-----------+ ... +-----------------+ datagrama IP version 6 En IPv6 la fragmentacion/ensamblado de paquetes es una tarea de los sistemas finales con lo que de nuevo se facilita la vida a los routers para que se entreguen a su mision primordial, enrutar packetes. :) La unidad maxima de transmision (MTU) de un enlace es ahora como minimo de 576 octetos (68 en IPv4). El enrutamiento propuesto permitira la seleccion de proveedor por parte del originador asi como la movilidad mediante el empleo de headers de extension de enrutamiento en la que se especifique un camino elegido (que sera recorrido a la inversa al regreso) mediante direcciones unicast o anycast. La transmision de informacion en tiempo real se podra realizar mediante el empleo de dos campos en la cabecera IPv6. La prioridad, que distingue los diferentes tipos de datagramas segun la clase de servicio y la etiqueta de flujo, que permite diferenciar y asignar distintos estados a distintos flujos originados por la misma fuente. La "seguridad" en el nivel de red sera una realidad mediante el empleo de headers de extension de autentificacion, que proporciona servicios de verificacion de identidad e integridad y de encapsulado de seguridad que proporciona servicios de confidencialidad. No plantean problemas de exportacion de tecnologia por tratarse de un procedimiento de verificacion (se cifra una funcion del contenido, pero no el contenido en si) El transito hacia Ipv6 Uno de los aspectos mas importante de todos los contemplados durante el proceso IPng es el de la migracion o paso de una red basada en la arquitectura IPv4 a IPv6. Un criterio que guia la seleccion de candidatos para IPng fue el de rechazar cualquier propuesta, por brillante que fuera, que no incluyera un plan viable de transicion de la base actual instalada de equipos IPv4 a IPv6. La transicion ha de hacerse de forma gradual, sin afectar a los servicios que se prestan en la actualidad. En IPv6 el metodo propuesto se basa primordialmente en la coexistencia de ambos protocolos. Los nuevos sistemas que vayan incorporando IPv6 deberan mantener asimismo la plena capacidad de procesar paquetes IPv4. Para conectar las islas IPv6 que iran emergiendo mediante la infraestructura Internet actual se emplearan tecnicas de encapsulado (tuneles IPv6) en los datagramas IPv4 de forma similar a como funciona en la actualidad el Mbone. A medida que los routers vayan incorporando IPv6, los tuneles se iran "desmantelando" para dar paso a una infraestructura ya basada en IPv6. Respecto a las aplicaciones actuales, la migracion a IPv6 requiere que todas las referencias a direcciones de 32 bits sean sustituidas por las nuevas de 128. Desgraciadamente eso supone cambiar practicamente todas la aplicaciones existentes. Ademas, un nuevo tipo de registro debera ser definido en el DNS para realizar la transformacion de los nombres de dominio actuales (que no requieren cambio) en direcciones de 128 bits. Este nuevo registro es el AAAA y la traduccion inversa de direcciones a nombres se realizara dentro de la nueva zona ip6.int dispuesta a tal efecto. Diversos fabricantes e instituciones se hallan trabajando, en paralelo con el trabajo del IETF, en productos conformes a IPv6 para distintas plataformas. Detalles sobre este asunto y sobre todo lo que rodea a IPv6 se pueden encontrar en la pagina sobre IP Next Generation que puede visitarse en: http://playground.sun.com/pub/ipng/html/ipng-main.html aSyNCHRoNiK Creando Confusiones