martes, 14 de febrero de 2012

Seguridad para IPv6

En la actualidad, para poder utilizar IPv6 también es necesario tener instalado IPv4. Las redes interconectadas TCP/IP son vulnerables a diversos ataques, desde ataques pasivos (como el espionaje) a ataques activos (como los ataques de denegación de servicio). 

Cuando se utiliza IPv6 en una red, es importante seguir las prácticas recomendadas para la seguridad. Para 
A continuación se incluye la información seguridad conocida para IPv6:
  • La instalación de un enrutador no autorizado puede provocar la reconfiguración de los clientes y la desviación del tráfico IPv6
    La configuración de direcciones IPv6 se basa en la recepción de mensajes de anuncio de enrutador procedentes de los enrutadores IPv6. Además, para comunicarse con nodos IPv6 de otros segmentos de la red, IPv6 debe utilizar un enrutador predeterminado. Se asigna automáticamente un enrutador predeterminado en función del anuncio de enrutador recibido.
    Usuarios malintencionados con acceso físico a una red habilitada para IPv6 pueden realizar un ataque de denegación de servicio en los hosts IPv6 si instalan un enrutador IPv6 no autorizado en el segmento de red. Dicho enrutador podría reconfigurar los clientes IPv6, establecerse a si mismo como enrutador predeterminado, desviar el tráfico de vínculos e interrumpir otros servicios de red.
    Recomendaciones:
    • Asegúrese de que las personas no autorizadas no puedan obtener acceso físico o inalámbrico a la red.
  • El Servidor de seguridad de conexión a Internet (ICF, <i>Internet Connection Firewall</i>) y el Servidor de seguridad básico no pueden filtrar ni bloquear el tráfico IPv6.
    ICF, que está disponible en las ediciones de 32 bits de Microsoft® Windows Server® 2003, Standard Edition y Windows Server 2003, Enterprise Edition, se utiliza para restringir el tráfico de Internet que puede tener acceso a la red. ICF sólo puede filtrar tráfico IPv4, por lo que el tráfico IPv6 podría evitar el servidor de seguridad y tener acceso a la red.
    El Servidor de seguridad básico es un componente de Enrutamiento y acceso remoto que se puede habilitar para cualquier interfaz pública en equipos que ejecutan Enrutamiento y acceso remoto y un sistema operativo de la familia Windows Server 2003. El Servidor de seguridad básico sólo puede filtrar tráfico IPv4, por lo que el tráfico IPv6 podría evitarlo y tener acceso a la red.
    Recomendaciones:
    • Si ejecuta IPv6 en la red utilice software de servidor de seguridad que pueda filtrar y bloquear el tráfico IPv6.
  • Los equipos en vínculo pueden tomar el control de otra dirección IPv6, lo que podría hacer que los dispositivos en vínculo crearan una entrada incorrecta en la caché de vecinos
    Los nodos incluidos en un vínculo IPv6 utilizan la resolución de direcciones para resolver resolver la dirección IPv6 de un nodo vecino en su dirección de nivel de vínculo (equivalente a ARP en IPv4). La dirección de nivel de vínculo resuelta se almacena como entrada en la caché de vecinos (equivalente a la caché ARP en IPv4) del nodo. Si un nodo IPv6 usa la dirección de otro nodo, puede hacer que otros equipos del vínculo agreguen una entrada falsa a su caché de vecinos. Todo el tráfico destinado al equipo original se dirige al equipo del atacante en su lugar, y parecerá que el atacante envía tráfico desde el equipo original.
    Recomendaciones:
    • Asegúrese de que las personas no autorizadas no puedan obtener acceso físico o inalámbrico a la red.
  • El hecho de que no exista conectividad IPv6 nativa facilita la suplantación de direcciones IPv6 de origen fuera del vínculo
    La defensa más frecuente contra la suplantación de direcciones IP de origen consiste en que los enrutadores filtren la entrada y salida de origen de los paquetes. El tráfico entre hosts del mismo vínculo no atraviesa ningún enrutador, por lo que este filtro de protección no se utiliza.
    Aunque esta amenaza afecta a la conectividad nativa (tanto en IPv4 como en IPv6) en la que los hosts en vínculo pueden suplantar direcciones fuera de vínculo en comunicación con otros hosts del vínculo, todavía es mayor si no existe conectividad nativa. Si no existe conectividad IPv6 nativa, se utilizan tecnologías de encapsulación como ISATAP y 6to4.
    Puesto que el vínculo virtual utilizado para la encapsulación de paquetes abarca una vasta área lógica de la red (por ejemplo, en el caso de 6to4, toda la red Internet IPv4), un atacante puede encontrase en cualquier ubicación de la red Internet IPv4 y suplantar direcciones fuera de vínculo.
    Recomendaciones:
    • Asegúrese de que existe conectividad IPv6 nativa.

Modelo Actual en Servicios

Modelo Actual de servicios
La seguridad está basada en Firewalls
Los hosts que corren aplicaciones son "protegidos" por estos Firewalls
Las políticas de seguridad definidas por las organizaciones son aplicadas en los firewalls
Despliegue generalizado de NAT


Nuevo paradigma con IPv6
• IPSEC está implementado en los dispositivos IPv6 y disponible para las aplicaciones.
• El mayor espacio de direccionamiento elimina la necesidad de NAT y favorece las conexiones directas entre aplicaciones
• Cualquier dispositivo podrá recibir un IP "público"

• El diálogo extremo a extremo simplifica el desarrollo de software pero agrega desafíos.
• Cada host debe ser segurizado
• La política se aplica a diferentes niveles (red, transporte, host)


El uso de IPv6 no hace mas seguras las aplicaciones o las redes o los servicios sobre esas redes IP.



En los sistemas operativos modernos (Windows XP, Vista, Linux, etc.) IPv6 está disponible y es posible que esté activo aunque no lo notemos.




El diseño de software debe hacerse pensando en IPv6 para evitar los problemas estilo Y2K.


Existen mecanismos que simplifican la transición a IPv6


• Redes Dual Stack
• Tunel IPv6 sobre IPv4
• Traductores:
– Capa de red
– Capa de transporte
– Capa de Aplicación

Costos de Transición 



En general, las aplicaciones no requerirán modificaciones






No habrá costos adicionales en los sistemas operativos.

