viernes, 22 de agosto de 2014

IPv4 y IPv6

IPv4
El Internet Protocol version 4 (IPv4) es la cuarta versión del protocolo Internet Protocol (IP), y la primera en ser implementada a gran escala. IPv4 usa direcciones de 32 bits, limitándola a 2^{32} = 4.294.967.296 direcciones únicas, muchas de las cuales están dedicadas a redes locales (LANs).
Detalle de una dirección IPv4, expresada en notación decimal separada por puntos.


Formas de representar una IPv4:
Desperdicio de direcciones IP
Uno de los principales es que inicialmente no se consideró el enorme crecimiento que iba a tener Internet; se asignaron bloques de direcciones grandes (de 16,271 millones de direcciones) a países, e incluso a empresas.
Otro motivo de desperdicio es que en la mayoría de las redes, exceptuando las más pequeñas, resulta conveniente dividir la red en subredes. Dentro de cada subred, la primera y la última dirección no son utilizables; de todos modos no siempre se utilizan todas las direcciones restantes. Por ejemplo, si en una subred se quieren acomodar 80 hosts, se necesita una subred de 128 direcciones (se tiene que redondear a la siguiente potencia de base 2); en este ejemplo, las 48 direcciones restantes ya no se utilizan.
IPv4
Es la versión más extendida. Una IP de ese tipo tiene una forma como esta:
212.150.67.158
Suele escribirse así por una cuestión práctica y de facilidad de lectura. Como cuatro números decimales, que pueden variar cada uno entre 0 y 255, separados por puntos.
Los equipos informáticos trabajan en realidad con bits. 1 bit puede tener sólo dos valores. O cero o uno. Los bits sirven para definir estados como encendido o apagado, verdadero o falso, más o menos, etc. Así funcionan internamente los equipos y sus programas.
Cada número de la IPv4 representa 8 bits. O lo que es lo mismo, 1 byte. Por tanto están formadas en total por 32 bits o 4 bytes (4 grupos de 8 bits cada uno, 4 x 8=32).
Hay otra versión de IP que está en crecimiento y que es la alternativa del futuro. Se llama...
IPv6
Surgió porque el IPv4 estaba "quedándose corto". Empezaban a acabarse las IPs para identificar a los miles de millones de equipos y dispositivos de las redes mundiales e Internet.
El IPv6 asigna 128 bits a cada IP en vez de sólo 32 como el IPv4. Eso aumenta (muchísimo) el número de IPs disponibles. Pasan de "sólo" 232 a 2128. ¿Cuánto es eso en un número "normal"?
            -Nº aproximado de IPs únicas del IPv4:
            4.300.000.000
            -Nº que permite el IPv6:
            340.282.366.920.938.463.463.374.607.431.768.211.456
La diferencia queda clara. Es un valor suficiente para poder asignar trillones de IPs a cada habitante del planeta y todos los dispositivos que tenga.

Una ilustración de una dirección IP (versión 6), en hexadecimal y binario.





Hay varias formas de escribir una IPv6:
    Notación completa
                Tiene este aspecto:
                2A03:2880:2110:CF01:0ACE:0000:0000:0009
                Los valores separados por el símbolo ":" son dos pares de números hexadecimales (por ejemplo, 2A03). Representan a 2 bytes (16 bits).
                En total hay 8 grupos de números hexadecimales. Corresponden a los 128 bits de la IPv6 (8 grupos x 16 bits cada grupo= 128 bits).
     Notación abreviada
                Elimina los ceros que están al principio de cada grupo. Y representa con ": :" el grupo o grupos consecutivos formado/s sólo por ceros.
                La IPv6 anterior quedaría así:
                2A03:2880:2110:CF01:ACE::9
                Los ceros del sexto y sétimo grupo se han abreviado como ": :". Y no se escriben los ceros que estaban al principio del quinto y octavo grupos.
    Notación mixta
                Es la menos habitual. Escribe los últimos 32 bits con el formato del IPv4 y los demás con el del IPv6. Por ejemplo:
                2A03:2880:2110:CF01:0ACE:0000:212.150.67.158
                O bien
                2A03:2880:2110:CF01:ACE::212.150.67.158
