martes, 31 de enero de 2012

Peleandome con la red ¿que es ipv6 ?


¿Qué es el IPv6?
IPv6 (Internet Protocol Version 6) o IPng  (Next Generation Internet Protocol) es la nueva versión del protocolo IP (Internet Protocol). Ha sido diseñado por el IETF (Internet Engineering Task Force) para reemplazar en forma gradual a la versión actual, el IPv4.
En esta versión se mantuvieron las funciones del IPv4 que son utilizadas, las que no son utilizadas o se usan con poca frecuencia, se quitaron o se hicieron opcionales, agregándose nuevas características.


¿Porqué surge? El motivo básico para crear un nuevo protocolo fue la falta de direcciones. IPv4 tiene un espacio de direcciones de 32 bits, en cambio IPv6 ofrece un espacio de 128 bits. El reducido espacio de direcciones de IPv4, junto al hecho de falta de coordinación para su asignación durante la década de los 80, sin ningún tipo de optimización, dejando incluso espacios de direcciones discontinuos, generan en la actualidad, dificultades no previstas en aquel momento.
Otros de los problemas de IPv4 es la gran dimensión de las tablas de ruteo en el backbone de Internet, que lo hace ineficaz y perjudica los tiempos de respuesta.
Debido a la multitud de nuevas aplicaciones en las que IPv4 es utilizado, ha sido necesario agregar nuevas funcionalidades al protocolo básico, aspectos que no fueron contemplados en el análisis inicial de IPv4, lo que genera complicaciones en su escalabilidad para nuevos requerimientos y en el uso simultáneo de dos o más de dichas funcionalidades. Entre las mas conocidas se pueden mencionar medidas para permitir la Calidad de Servicio (QoS), Seguridad (IPsec) y movilidad.


Características principales
  • Mayor espacio de direcciones.  El tamaño de las direcciones IP cambia de 32 bits a 128 bits, para soportar: mas niveles de jerarquías de direccionamiento y mas nodos direccionables.
  • Simplificación del formato del Header. Algunos campos del header IPv4 se quitan o se hacen opcionales
  • Paquetes IP eficientes y extensibles, sin que haya fragmentación en los routers, alineados a 64 bits y con una cabecera de longitud fija, mas simple, que agiliza su procesado por parte del router.
  • Posibilidad de paquetes con carga útil (datos) de mas de 65.355 bytes.
  • Seguridad en el núcleo del protocolo (IPsec). El soporte de IPsec es un requerimiento del protocolo IPv6.
  • Capacidad de etiquetas de flujo. Puede ser usada por un nodo origen para etiquetar paquetes pertenecientes a un flujo (flow) de tráfico particular, que requieren manejo especial por los routers IPv6, tal como calidad de servicio no por defecto o servicios de tiempo real. Por ejemplo video conferencia.
  • Autoconfiguración: la autoconfiguración de direcciones es mas simple. Especialmente en direcciones Aggregatable Global Unicast, los 64 bits superiores son seteados por un mensaje desde el router (Router Advertisement) y los 64 bits mas bajos son seteados con la dirección MAC (en formato EUI-64). En este caso, el largo del prefijo de la subred es 64, por lo que no hay que preocuparse mas por la máscara de red. Además el largo del prefijo no depende en el número de los hosts por lo tanto la asignación es mas simple.
  • Renumeración y "multihoming": facilitando el cambio de proveedor de servicios.
  • Características de movilidad, la posibilidad de que un nodo mantenga la misma dirección IP, a pesar de su movilidad.
  • Ruteo más eficiente en el backbone de la red, debido a la jerarquía de direccionamiento basada en aggregation.
  • Calidad de servicio (QoS) y clase de servicio (CoS).
  • Capacidades de autenticación y privacidad