En general, los equipos de Networking soportan IPv6 con un upgrade de software.


En capacitación puede haber costos

En algunos casos la versión de software necesaria puede requerir mas memoria


¿Cómo conseguir direcciones IPv6?

No ser un sitio final

Documentar un plan detallado sobre los servicios y la conectividad en IPv6 a ofrecer a otras organizaciones (clientes)

Anunciar en el sistema de rutas inter-dominio de Internet un único bloque, que agregue toda la asignación de direcciones IPv6 recibida, en un plazo no mayor de 12 meses

Ofrecer servicios en IPv6 a clientes localizados físicamente en la región del LACNIC en un plazo no mayor de 24 meses

lunes, 13 de febrero de 2012

Diferencia entre Dirección Ip, Ipv4 y Ipv6

 Direcciones IP 

Una dirección IP es un número que identifica a una interfaz de un dispositivo (habitualmente un ordenador) dentro de una red que utilice el protocolo IP.
Es habitual que un usuario que se conecta desde su hogar tenga una dirección IP que cambia cada cierto tiempo; eso es una dirección IP dinámica (normalmente se abrevia como IP dinámica).
Los sitios de Internet que están permanentemente conectados generalmente tienen unadirección IP fija (se aplica la misma reducción por IP fija), es decir, no cambia con el tiempo y esto facilita la resolución de nombres con el Servicio DNS: los humanos recordamos más fácilmente palabras con sentido que largas secuencias de números, pero las máquinas tienen una gran facilidad para manipular y jerarquizar la información numérica, y son altamente eficientes para hacerlo.

 Direcciones IPv4 


Una dirección IP se representa mediante un número binario de 32 bits (IPv4). Las direcciones IPse expresan como números de notación decimal: se dividen los 32 bits de la dirección en cuatrooctetos. El valor decimal máximo de cada octeto es 255 (el número binario de 8 bits más alto es 11111111, y esos bits, de derecha a izquierda, tienen valores decimales de 1, 2, 4, 8, 16, 32, 64 y 128, lo que suma 255 en total).

Hay tres clases de direcciones IP que una organización puede recibir de parte de Internet Assigned Numbers authority (IANA): clase A, clase B y clase C. En la actualidad, IANA reserva las direcciones de clase A para los gobiernos de todo el mundo (aunque en el pasado se le hayan otorgado a empresas de gran envergadura como, por ejemplo, Hewlett Packard) y las direcciones de clase B para las medianas empresas. Se otorgan direcciones de clase C para todos los demás solicitantes.
Cada clase de red permite una cantidad fija de equipos (hosts). En una red de clase A, se asigna el primer octeto para identificar la red, reservando los tres últimos octetos (24 bits) para que sean asignados a los hosts, de modo que la cantidad máxima de hosts es 224 (menos dos: las direcciones reservadas de broadcast [tres últimos octetos a 255] y de red [tres últimos octetos a 0]), o sea, 16.777.214 hosts.
En una red de clase B, se asignan los dos primeros octetos para identificar la red, reservando los dos octetos finales (16 bits) para que sean asignados a los hosts, de modo que la cantidad máxima de hosts es 216 (menos dos), o 65.534 hosts.
En una red de clase C, se asignan los tres primeros octetos para identificar la red, reservando el octeto final (8 bits) para que sea asignado a los hosts, de modo que la cantidad máxima de hosts es 28 (menos dos), o 254 hosts.
Hay ciertas direcciones en cada clase de dirección IP que no están asignadas y que se denominan "direcciones privadas". Las direcciones privadas pueden ser utilizadas por los hosts que usan traducción de dirección de red (NAT), o un servidor proxy, para conectarse a una red pública, o por los hosts que no se conectan a Internet.
A partir de 1993, ante la previsible futura escasez de direcciones IPv4 debido al crecimiento exponencial de hosts en Internet, se empezó a introducir el sistema CIDR, que pretende en líneas generales establecer una distribución de direcciones más fina y granulada, calculando las direcciones necesarias y "desperdiciando" las mínimas posibles, para rodear el problema que las distribución por clases había estado gestando. Este sistema es, de hecho, el empleado actualmente para la delegación de direcciones.
Muchas aplicaciones requieren conectividad dentro de una sola red, y no necesitan conectividad externa. En las redes de gran tamaño, a menudo se usa TCP/IP, aunque la conectividad de capa de red no sea necesaria fuera de la red. Los bancos son buenos ejemplos; pueden utilizar TCP/IP para conectar los cajeros automáticos (ATM). Estas máquinas no se conectan a la red pública, de manera que las direcciones privadas son ideales para ellas. Las direcciones privadas también se pueden utilizar en una red en la que no hay suficientes direcciones públicas disponibles.
Las direcciones privadas se pueden utilizar junto con un servidor de traducción de direcciones de red (NAT) o servidor proxy para suministrar conectividad a todos los hosts de una red que tiene relativamente pocas direcciones públicas disponibles. Según lo acordado, cualquier tráfico que posea una dirección destino dentro de uno de los intervalos de direcciones privadas NO se enrutará a través de Internet.
La expresión de direcciones IPv4 es decimal, y se separa cada octeto por un carácter ".". Cada uno de estos octetos puede estar comprendido entre 0 y 255, salvo algunas excepciones. Los ceros iniciales, si los hubiera, se pueden obviar.
  • Ejemplo de representación de dirección IPv4: 164.12.123.65

 Direcciones IPv6 

La función de la dirección IPv6 es exactamente la misma, pero dentro del protocolo IPv6. Está compuesta por 8 segmentos de 2 bytes cada uno, que suman un total de 128 bits, el equivalente a unos 3.4x1038 hosts direccionables. La ventaja con respecto a la dirección IPv4 es obvia en cuanto a su capacidad de direccionamiento.
Su representación es hexadecimal, y para la separación de cada par de octetos se emplea el símbolo ":". Un bloque abarca desde 0000 hasta FFFF. Algunas reglas acerca de la representación de direcciones IPv6 son:
  • Los ceros iniciales, como en IPv4, se pueden obviar.
Ejemplo: 2001:0123:0004:00ab:0cde:3403:0001:0063 -> 2001:123:4:ab:cde:3403:1:63
  • Los bloques contiguos de ceros se pueden comprimir empleando "::". Esta operación sólo se puede hacer UNA vez.
