lunes, 7 de marzo de 2011

Saga Ipv6 Episode II: Direcciones Ipv6. Formato y tipos

El cambio más significativo en las direcciones respecto a IPv4 ha sido que, ahora, las direcciones IPv6 son asignadas a interfaces, no a nodos. Cuando un nodo tiene más de un interfaz, el nodo puede direccionarse mediante la dirección de cualquiera de sus interfaces.
Un conjunto de interfaces puede tener asignada una sola dirección IPv6, esta agrupación elimina la posibilidad de que cada uno de los interfaces que comparten una dirección pueda tener asignada cualquier otra.
Los routers pueden tener interfaces sin dirección asignada en enlaces PPP (Point to Point Protocol, Protocolo Punto a Punto). Los interfaces de enlaces PPP no necesitan dirección IP si no son origen o destino de datagramas IPv6.

Representación de direcciones

La dirección IPv6 (128 bits) se representa usualmente en hexadecimal, creando grupos separando cada dos octetos mediante dos puntos (:). 

Ejemplo:


                             2001:0db8:85a3:0000:0000:8a2e:0370:7334

La notación Ipv6 se puede simplificar con las siguientes reglas que afectan a los ceros:

Ceros iniciales
Los ceros iniciales de cada grupo pueden omitirse.De ese modo, la dirección IPv6 ejemplo podría escribirse:
                              2001:db8:85a3:0:0:8a2e:370:7334

Cada grupo debe contener al menos un dígito hexadecimal, excepto para el caso descrito a continuación.

Grupos de ceros
Uno o más grupos de ceros pueden ser sustituidos por dos puntos. Esta sustitución puede realizarse únicamente una vez en la dirección. En caso contrario, obtendríamos una representación ambigua. Si pueden hacerse varias sustituciones, haremos la mayor número de grupos; si el número de grupos es igual, haremos la situada más a la izquierda.
Con esta regla, reduciríamos aún más la dirección ejemplo:
                             
                               2001:db8:85a3::8a2e:370:7334
Ejemplo no válido: 2001:0:0:0:2:0:0:1  -> 2001::2::1 (debería ser 2001::2:0:0:1 ó 2001:0:0:0:2::1)

La dirección de loopback, 0:0:0:0:0:0:0:1, y la dirección IPv6 indefinida, 0:0:0:0:0:0:0:0, se reducen a ::1 y :: respectivamente.Notación decimal con puntos

Direcciones IPv4-mapeada
Se ha introducido una notación especial para expresar direcciones IPv6 que sean IPv4-mapeada,  representando los últimos 32 bits de la dirección IPv6 en el formato decimal con puntos usado en IPv4.
Por ejemplo,  IPv6 del tipo IPv4-mapped 

                           ::ffff:c000:280 se puede representar como ::ffff:192.0.2.128

Tipos de direcciones

En el IPv6 existen tres tipos básicos de direcciones:

  • Direcciones unicast: Están dirigidas a un único interfaz en la red. Actualmente se dividen en varios grupos, y existe un grupo especial que facilita la compatibilidad con las direcciones de la versión 4. 
  • Direcciones anycast: Identifican a un conjunto o grupo de interfaces de red. El paquete se enviará a cualquier interfaz que forme parte del conjunto. En realidad son direcciones unicast que se encuentran asignadas a varios interfaces. Un paquete IPv6 con una dirección destino anycast es encaminado a uno y sólo uno de los interfaces identificados por la dirección. 
  • Direcciones multicast: Identifican a un conjunto de interfaces de la red, de manera que cada paquete es enviado a todos y cada uno de ellos individualmente.

No existen direcciones broadcast en IPv6 , su función es realizada por las direcciones multicast.

Identificación del tipo

Los tipos de direcciones IPv6 pueden identificarse tomando en cuenta los primeros bits de cada dirección
::              La dirección con todo ceros indica la ausencia de dirección, y no se asigna ningún nodo
::1            La dirección de loopback 
::ffff:0:0   La dirección IPv4 mapeada  
fe80::       El prefijo de enlace local. La dirección sólo es válida en la red local
ff00::       El prefijo de multicast. Se usa para las direcciones multicast.

Resto , unicast global. Direcciones válidas globalmente en internet.

Asignando direcciones Ipv6. Formato