¿Qué tan grande es el espacio de direcciones
Habrían 2 ^ 128 direcciones IP diferentes, significa que si la población mundial fuera de 10 billones habría 3.4 * 10 ^ 27 direcciones por persona. O visto de otra forma habría un promedio de 2.2 * 10 ^ 20 direcciones por centímetro cuadrado. Siendo así muy pequeña la posibilidad de que se agoten las nuevas direcciones.


Direccionamiento
Las direcciones son de 128 bits e identifican interfaces individuales o conjuntos de interfaces. Al igual que en IPv4 en los nodos se asignan a interfaces.

Se clasifican en tres tipos:
  • Unicast identifican a una sola interfaz. Un paquete enviado a una dirección unicast es entregado sólo a la interfaz identificada con dicha dirección.
    [RFC 2373] [RFC 2374]

  • Anycast identifican a un conjunto de interfaces. Un paquete enviado a una dirección anycast, será entregado a alguna de las interfaces identificadas con la dirección del conjunto al cual pertenece esa dirección anycast. [RFC 2526]

  • Multicast identifican un grupo de interfaces. Cuando un paquete es enviado a una dirección multicast es entregado a todos las interfaces del grupo identificadas con esa dirección.
En el IPv6 no existen direcciones broadcast, su funcionalidad ha sido  mejorada por las direcciones multicast. [RFC 2375]

Representación de las direcciones
Existen tres formas de representar las direcciones IPv6 como strings de texto.
  • x:x:x:x:x:x:x:x donde cada x es el valor hexadecimal de 16 bits, de cada uno de los 8 campos que definen la dirección. No es necesario escribir los ceros a la izquierda de cada campo, pero al menos debe existir un número en cada campo.
  • Ejemplos:
        FEDC:BA98:7654:3210:FEDC:BA98:7654:3210
        1080:0:0:0:8:800:200C:417A
  • Como será común utilizar esquemas de direccionamiento con largas cadenas de bits en cero, existe la posibilidad de usar sintacticamente :: para representarlos.El uso de :: indica uno o mas grupos de 16 bits de ceros. Dicho simbolo podrá aparecer una sola vez en cada dirección.
  • Por ejemplo:
                1080:0:0:0:8:800:200C:417A     unicast address
                FF01:0:0:0:0:0:0:101                multicast address
                0:0:0:0:0:0:0:1                         loopback address
                0:0:0:0:0:0:0:0                         unspecified addresses

      podrán ser representadas como:
     
               1080::8:800:200C:417A             unicast address
               FF01::101                                multicast address
               ::1                                           loopback address
               ::                                             unspecified addresses
  • Para escenarios con nodos IPv4 e IPv6 es posible utilizar la siguiente sintaxis:

  • x:x:x:x:x:x:d.d.d.d, donde x representan valores hexadecimales de las seis partes más significativas (de 16 bits cada una) que componen la dirección y las d, son valores decimales de los 4 partes menos significativas (de 8 bits cada una), de la representación estándar del formato de direcciones IPv4.
    Ejemplos:

                       0:0:0:0:0:0:13.1.68.3
                       0:0:0:0:0:FFFF:129.144.52.38

      o en la forma comprimida

                     ::13.1.68.3
                     ::FFFF:129.144.52.38

Representación de los prefijos de las direcciones
Los prefijos de identificadores de subredes, routers y rangos de direcciones IPv6 son expresados de la misma forma que en la notación CIDR utilizada en IPv4.
Un prefijo de dirección IPv6 se representa con la siguiente notación:

direccion-ipv6/longitud-prefijo, donde direccion-ipv6: es una dirección IPv6 en cualquiera de las notaciones mencionadas anteriormente.
longitud-prefijo: es un valor decimal que especifica cuantos de los bits más significativos, representan el prefijo de la dirección.

Direcciones Global Unicast
Formato de las direcciones global unicast

Prefijo de ruteo global: es un prefijo asignado a un sitio, generalmente está estructurado jerárquicamente por los RIRs e ISPs.