Algunos de los cambios de IPv4 a IPv6 más relevantes son:
Capacidad extendida de direccionamiento
El interés de los diseñadores era que direcciones más largas permitiesen una mejor entrega jerárquica, sistemática y definitiva de las direcciones, y una eficiente agregación de rutas. Con IPv4, se desplegaron complejas técnicas de Classless Interdomain Routing (CIDR) para utilizar de mejor manera el pequeño espacio de direcciones. El esfuerzo requerido para reasignar la numeración de una red existente con prefijos de rutas distintos es muy grande, como se discute en RFC 2071 y RFC 2072. Sin embargo, con IPv6, cambiando el prefijo anunciado por unos pocos routers es posible en principio reasignar la numeración de toda la red, ya que los identificadores de nodos (los 64 bits menos significativos de la dirección) pueden ser auto-configurados independientemente por un nodo.
El tamaño de una subred en IPv6 es de 264 (máscara de subred de 64-bit), el cuadrado del tamaño de la Internet IPv4 entera. Así, las tasas de utilización del espacio de direcciones será probablemente menor en IPv6, pero la administración de las redes y el ruteo serán más eficientes debido a las decisiones de diseño inherentes al mayor tamaño de las subredes y la agregación jerárquica de rutas.
Autoconfiguración de direcciones libres de estado (SLAAC)
Los nodos IPv6 pueden configurarse a sí mismos automáticamente cuando son conectados a una red ruteada en IPv6 usando los mensajes de descubrimiento de routers de ICMPv6. La primera vez que son conectados a una red, el nodo envía una solicitud de router de link-local usando multicast (router solicitación) pidiendo los parámetros de configuración; y si los routers están configurados para esto, responderán este requerimiento con un "anuncio de router" (router advertisement) que contiene los parámetros de configuración de capa de red.
Si la autoconfiguración de direcciones libres de estado no es adecuada para una aplicación, es posible utilizar Dynamic Host Configuration Protocol para IPv6 (DHCPv6) o bien los nodos pueden ser configurados en forma estática.
Los routers presentan un caso especial de requerimientos para la configuración de direcciones, ya que muchas veces son la fuente para información de autoconfiguración, como anuncios de prefijos de red y anuncios de router. La configuración sin estado para routers se logra con un protocolo especial de renumeración de routers.
Multicast
Multicast, la habilidad de enviar un paquete único a destinos múltiples es parte de la especificación base de IPv6. Esto es diferente a IPv4, donde es opcional (aunque usualmente implementado).
IPv6 no implementa broadcast, que es la habilidad de enviar un paquete a todos los nodos del enlace conectado. El mismo efecto puede lograrse enviando un paquete al grupo de multicast de enlace-local todos los nodos (all hosts). Por lo tanto, no existe el concepto de una dirección de broadcast y así la dirección más alta de la red (la dirección de broadcast en una red IPv4) es considerada una dirección normal en IPv6.
Muchos ambientes no tienen, sin embargo, configuradas sus redes para rutear paquetes multicast, por lo que en éstas será posible hacer "multicasting" en la red local, pero no necesariamente en forma global.
El multicast IPv6 comparte protocolos y características comunes con IPv4, pero también incorpora cambios y mejoras. Incluso cuando se le asigne a una organización el más pequeño de los prefijos de ruteo global IPv6, ésta también recibe la posibilidad de usar uno de los 4.2 billones de grupos multicast IPv6 ruteables de fuente específica para asignarlos para aplicaciones multicast intra-dominio o entre-dominios (RFC 3306). En IPv4 era muy difícil para una organización conseguir incluso un único grupo multicast ruteable entre-dominios y la implementación de las soluciones entre-dominios eran anticuadas (RFC 2908). IPv6 también soporta nuevas soluciones multicast, incluyendo Embedded Rendezvous Point (RFC 3956), el que simplifica el despliegue de soluciones entre dominios.
Seguridad de Nivel de Red obligatoria
Internet Protocol Security (IPsec), el protocolo para cifrado y autenticación IP forma parte integral del protocolo base en IPv6. El soporte IPsec es obligatorio en IPv6; a diferencia de IPv4, donde es opcional o fue un agregado posterior (pero usualmente implementado). Sin embargo, actualmente no se está usando normalmente IPsec excepto para asegurar el tráfico entre routers de BGP IPv6, aunque también se puede utilizar en OSPFv3 y en movilidad IPv6 (ver Movilidad IPv6)
Procesamiento simplificado en los routers
Se hicieron varias simplificaciones en la cabecera de los paquetes, así como en el proceso de reenvío de paquetes para hacer el procesamiento de los paquetes más simple y por ello más eficiente. En concreto,
·         El encabezado del paquete en IPv6 es más simple que el utilizado en IPv4, así los campos que son raramente utilizados han sido movidos a opciones separadas; en efecto, aunque las direcciones en IPv6 son 4 veces más largas, el encabezado IPv6 (sin opciones) es solamente el doble de largo que el encabezado IPv4 (sin opciones).
·         Los routers IPv6 no hacen fragmentación. Los nodos IPv6 requieren ya sea hacer descubrimiento de MTU, realizar fragmentación extremo a extremo o enviar paquetes menores al MTU mínimo de IPv6 de 1280 bytes.
·         El encabezado IPv6 no está protegido por una suma de comprobación (checksum); la protección de integridad se asume asegurada tanto por el checksum de capa de enlace y por un checksum de nivel superior (TCP, UDP, etc.). En efecto, los routers IPv6 no necesitan recalcular la suma de comprobación cada vez que algún campo del encabezado (como el contador de saltos o Tiempo de Vida) cambian. Esta mejora puede ser menos necesaria en routers que utilizan hardware dedicado para computar este cálculo y así pueden hacerlo a velocidad de línea (wirespeed), pero es relevante para routers por software.
·         El campo Tiempo de Vida de IPv4, conocido como TTL (Time To Live), pasa a llamarse Límite de saltos, reflejando el hecho de que ya no se espera que los routers computen el tiempo en segundos que tarda en atravesarlo (que en cualquier caso siempre resulta menor de 1 segundo). Se simplifica como el número de saltos entre routers que se permita realizar al paquete IPv6.

No hay comentarios:

Publicar un comentario