Ejemplo: 2001:0:0:0:0:0:0:4 -> 2001::4.
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).
También hay la posibilidad de que un usuario doméstico de Internet cuente con una dirección IP fija. Esto depende de si su ISP (proveedor de Internet) utiliza DHCP (Dynamic Host Configuration Protocol) o no. Si emplea DHCP, entonces la dirección IP sí va a cambiar.

Informacion adicional

Formato Cabeceras: IPv4 y IPv6







Fromatos Datagrama IPv6







  • No se recomienda utilizar esta implementación de IPSec para IPv6 en un entorno de producción, ya que se basa en claves estáticas y no cuenta con disposiciones para actualizar claves tras la reutilización de números de secuencias. 
  • Al configurar manualmente los índices de parámetros de seguridad (SPI, <i>Security Parameters Index</i>) de IPSec para IPv6, utilice siempre números aleatorios. No emplee números secuenciales, o podrá en peligro la seguridad de las directivas IPSec para IPv6.
  • El protocolo IPv6 para la familia Windows Server 2003 no admite el uso del cifrado de Carga de seguridad encapsuladora (ESP, Encapsulating Security Payload) de IPSec. Sin embargo, sí admite el uso de ESP con cifrado NULL. Aunque el cifrado NULL utiliza el encabezado ESP, sólo se proporcionan servicios de autenticación del origen de datos e integridad de los datos.
  • Firewall de Windows no está incluido en la versión original de los sistemas operativos Windows Server 2003. 
  • El Servidor de seguridad de conexión a Internet sólo se incluye en las versiones originales de Windows Server 2003, Standard Edition y Windows Server 2003, Enterprise Edition. 





    Los ámbitos siguientes están definidos en el documento RFC 2373:

    Valor del campo de ámbito
    Ámbito
    1
    Local del nodo
    2
    Local del vínculo
    5
    Local del sitio
    8
    Local de la organización
    E
    Global 

    • Por ejemplo, el tráfico con la dirección de multidifusión de FF02::2 tiene ámbito local del vínculo. Un enrutador IPv6 nunca reenvía este tráfico fuera del vínculo local.

    • Id. de grupo 
    • El campo Id. de grupo identifica el grupo de multidifusión y es único en el ámbito. El tamaño de este campo es de 112 bits. Los Id. de grupo asignados de forma definitiva son independientes del ámbito. Los Id. de grupo transitorios sólo son pertinentes para un ámbito específico. Las direcciones de multidifusión en el intervalo de FF01:: a FF0F:: son direcciones conocidas reservadas. 

      Para identificar todos los nodos de los ámbitos local del nodo y local del vínculo, se han definido las direcciones de multidifusión siguientes
    • FF01::1 (dirección para todos los nodos de ámbito local del nodo) 
    • FF02::1 (dirección para todos los nodos de ámbito local del vínculo)
    Para identificar todos los enrutadores de los ámbitos local del nodo, local del vínculo y local del sitio, se han definido las direcciones de multidifusión siguientes:
    • FF01::2 (dirección para todos los enrutadores de ámbito local del nodo) 
    • FF02::2 (dirección para todos los enrutadores de ámbito local del vínculo) 
    • FF05::2 (dirección para todos los enrutadores de ámbito local del sitio)
    Con 112 bits en el Id. de grupo, es posible tener 2112 identificadores de grupo. Sin embargo, debido a la forma en que las direcciones IPv6 de multidifusión se asignan a direcciones MAC de multidifusión de Ethernet, en el documento RFC 2373 se recomienda asignar el Id. de grupo de los 32 bits de orden inferior de la dirección IPv6 de multidifusión y establecer los restantes bits del Id. de grupo original en 0. Al utilizar sólo los 32 bits de orden inferior del Id. de grupo, cada Id. de grupo se asigna a una única dirección MAC de multidifusión de Ethernet.

    Dirección de nodo solicitado
    La dirección de nodo solicitado facilita la consulta eficaz de los nodos de la red durante la resolución de direcciones. En IPv4, la trama Solicitud de ARP se envía a la difusión de nivel MAC, con lo que afecta a todos los nodos del segmento de red, incluidos los que no ejecutan IPv4. IPv6 utiliza el mensaje de solicitud de vecino para efectuar la resolución de direcciones. Sin embargo, en lugar de utilizar la dirección para todos los nodos de ámbito local del vínculo como destino del mensaje de solicitud de vecino, que afectaría a todos los nodos IPv6 del vínculo local, se utiliza la dirección de multidifusión de nodo solicitado. La dirección de multidifusión de nodo solicitado consta del prefijo FF02::1:FF00:0/104 y los últimos 24 bits de la dirección IPv6 que se esté resolviendo.

    Por ejemplo, para el nodo con la dirección IPv6 local del vínculo de FE80::2AA:FF:FE28:9C5A, la dirección de nodo solicitado correspondiente es FF02::1:FF28:9C5A. Para resolver la dirección FE80::2AA:FF:FE28:9C5A en su dirección de nivel de vínculo, un nodo envía un mensaje de solicitud de vecino a la dirección de nodo solicitado de FF02::1:FF28:9C5A. El nodo que utiliza la dirección de FE80::2AA:FF:FE28:9C5A escucha el tráfico de multidifusión en la dirección de nodo solicitado y, para las interfaces que corresponden a un adaptador de red físico, ha registrado la dirección de multidifusión correspondiente en el adaptador de red.

    El resultado de utilizar la dirección de multidifusión de nodo solicitado es que la resolución de direcciones, que suele producirse en un vínculo, no necesita utilizar un mecanismo que afecte a todos los nodos de la red. De hecho, son muy pocos los nodos que se ven afectados durante la resolución de direcciones. En la práctica, debido a la relación entre la dirección MAC de Ethernet, el Id. de interfaz IPv6 y la dirección de nodo solicitado, ésta actúa como una dirección de pseudounidifusión para lograr una resolución de direcciones muy eficaz.

    Direcciones IPv6 de difusión por proximidad
    En una dirección de difusión por proximidad se identifican varias interfaces. Con la topología de enrutamiento adecuada, los paquetes dirigidos a una dirección de difusión por proximidad se entregan en una sola interfaz (la interfaz más próxima identificada en la dirección). Dicha interfaz se define como la más próxima en términos de distancia de enrutamiento. Una dirección de multidifusión se utiliza para la comunicación de uno a muchos y la entrega en varias interfaces. Una dirección de difusión por proximidad se utiliza para la comunicación de uno a uno de muchos y la entrega en una sola interfaz.

    Para facilitar la entrega en el miembro más próximo del grupo de difusión por proximidad, la infraestructura de enrutamiento debe conocer las interfaces que tienen asignadas direcciones de difusión por proximidad y su distancia en términos de métrica de enrutamiento. Por el momento, las direcciones de difusión por proximidad sólo se utilizan como direcciones de destino y sólo se asignan a enrutadores. Las direcciones de difusión por proximidad se asignan desde el espacio de direcciones de unidifusión. El ámbito de una dirección de difusión por proximidad es el ámbito del tipo de dirección de unidifusión desde el que se asigna la dirección de difusión por proximidad.

    Dirección de difusión por proximidad de un enrutador de subred
    La dirección de difusión por proximidad de un enrutador de subred está predefinida y es obligatoria. Se crea a partir del prefijo de subred de una interfaz dada. Para crear la dirección de difusión por proximidad de un enrutador de subred, se fijan los valores adecuados para los bits del prefijo de subred y los bits restantes se establecen en 0. A todas las interfaces de enrutador conectadas a una subred se les asigna la dirección de difusión por proximidad de un enrutador de dicha subred. La dirección de difusión por proximidad de enrutador y subred se utiliza para comunicarse con uno de varios enrutadores conectados a una subred remota.


    Direcciones para hosts y enrutadores
    Un host IPv4 con un solo adaptador de red tiene generalmente una única dirección IPv4 asignada al adaptador. Sin embargo, un host IPv6 suele tener varias direcciones IPv6, aunque sólo tenga una interfaz.

    Un host IPv6 puede tener asignadas las direcciones de unidifusión siguientes:
    • Una dirección local del vínculo para cada interfaz 
    • Direcciones de unidifusión para cada interfaz (que puede ser una dirección local del sitio y una o varias direcciones globales) 
    • La dirección de bucle de retroceso (::1) para la interfaz de bucle de retroceso 
    Los hosts IPv6 típicos son lógicamente hosts múltiples porque tienen al menos dos direcciones con las que pueden recibir paquetes. Cada host tiene una dirección local del vínculo para el tráfico del vínculo local y una dirección global o local del sitio enrutable.

    Además, cada host escucha el tráfico de las siguientes direcciones de multidifusión:
    • La dirección para todos los nodos de ámbito local del nodo (FF01::1) 
    • La dirección para todos los nodos de ámbito local del vínculo (FF02::1) 
    • La dirección de nodo solicitado de cada dirección de unidifusión en cada interfaz 
    • Las direcciones de multidifusión de los grupos unidos a cada interfaz
    Un enrutador IPv6 puede tener asignadas las direcciones de unidifusión siguientes:
     Una dirección local del vínculo para cada interfaz 
    • Direcciones de unidifusión para cada interfaz (que puede ser una dirección local del sitio y una o varias direcciones de unidifusión globales agregables) 
    • La dirección de bucle de retroceso (::1) para la interfaz de bucle de retroceso
    Un enrutador IPv6 puede tener asignadas las direcciones de difusión por proximidad siguientes:
    • Una dirección de difusión por proximidad de un enrutador de subred para cada subred 
    • Direcciones de difusión por proximidad adicionales (opcional)
    Además, cada enrutador escucha el tráfico de las siguientes direcciones de multidifusión:
    • La dirección para todos los nodos de ámbito local del nodo (FF01::1) 
    • La dirección para todos los enrutadores de ámbito local del nodo (FF01::2) 
    • La dirección para todos los nodos de ámbito local del vínculo (FF02::1) 
    • La dirección para todos los enrutadores de ámbito local del vínculo (FF02::2) 
    • La dirección para todos los enrutadores de ámbito local del sitio (FF05::2) 
    • La dirección de nodo solicitado de cada dirección de unidifusión en cada interfaz 
    • Las direcciones de los grupos unidos a cada interfaz
    Identificadores de interfaz de IPv6
    Los últimos 64 bits de una dirección IPv6 corresponden al identificador de la interfaz, que es único para el prefijo de 64 bits de la dirección IPv6. Las formas de determinar un identificador de interfaz son las siguientes:
    • En el documento RFC 2373 se indica que todas las direcciones de unidifusión que utilicen los prefijos del 001 al 111 deben utilizar también un identificador de interfaz de 64 bits derivado de la dirección EUI-64 (<i>Extended Unique Identifier</i> o Identificador único extendido). 
    • En el documento RFC 3041 se describe un identificador de interfaz generado aleatoriamente que cambia al cabo del tiempo para proporcionar un nivel de anonimato. 
    • Un identificador de interfaz que se asigna durante la configuración automática de direcciones con estado (por ejemplo, mediante DHCPv6). Los estándares DHCPv6 se están definiendo actualmente. En la familia de Windows Server 2003 y en Windows XP, el protocolo IPv6 no admite la configuración de direcciones con estado ni DHCPv6. 
    • Un identificador de interfaz configurado manualmente. 
    • Identificadores de interfaz basados en direcciones EUI-64
    El Institute of Electrical and Electronic Engineers (IEEE) define la dirección EUI-64 de 64 bits. Las direcciones EUI-64 se asignan a un adaptador de red o se derivan de las direcciones IEEE 802.

    Direcciones IEEE 802
    Los identificadores de interfaz tradicionales para los adaptadores de red utilizan una dirección de 48 bits que se llama dirección IEEE 802. Esta dirección consta de un Id. de compañía (también llamado Id. de fabricante) de 24 bits y un Id. de extensión (también llamado Id. de tarjeta) de 24 bits. La combinación del Id. de compañía, que se asigna de forma única a cada fabricante de adaptadores de red, y el Id. de tarjeta, que se asigna de forma única a cada adaptador de red en el momento del ensamblaje, genera una dirección única global de 48 bits. Esta dirección de 48 bits también se denomina dirección física, de hardware o de control de acceso a medios (MAC, <i>Media Access Control</i>).


     Los bits definidos en la dirección IEEE 802 son los siguientes:


    Universal o local (U/L) 
    El bit U/L es el séptimo bit del primer byte y se utiliza para determinar si la dirección se administra de forma universal o local. Si el bit U/L está establecido en 0, la administración de la dirección corresponde a IEEE, mediante la designación de un Id. de compañía único. Si el bit U/L está establecido en 1, la dirección se administra de forma local. El administrador de la red ha suplantado la dirección de fábrica y ha especificado una dirección distinta. 

    Individual o grupo (I/G) 
    El bit I/G es el bit de orden inferior del primer byte y se utiliza para determinar si la dirección es individual (unidifusión) o de grupo (multidifusión). Si está establecido en 0, la dirección es de unidifusión. Si está establecido en 1, la dirección es de multidifusión.


    En una dirección típica de adaptador de red 802.x, los bits U/L e I/G están establecidos en 0, lo que corresponde a una dirección MAC de unidifusión administrada de forma universal.


    Direcciones IEEE EUI-64
    La dirección IEEE EUI-64 representa un nuevo estándar para el direccionamiento de interfaces de red. El Id. de compañía sigue teniendo 24 bits de longitud, pero el Id. de extensión tiene 40 bits, por lo que se crea un espacio de direcciones mucho mayor para los fabricantes de adaptadores de red. La dirección EUI-64 utiliza los bits U/L e I/G de la misma forma que la dirección IEEE 802.



     Asignación de direcciones IEEE 802 a direcciones EUI-64

    Para crear una dirección EUI-64 a partir de una dirección IEEE 802, los 16 bits de 11111111 11111110 (0xFFFE) se insertan en la dirección IEEE 802 entre el Id. de compañía y el Id. de extensión. En la siguiente ilustración se muestra la conversión de una dirección IEEE 802 en una dirección EUI-64.




    Asignación de direcciones EUI-64 a identificadores de interfaz IPv6

    Para obtener el identificador de interfaz de 64 bits para las direcciones IPv6 de unidifusión, se complementa el bit U/L de la dirección EUI-64 (si es 1, se establece en 0; y si es 0, se establece en 1). En la ilustración siguiente se muestra la conversión de una dirección EUI-64 de unidifusión administrada de forma universal.

    Para obtener un identificador de interfaz IPv6 a partir de una dirección IEEE 802, primero se debe asignar la dirección IEEE 802 a una dirección EUI-64 y, después, complementar el bit U/L. En la ilustración siguiente se muestra el proceso de conversión de una dirección IEEE 802 de unidifusión administrada de forma universal.


    Ejemplo de conversión de una dirección IEEE 802
    El host A tiene la dirección MAC de Ethernet de 00-AA-00-3F-2A-1C. Primero, se convierte al formato EUI-64 insertando FF-FE entre el tercer y cuarto bytes, con el resultado de 00-AA-00-FF-FE-3F-2A-1C. Después, se complementa el bit U/L, que es el séptimo bit del primer byte. El primer byte en formato binario es 00000000. Al complementar el séptimo bit, se convierte en 00000010 (0x02). El resultado final es 02-AA-00-FF-FE-3F-2A-1C que, cuando se convierte a notación hexadecimal con dos puntos, da como resultado el identificador de interfaz 2AA:FF:FE3F:2A1C. En consecuencia, la dirección local del vínculo correspondiente al adaptador de red que tiene la dirección MAC de 00-AA-00-3F-2A-1C es FE80::2AA:FF:FE3F:2A1C. 
    Identificadores de interfaz de direcciones temporales
    En la actual red Internet basada en IPv4, un usuario típico de Internet conecta con un proveedor de servicios Internet (ISP) y obtiene una dirección IPv4 mediante el Protocolo punto a punto (PPP, <i>Point-to-Point Protocol</i>) y el Protocolo de control de protocolo Internet (IPCP, <i>Internet Protocol Control Protocol</i>). Cada vez que el usuario se conecta, obtiene una dirección IPv4 distinta. Debido a esto, es difícil hacer un seguimiento del tráfico de un usuario en Internet sobre la base de la dirección IP.

    En las conexiones de acceso telefónico basadas en IPv6, se asigna al usuario un prefijo de 64 bits después de realizar la conexión mediante descubrimiento de enrutadores y configuración automática de direcciones sin estado. Si el identificador de interfaz siempre se basa en la dirección EUI-64 (derivada de la dirección IEEE 802 estática), es posible identificar el tráfico de un nodo específico independientemente del prefijo, por lo que resulta fácil hacer un seguimiento de un usuario específico y del uso que hace de Internet. Para solucionar este problema y proporcionar un nivel de anonimato, en el documento RFC 3041 se describe un identificador de interfaz IPv6 alternativo que se genera aleatoriamente y cambia al cabo del tiempo.

    El identificador de interfaz inicial se genera mediante números aleatorios. En los sistemas IPv6 que no pueden almacenar información de historial para la generación de futuros valores de identificador de interfaz, se genera un nuevo identificador de interfaz aleatorio cada vez que se inicializa el protocolo IPv6. En los sistemas IPv6 que tienen capacidades de almacenamiento, se almacena un valor de historial y, al inicializar el protocolo IPv6, se crea un nuevo identificador de interfaz mediante el proceso siguiente:

    1. Se recupera el valor de historial almacenado y se anexa el identificador de interfaz basado en la dirección EUI-64 del adaptador. 
    2. Se calcula el algoritmo hash de cifrado unidireccional de Síntesis del mensaje 5 (MD5, <i>Message Digest-5</i>) con la cantidad del paso 1. 
    3. Se guardan los últimos 64 bits del algoritmo hash MD5 calculado en el paso 2 como valor de historial para el siguiente cálculo de identificador de interfaz. 
    4. Se toman los primeros 64 bits del algoritmo hash MD5 calculado en el paso 2 y el séptimo bit se establece en cero. El séptimo bit corresponde al bit U/L que, cuando está establecido en 0, indica un identificador de interfaz administrado de forma local. El resultado es el identificador de interfaz.
     La dirección IPv6 resultante, basada en este identificador de interfaz aleatorio, se conoce como dirección temporal. Las direcciones temporales se generan para prefijos de direcciones públicas que utilizan configuración automática de direcciones sin estado. Las direcciones temporales se utilizan para el menor de los siguientes valores de duración válida y duración preferida:
    • Las duraciones incluidas en la opción Información de prefijo del mensaje de anuncio de enrutador recibido. 
    • Valores locales predeterminados de 1 semana para la duración válida y 1 día para la duración preferida.
    Cuando caduca la duración válida de la dirección temporal se genera un nuevo identificador de interfaz y una nueva dirección temporal.


    En la familia de Windows Server 2003, el protocolo IPv6 no crea direcciones temporales para los prefijos de direcciones globales de forma predeterminada. Puede modificar esta configuración predeterminada mediante el comando netsh interface ipv6 set privacy state=enabled.

    IPv6 y aplicaciones de red

    Compatibilidad con Windows Sockets
    Los cambios en las funciones existentes de Windows Sockets para IPv6 están documentados en RFC 2553, "Basic Socket Interface Extensions for IPv6" (Extensiones básicas de la interfaz de sockets para IPv6). El protocolo IPv6 para la familia Windows Server 2003 admite la especificación descrita en el documento RFC 2553 con las excepciones siguientes:

    • Los archivos de encabezado enumerados en el documento RFC no se aplican a la familia Windows Server 2003. Los archivos de encabezado de la familia Windows Server 2003 son Winsock2.h y Ws2tcpip.h. 
    • La estructura de sockets de la familia Windows Server 2003 no incluye el miembro sa_len. Por lo tanto, la sección 3.3 es aplicable, pero la sección 3.4 no lo es. 
    • Las direcciones asignadas a IPv4, tal como se describen en la sección 3.7, no se admiten. 
    • Las funciones de identificación de la interfaz que se describen en la sección 4 no se admiten.  
    • Las secciones de la 6.1 a la 6.3 y la sección 6.6 no se admiten porque el Grupo de trabajo de ingeniería de Internet (IETF, <i>Internet Engineering Task Force</i>) va a declararlas obsoletas.

     Herramientas para el desarrollo de aplicaciones IPv6
    En el desarrollo de aplicaciones IPv6 para Winsock, son necesarios los elementos siguientes:
    • SDK de la plataforma de Microsoft (enero de 2000 o posterior) 
    • Microsoft Visual C++ 6.0 o posterior 
    • Protocolo IPv6 para la familia Windows Server 2003
    En la tabla siguiente se muestra la asignación del espacio de direcciones IPv6 por FP.

    Asignación
    Prefijo de formato (FP)
    Fracción del espacio de direcciones

    Reservado
    0000 0000
    1/256
    Reservado para asignación NSAP
    0000 001
    1/128
    Direcciones globales agregables de unidifusión
    001
    1/8
    Direcciones de unidifusión locales del vínculo
    1111 1110 10
    1/1024
    Direcciones de unidifusión locales del sitio
    1111 1110 11
    1/1024
    Direcciones de multidifusión
    1111 1111
    1/256

    El conjunto actual de direcciones de unidifusión que se pueden utilizar con los nodos IPv6 consta de direcciones globales agregables de unidifusión, direcciones de unidifusión locales del vínculo y direcciones de unidifusión locales del sitio. Estas direcciones sólo representan el 15 por ciento del espacio completo de direcciones IPv6.
    Expresar direcciones IPv6
    Las direcciones IPv4 se representan en formato decimal con puntos. Esta dirección de 32 bits se divide en límites de 8 bits. Cada grupo de 8 bits se convierte a su equivalente decimal y se separa con puntos. En IPv6, la dirección de 128 bits se divide en límites de 16 bits y cada bloque de 16 bits se convierte a un número hexadecimal de 4 dígitos separado por un signo de dos puntos. La representación resultante se denomina hexadecimal con dos puntos.

    Compresión de ceros
    Algunos tipos de direcciones contienen secuencias largas de ceros. Para simplificar más la representación de las direcciones IPv6, una secuencia contigua de bloques de 16 bits establecidos como 0 en el formato hexadecimal con dos puntos se puede comprimir en :: (denominado dos puntos dobles).

    Por ejemplo, la dirección local del vínculo de FE80:0:0:0:2AA:FF:FE9A:4CA2 se puede comprimir en FE80::2AA:FF:FE9A:4CA2. La dirección de multidifusión de FF02:0:0:0:0:0:0:2 se puede comprimir en FF02::2. La compresión de ceros sólo se puede utilizar para comprimir una única serie contigua de bloques de 16 bits expresados en notación hexadecimal con dos puntos. La compresión de ceros no se puede utilizar en una parte de un bloque de 16 bits. Por ejemplo, FF02:30:0:0:0:0:0:5 no se puede expresar como FF02:3::5.

    Para determinar cuántos bits 0 se representan mediante ::, se puede contar el número de bloques de la dirección comprimida, restar dicho número de 8 y, después, multiplicar el resultado por 16. Por ejemplo, en la dirección FF02::2, hay dos bloques (el bloque FF02 y el bloque 2). El número de bits expresados mediante :: es 96 (96 = (8 - 2) × 16).

    La compresión de ceros sólo se puede utilizar una vez en una dirección dada. De lo contrario, no se podría determinar el número de bits 0 que representa cada instancia de dos puntos dobles (::).

    Prefijos IPv6
    El prefijo es la parte de la dirección que indica los bits que tienen valores fijos o que son los bits del identificador de red. Los prefijos de las rutas y los identificadores de subred en IPv6 se expresan de la misma forma que la notación Enrutamiento entre dominios sin clase (CIDR, <i>Classless Inter-Domain Routing</i>) de IPv4. Un prefijo IPv6 se escribe con la notación dirección/longitudDePrefijo. Por ejemplo, 21DA:D3::/48 es un prefijo de ruta y 21DA:D3:0:2F3B::/64 es un prefijo de subred.

    Direcciones IPv6 de unidifusión
    Una dirección de unidifusión identifica una sola interfaz en el ámbito del tipo de dirección de unidifusión. Con la topología adecuada de enrutamiento de unidifusión, los paquetes dirigidos a una dirección de unidifusión se entregan en una única interfaz. Los siguientes tipos de direcciones son direcciones IPv6 de unidifusión:
    • Direcciones globales agregables de unidifusión 
    • Direcciones locales del vínculo 
    • Direcciones locales del sitio 
    • Direcciones especiales 
    • Direcciones de compatibilidad 
    • Direcciones NSAP
    Direcciones globales agregables de unidifusión
    Las direcciones globales agregables de unidifusión, que se identifican mediante el Formato de prefijo (FP, <i>Format Prefix</i>) de 001, equivalen a las direcciones IPv4 públicas. Es posible enrutarlas y tener acceso a ellas globalmente en la red Internet IPv6. Las direcciones globales agregables de unidifusión también se denominan direcciones globales.

    Como su nombre indica, las direcciones globales agregables de unidifusión están diseñadas para agregarse o resumirse de forma que produzcan una infraestructura de enrutamiento eficaz. A diferencia de la red Internet actual basada en IPv4, que tiene una mezcla de enrutamiento plano y jerárquico, la red Internet basada en IPv6 se ha diseñado desde la base para admitir direccionamiento y enrutamiento jerárquico eficaz. El ámbito (que es la región del conjunto de redes IPv6 donde la dirección es única) de una dirección global agregable de unidifusión es la red Internet IPv6 completa.


    Los campos de una dirección global agregable de unidifusión se describen de la manera siguiente: 

     Id. de TLA 
    El campo Id. de TLA indica el Id. de agregación de nivel superior (TLA ID, <i>Level Aggregation Identifier ID</i>) de la dirección. El tamaño de este campo es de 13 bits. TLA identifica el nivel superior en la jerarquía de enrutamiento. Los TLA son administrados por IANA y se asignan a los registros de Internet locales que, a su vez, asignan Id. de TLA individuales a grandes proveedores de servicios Internet (ISP) globales. Un campo de 13 bits permite hasta 8.192 Id. de TLA diferentes. Los enrutadores del nivel superior de la jerarquía de enrutamiento en la red Internet IPv6 (llamados enrutadores libres predeterminados) no tienen una ruta predeterminada, sino rutas con prefijos de 16 bits que corresponden a los TLA asignados. 

    Res 
    El campo Res está reservado para su uso futuro en la ampliación del tamaño del Id. de TLA o el Id. de NLA. El tamaño de este campo es de 8 bits. 

    Id. de NLA 
    El campo Id. de NLA indica el identificador de agregación de siguiente nivel (NLA ID, <i>Next Level Aggregation ID</i>) de la dirección. El campo Id. de NLA se utiliza para identificar un sitio cliente específico. El tamaño de este campo es de 24 bits. El campo Id. de NLA permite que un ISP cree múltiples niveles de jerarquía de direcciones para organizar el direccionamiento y enrutamiento, así como para identificar sitios. Los enrutadores libres predeterminados no pueden ver la estructura de la red del ISP. 

    Id. de SLA 
    El campo Id. de SLA indica el Id. de agregación de nivel de sitio (SLA ID, <i>Site Level Aggregation ID</i>) de la dirección. El campo Id. de SLA sirve para que se identifiquen subredes en el sitio de una organización individual. El tamaño de este campo es de 16 bits. La organización puede utilizar los 16 bits correspondientes a su sitio para crear 65.536 subredes o múltiples niveles de jerarquía de direcciones y una infraestructura de enrutamiento eficaz. Con la flexibilidad de 16 bits para la creación de subredes, un prefijo global agregable de unidifusión asignado a una organización equivale a asignar a la organización un Id. de red IPv4 de Clase A (siempre y cuando el último octeto se utilice para identificar los nodos en las subredes). El ISP no puede ver la estructura de la red del cliente. 

    Id. de interfaz 
    El campo Id. de interfaz indica la interfaz de un nodo en una subred determinada. El tamaño de este campo es de 64 bits. 

    En la ilustración siguiente se muestra cómo los campos de la dirección global agregable de unidifusión crean una estructura de topología con tres niveles.


     La topología pública es la colección de grandes y pequeños ISP que proporcionan acceso a la red Internet IPv6. La topología del sitio es la colección de subredes del sitio de una organización. El identificador de interfaz identifica una interfaz específica en una subred del sitio de una organización.

    Direcciones de unidifusión de uso local
    Existen dos tipos de direcciones de unidifusión de uso local: 
    1. Direcciones locales del vínculo, que se utilizan entre vecinos en vínculo y en procesos de descubrimiento de vecinos. 
    2. Direcciones locales del sitio, que se utilizan entre nodos que se comunican con otros nodos del mismo sitio.
    Direcciones locales del vínculo
    Los nodos utilizan direcciones locales del vínculo, que se identifican mediante el prefijo de formato 1111 1110 10, para comunicarse con nodos vecinos que están en el mismo vínculo. Por ejemplo, en una red IPv6 con un solo vínculo sin enrutador, las direcciones locales del vínculo se utilizan para la comunicación entre los hosts del vínculo. Las direcciones locales del vínculo equivalen a las direcciones IPv4 de Direccionamiento IP privado automático (APIPA, <i>Automatic Private IP Addressing</i>), que utilizan el prefijo 169.254.0.0/16. El ámbito de una dirección local del vínculo es el vínculo local. Es necesaria una dirección local del vínculo para los procesos de descubrimiento de vecinos y siempre se configura automáticamente, incluso si no hay ninguna otra dirección de unidifusión. .

    Las direcciones locales del vínculo siempre comienzan por FE80. Con el identificador de interfaz de 64 bits, el prefijo de las direcciones locales del vínculo siempre es FE80::/64. Un enrutador IPv6 nunca reenvía el tráfico local del vínculo fuera del vínculo.

    Direcciones locales del sitio
    Las direcciones locales del sitio, que se identifican mediante el prefijo de formato 1111 1110 11, equivalen al espacio de direcciones privadas de IPv4 (10.0.0.0/8, 172.16.0.0/12 y 192.168.0.0/16). Por ejemplo, las intranet privadas que no tienen una conexión directa enrutada a la red Internet IPv6 pueden utilizar direcciones locales del sitio sin entrar en conflicto con las direcciones globales agregables de unidifusión. Las direcciones locales del sitio no son accesibles desde otros sitios y los enrutadores no deben reenviar tráfico local del sitio fuera del sitio. Las direcciones locales del sitio se pueden utilizar al mismo tiempo que las direcciones globales agregables de unidifusión. El ámbito de una dirección local del sitio es el sitio (el conjunto de redes de la organización).

    A diferencia de las direcciones locales del vínculo, las direcciones locales del sitio no se configuran automáticamente y se deben asignar mediante procesos de configuración de direcciones con o sin estado.

    Los primeros 48 bits siempre son fijos en las direcciones locales del sitio y comienzan por FEC0::/48. A continuación de los 48 bits fijos hay un identificador de subred de 16 bits (campo Id. de subred) que proporciona 16 bits con los que se pueden crear subredes en la organización. Al disponer de 16 bits, puede haber hasta 65.536 subredes en una estructura de subredes plana o se pueden subdividir los bits de orden superior del campo Id. de subred para crear una infraestructura de enrutamiento jerárquica y agregable. Después del campo Id. de subred está el campo Id. de interfaz de 64 bits que identifica una interfaz específica de una subred.

    La dirección global agregable de unidifusión y la dirección local del sitio comparten la misma estructura a partir de los primeros 48 bits de la dirección. En las direcciones globales agregables de unidifusión, el campo Id. de SLA identifica la subred de una organización. En las direcciones locales del sitio, el campo Id. de subred realiza la misma función. Por este motivo, se puede asignar un número de subred específico para identificar una subred que se utilice a la vez para direcciones locales del sitio y direcciones globales agregables de unidifusión.

    Direcciones especiales
    Las siguientes son direcciones IPv6 especiales:


    Dirección no especificada 
    La dirección no especificada (0:0:0:0:0:0:0:0 ó ::) sólo se utiliza para indicar la ausencia de dirección. Equivale a la dirección IPv4 no especificada de 0.0.0.0. La dirección no especificada se suele utilizar como dirección de origen en paquetes que intentan comprobar la exclusividad de una dirección tentativa. La dirección no especificada nunca se asigna a una interfaz ni se utiliza como dirección de destino. 

     Dirección de bucle de retroceso 
    La dirección de bucle de retroceso (0:0:0:0:0:0:0:1 ó ::1) sirve para identificar una interfaz de bucle de retroceso, lo que permite que un nodo se envíe paquetes a sí mismo. Equivale a la dirección IPv4 de bucle de retroceso de 127.0.0.1. Los paquetes dirigidos a la dirección de bucle de retroceso nunca se envían en un vínculo ni se reenvían mediante un enrutador IPv6.

    Direcciones de compatibilidad
    Para facilitar la migración de IPv4 a IPv6 y la coexistencia de ambos tipos de hosts, se han definido las direcciones siguientes: 

    Dirección compatible con IPv4 
    La dirección compatible con IPv4, 0:0:0:0:0:0:w.x.y.z o ::w.x.y.z (donde w.x.y.z es la representación decimal con puntos de una dirección IPv4 pública), la utilizan los nodos de pila dual que se comunican con IPv6 a través de una infraestructura IPv4. Los nodos de pila dual son nodos con protocolos IPv4 e IPv6. Cuando la dirección compatible con IPv4 se utiliza como destino IPv6, el tráfico IPv6 se encapsula de forma automática con un encabezado IPv4 y se envía al destino mediante la infraestructura IPv4. 

    Dirección asignada a IPv4 
    La dirección asignada a IPv4, 0:0:0:0:0:FFFF:w.x.y.z o ::FFFF:w.x.y.z se utiliza para representar un nodo exclusivo de IPv4 ante un nodo IPv6. Sólo sirve para la representación interna. La dirección asignada a IPv4 nunca se utiliza como dirección de origen o destino de un paquete IPv6. El protocolo IPv6 no admite el uso de direcciones asignadas a IPv4. 

    Dirección 6to4 
    La dirección 6to4 se utiliza para la comunicación entre dos nodos que ejecutan IPv4 e IPv6 sobre Internet. La dirección 6to4 se crea mediante la combinación del prefijo 2002::/16 con los 32 bits de la dirección IPv4 pública del nodo, con lo que se forma un prefijo de 48 bits. Por ejemplo, para la dirección IPv4 de 131.107.0.1, el prefijo de dirección 6to4 es 2002:836B:1::/48. 

    Para proporcionar un medio de asignar direcciones de Punto de acceso al servicio de red (NSAP, <i>Network Service Access Point</i>) a direcciones IPv6, las direcciones NSAP utilizan el prefijo de formato 0000001 y asignan los últimos 121 bits de la dirección IPv6 a una dirección NSAP. Direcciones IPv6 de multidifusión

    En una dirección de multidifusión se identifican varias interfaces. Con la topología de enrutamiento de multidifusión adecuada, los paquetes dirigidos a una dirección de multidifusión se entregan en todas las interfaces identificadas en ella.

    Las direcciones IPv6 de multidifusión tienen el Prefijo de formato (FP, <i>Format Prefix</i>) de 1111 1111. Se sabe fácilmente que una dirección IPv6 es de multidifusión porque siempre comienza por FF. Las direcciones de multidifusión no se pueden utilizar como direcciones de origen.

    A continuación del prefijo de formato, las direcciones de multidifusión incluyen una estructura adicional que identifica su indicador, ámbito y grupo de multidifusión, como se muestra en la ilustración siguiente.

    La dirección de multidifusión tiene los campos siguientes: 

    Indicadores 
    El campo Indicadores corresponde a los indicadores establecidos en la dirección de multidifusión. El tamaño de este campo es de 4 bits. A partir del documento RFC 2373, el único indicador definido es Transitorio (T). El indicador T utiliza el bit de orden inferior del campo Indicadores. Cuando el indicador T está establecido en 0, especifica que se trata de una dirección de multidifusión asignada de forma definitiva (conocida) por la Autoridad de números asignados de Internet (IANA, <i>Internet Assigned Numbers Authority</i>). Cuando el indicador T está establecido en 1, especifica que la dirección de multidifusión es transitoria (no está asignada de forma definitiva). 

    Ámbito 
    El campo Ámbito indica el ámbito del conjunto de redes IPv6 al que va dirigido el tráfico de multidifusión. El tamaño de este campo es de 4 bits. Además de la información proporcionada por los protocolos de enrutamiento de multidifusión, los enrutadores utilizan el ámbito de multidifusión para determinar si se puede reenviar el tráfico de multidifusión.