Identificador de Subred: es el identificador de una subred dentro de un sitio. Está diseñado para que los administradores de los sitios lo estructuren jerárquicamente

Identificador de Interfaz: es el identificador de una interfaz. En todas las direcciones unicast, excepto las que comienzan con el valor binario 000, el identificador de interfaz debe ser de 64 bits y estar construído en el formato Modified EUI-64.
El formato para este caso es el siguiente:

El siguiente es un ejemplo del formato de direcciones global unicast bajo el prefijo 2000::/3 administrado por el IANA



La asignación del espacio de direcciones IPv6 global unicast está accesible en IPV6 GLOBAL UNICAST ADDRESS ASSIGNMENTS

DNS
El almacenamiento actual de direcciones de Internet en el Domain Name System (DNS) de IPv4 no se puede extender fácilmente para que soporte direcciones IPv6 de 128 bits, ya que las aplicaciones asumen que a las consultas de direcciones se retornan solamente direcciones IPv4 de 32 bits.

Para poder almacenar las direcciones IPv6 se definieron las siguientes extensiones.

  • un nuevo tipo de registro, el registro AAAA. Se usa para almacenar direcciones IPv6, porque las extensiones están diseñadas para ser compatibles con implementaciones de DNS existentes;
  • un nuevo dominio para soportar búsquedas basadas en direcciones IPv6. Este dominio es IP6.ARPA;
  • Redefinición de las consultas existentes, que localizan direcciones IPv4, para que puedan también procesar direcciones IPv6.
Los cambios son diseñados para ser compatibles con el software existente. Se mantiene el soporte de direcciones IPv4.

Mecanismos de transición básicos
Los mecanismos de transición son un conjunto de mecanismos y de protocolos implementados en hosts y routers, junto con algunas guías operativas de direccionamiento designadas para hacer la transición de Internet al IPv6 con la menor interrupción posible.
Existen dos mecanismos básicos :

  • Dual Stack:  provee soporte completo para IPv4 e IPv6 en host y  routers.
  • Tunneling: encapsula paquetes IPv6 dentro de headers IPv4 siendo transportados a través de infraestructura de ruteo IPv4.
Dichos mecanismos están diseñados para ser usados por hosts y routers IPv6 que necesitan interoperar con hosts IPv4 y utilizar infraestructuras de ruteo IPv4. Se espera que muchos nodos necesitarán compatibilidad por mucho tiempo y quizás indefinidamente. No obstante, IPv6 también puede ser usado en ambientes donde no se requiere interoperabilidad con IPv4. Nodos diseñados para esos ambientes no necesitan usar ni implementar estos mecanismos.

Dual Stack
La forma mas directa para los nodos IPv6 de ser compatibles con nodos IPv4-only es proveyendo una implementación completa de IPv4. Los nodos IPv6 que proveen una implementación completa de IPv4 (además de su implementación de IPv6) son llamados nodos “IPv6/IPv4”. Estos nodos tienen la habilidad de enviar y recibir paquetes IPv6 e IPv4, pudiendo así interoperar directamente con nodos IPv4 usando paquetes IPv4, y también operar con nodos IPv6 usando paquetes IPv6.


Tunneling
Los nodos o redes IPv6 que se encuentran separadas por infraestructuras IPv4 pueden construir un enlace virtual, configurando un túnel. Paquetes IPv6 que van hacia un dominio IPv6 serán encapsulados dentro de paquetes IPv4. Los extremos del túnel son dos direcciones IPv4 y dos IPv6. Se pueden utilizar dos tipos de túneles: configurados y automáticos. Los túneles configurados son creados mediante configuración manual. Un ejemplo de redes conteniendo túneles configurados es el 6bone. Los túneles automáticos no necesitan configuración manual. Los extremos se determinan automáticamente determinados usando direcciones IPv6 IPv4-compatible.

No hay comentarios:

Publicar un comentario

Deja tus opiniones y/o comentarios, nos sirven para mejorar nuestro blog, gracias