Como hemos visto las direcciones Ipv6 se clasifican en tres grupos: unicast, multicast y anycast. Para reconocerlas se dividen los 128 bits en bloques que representan distintas características de la dirección.

Formato Unicast


Se compone de 2 grandes bloques de 64 bits, el primero asignado por el ISP (prefijo de red) y el segundo por el usuario (bloque de interfaz). El primer bloque puede subdividirse en 2 trozos uno de 48 bits para el prefijo y otro de 16 bits para identificar subredes, quedando

Formato general unicast
Bits481664
campoprefijo de redsubnet ididentificador de interfaz 

La asignación más recomendable es que el proveedor nos fije los primeros 48 bits y deje los 16 bits siguientes al administrador local para asignación de subreredes (hasta 2¹⁶=65536 subredes). Los 64 bits de interfaz se pueden generar:
Automáticamente, a partir de la MAC del interface (48 bits) insertando FF:FE en el medio de la MAC   expresada en hexadecimal, por ejemplo 00:1D:BA:06:37:64 --> 00:1D:BA:FF:FE:06:37:64
   Problema: La MAC identifica al usuario y esto evita su privacidad en internet
- Asignada por DHCPv6
- Aleatoriamente de forma automática
- Asignada manualmente


Link-local Unicast
La dirección link-local es el caso especial que representa una dirección unicast solo válida en una red interna y no es enrutable en internet. En este caso el bloque de interface es igual , cambiando el bloque de red por el prefijo FE80 con 10 bits, seguido de 54 ceros hasta completar los 64 bits del bloque de red
Formato Unicast Link-local 
Bits10 (FE80)5464
campoprefijocerosidentificador de interfaz

El prefijo FE80 identifica la dirección unicast como no enrutable y será descartado en los routers.

Global Unicast

Son las direcciones unicast  enrutables
Los tres primeros bits del bloque de 64 de red se fijan a 001 (primer digito hexadecimal 0010 ó 0011):

Formato Goblal Unicast
Bits0010..
0011..
4864
campoprefijoresto de direccion globalidentificador de interfaz

                2xxx:                        xxxx:xxxx:xxxx
                3xxx:                        xxxx:xxxx:xxxx

El prefijo 2xxx ó 3xxx nos indica un dirección global unicast, enrutable, cualquier otra cosa se ignora en un router.



Formato Multicast
  • Se comporta cómo multicast de IPv4
  • Casi todo el hardware ya lo entiende
  • IPv6 requiere que esto esté extendido
  • Los hosts se unen a un grupo multicast y entonces les llega la comunicación
  • Los routers y switches son los encargados de mantener la tabla de miembros multicast
  • Un host manda a un grupo y el resto de la infraestructura se encarga de enviar a el resto de los miembros



Formato general multicast
Bits8
FF
44112
Campoprefjoflagsscopegroup ID


• Flags: 0RPT: El flag de más peso está reservado y debe inicializarse a 0
                      – T: Asignación Transitoria, o no
                      – P: Asignación basada o no, en un prefijo de red
                      – R: Dirección de un Rendezvous Point incrustada, o no
• Scope:
                     1 - Interface-Local
                     2 - link-local
                     4 - admin-local
                     5 - site local
                     8 - organization-local
                     E - global
(3,F reservados)(6,7,9,A,B,C,D sin asignar)

Direcciones "Well Known multicast"


FF01::1 – todas las dir de este interfaz
FF02::1 – todas las dir en este link
FF01::2 – todos los routers de este interfaz
FF02::2 – todos los routers de este link
FF05::2 – todos los routers de este site

FF02::1:FFnn:nnnn – “nodo solicitado”
Un host debe unirse a un grupo multicast para cada dirección configurada en cada interfaz



Resumen 64 bits de red

  • 2 or 3 – unicast global (Enrutable por Internet)
  • FE80 – unicast link-local (APIPA)
  • FEC0 – unicast site-local (desaparece)
  • FC00 – unicast unique local (IP privada)
  • FF – multicast
Saga Ipv6 Episode I: Características y objetivos
Saga Ipv6 Episode II: Direcciones Ipv6. Formato y tipos
Saga Ipv6 Episode III: Direccionamiento en IPv6


No hay comentarios:

Publicar un comentario