DIDACTIFICACION DE IPv6 2. CABECERA, DIRECC. Y CONFIG. BÁSICA 2.2. DIRECCIONAMIENTO Introducción a IPv6 2. CABECERA, DIRECCIONAMIENTO Y CONFIGURACIÓN BÁSICA 2.2. DIRECCIONAMIENTO • En primer lugar se tratarán las siguientes cuestiones: • Capacidad de direccionamiento de IPv6 • Tipos de direcciones IPv6 • Representación de direcciones Introducción a IPv6 2. CABECERA, DIRECCIONAMIENTO Y CONFIGURACIÓN BÁSICA 2.2. DIRECCIONAMIENTO Después se explicarán los siguientes puntos: 2.2.1. Los prefijos 2.2.2. Dirección no Especificada y dirección de Loopback 2.2.3. Direcciones Unicast Globales 2.2.4. Dirección Unicast de Enlace Local 2.2.5. Dirección Unicast Local Única 2.2.6. Direcciones Anycast 2.2.7. Direcciones Multicast 2.2.8. Direcciones de cada nodo 2.2.9. Selección de direcciones por defecto Introducción a IPv6 2.2. DIRECCIONAMIENTO Capacidad de direccionamiento IPv6 • Direcciones de 128 bits. • Capacidad de direccionamiento = 2¹²⁸. • ¿De qué orden es el número resultante? • Superficie terrestre = 510.065.284,702 x 10⁶ m² • A cada m² de la Tierra le corresponderían... 667.134.927.874.467.426.204.012 direcciones. • Parece suficiente para hacer frente a cualquier necesidad presente y futura. Introducción a IPv6 2.2. DIRECCIONAMIENTO Tipos de direcciones IPv6 • RFC 4291: regula todo lo relativo a direcciones. • Cada interfaz de red tiene varias direcciones IPv6 asignadas. • Hay tres tipos principales de direcciones: Introducción a IPv6 2.2. DIRECCIONAMIENTO Tipos de direcciones IPv6 • Unicast: un paquete enviado a esta dirección es recibido sólo por el propietario de la dirección. • Multicast: es el sustituto del broadcast de IPv4. Diferencia, broadcast envía paquetes a todos los equipos que se encuentran en la misma subred. Multicast envía paquetes solo a los equipos que tienen la misma dirección multicast. • Anycast: una dirección para varios dispositivos. Un paquete enviado a esta dirección, se entrega al equipo más cercano propietario de dicha dir. Introducción a IPv6 2.2. DIRECCIONAMIENTO Representación de direcciones • 8grupos x 4dígitosHex x 4bits = 128 bits ABFE:CD67:2143:6574:AFDE:DB87:6543:2109 • Notación abreviada para los ceros: 2191:0:0:7:0:900:300B:528B 2191:6:0:0:0:700:311B:528D = 2191:6::700:311B:528D FF01:0:0:0:0:0:0:101 = FF01::101 0:0:0:0:0:0:0:1 = ::1 0:0:0:0:0:0:0:0 = :: Introducción a IPv6 2.2. DIRECCIONAMIENTO 2.2.1. Los prefijos • Prefijos (Función análoga a la máscara de subred) • Rango de direcciones → organización jerárquica. • Prefijo = bits de mayor peso para identificar subred o tipo de dirección. • Notación CIDR → 2E78:DA53:1200::/40 • Prefijos típicos: •2000::/3 → Direcciones Unicast Globales. •FC00::/7 → Dirección Unicast Local Única. •FE80::/10 → Dirección Unicast de Enlace Local. •FF00::/8 →Direcciones Multicast. Introducción a IPv6 2.2. DIRECCIONAMIENTO 2.2.2. Dirección no especificada y dirección de Loopback • Dirección no especificada (Unspecified address) • Es la dirección 0:0:0:0:0:0:0:0 • Llamada “all-zeros address” (dirección todo ceros) • Notación abreviada “::” • Se usa igual que la 0.0.0.0 de IPv4: como dirección de origen al solicitar una configuración a servidores DHCP o BOOTP. • Dirección de Loopback • Es la dirección 0:0:0:0:0:0:0:1. Notación abreviada ::1 • Equivale a la dirección 127.0.0.1 de IPv4. Introducción a IPv6 2.2. DIRECCIONAMIENTO 2.2.3. Direcciones Unicast Globales (RFC 4291) • Direcciones reconocidas a nivel global, • Equivalen a las direcciones públicas IPv4. • Empiezan por 001, por lo que el prefijo es 2000::/3 • Si una dirección empieza por 0010 (0x2) o por 0011(0x3), estaremos ante una dirección unicast global. Introducción a IPv6 2.2. DIRECCIONAMIENTO 2.2.3. Direcciones Unicast Globales (RFC 4291) Respecto a los campos indicados • Prefijo de enrutado global (n bits). • Limita el rango de direcciones asignado al sitio. • Suele tener 48 bits. Gestión por ISPs y RIRs. • Parte del bloque 2000::/3 está reservado por la IANA para una futura asignación. Introducción a IPv6 2.2. DIRECCIONAMIENTO 2.2.3. Direcciones Unicast Globales (RFC 4291) • Identificador de Subred ((64 - n) bits). • Identifica un enlace dentro de un sitio. • Suele tener 16 bits y permite organizar subredes en la organización. • Una vez obtenido el prefijo de enrutado global, la organización puede descomponerse en 65.535 subredes. • El Administrador local gestiona este identificador. • Si la organización es muy grande, puede solicitar un prefijo de enrutado global de menos de 48 bits. Así tiene más espacio para crear subredes. Introducción a IPv6 2.2. DIRECCIONAMIENTO 2.2.3. Direcciones Unicast Globales (RFC 4291) • Identificador de Interfaz (64 bits). •Identifica una interfaz en una subred y debe ser único dentro de esa subred. • Se puede configurar de varias maneras. • Configuración estática (Manual). • Autoconfiguración (basado en EUI-64). • Configuración dinámica (DHCPv6). • Identificador de Interfaz Pseudo-Aleatorio. • Identificador generado criptográficamente. Introducción a IPv6 2.2. DIRECCIONAMIENTO 2.2.3. Direcciones Unicast Globales (RFC 4291) • Identificador de Interfaz (64 bits) (EUI-64) • EUI = Extended Unique Identifier • Identificador único a partir de la MAC (48bits). • Se divide la MAC en dos y se inserta 0xFF–FE (16bits) 00 – 03 – cd – 39 – 2b – 42 00 – 03 – cd – FF – FE – 39 – 2b – 42 • Para terminar se complementa el bit universal/local: 2º bit de menor peso en el byte de mayor peso. 0000 0000 → 0000 0010 = 0x02 • El identificador de interfaz obtenido: 02 – 03 – cd – FF – FE – 39 – 2b – 42 Introducción a IPv6 2.2. DIRECCIONAMIENTO 2.2.4. Dirección Unicast de Enlace Local (Local-Link Address) • Funciona como una dirección IPv4 privada asignada automáticamente. • Al ser privada, no se envía a Internet (no se enruta). • Equivale a las direcciones del rango 169.254.0.0/16 que se asignan en IPv4 cuando el servidor DHCP no está disponible. • Se utilizan en Autoconfiguración, para Neighbor Discovery, en redes sin routers y para crear redes temporales (por ejemplo, cuando se conectan dos equipos mediante un cable cruzado). Introducción a IPv6 2.2. DIRECCIONAMIENTO 2.2.4. Dirección Unicast de Enlace Local (Local-Link Address) • Todas las direcciones de enlace local empiezan por FE80. • El "prefijo de enlace local" es FE80::/10. • El identificador de interfaz se construye como se ha explicado anteriormente (EUI-64). Introducción a IPv6 2.2. DIRECCIONAMIENTO 2.2.4. Dirección Unicast de Enlace Local (Local-Link Address) Introducción a IPv6 2.2. DIRECCIONAMIENTO 2.2.5. Dirección Unicast Local Única (Local-Link Address) • Junto con la “Dirección de Enlace Local” se definió también la "Dirección de Sitio Local". • Con el tiempo, ese término fue sustituido por el de "Dirección Unicast Local Única" o simplemente "Dirección IPv6 Local". • En inglés: ULA (Unique Local Unicast Address). • Son direcciones únicas a nivel global, pero no deben ser enrutadas. • Diseñadas para trabajar en entornos privados. Introducción a IPv6 2.2. DIRECCIONAMIENTO 2.2.5. Dirección Unicast Local Única (Local-Link Address) • Sus características son las siguientes: • Prefijo global único para fácil filtrado en los límites de la red. • Permiten interconectar redes privadas sin riesgo de que surjan conflictos por direcciones duplicadas (lo que implicaría renumerar una red). • No dependen de los ISPs. • Si se enrutan accidentalmente a Internet, no surgen conflictos de direcciones. • Las aplicaciones las pueden usar como si fueran unicast globales. Introducción a IPv6 2.2. DIRECCIONAMIENTO 2.2.5. Dirección Unicast Local Única (Local-Link Address) • El formato de estas direcciones es el siguiente: • Bit L = 1 → la administración del prefijo es local. • Si administración local → FD::/8 (1111 1101). • Si admin. local, el IDENTIFICADOR GLOBAL (40 bits) se crea con un algoritmo pseudo-aleatorio que garantiza con una probabilidad altísima su exclusividad. Introducción a IPv6 2.2. DIRECCIONAMIENTO 2.2.5. Dirección Unicast Local Única (Local-Link Address) • A grandes rasgos, el algoritmo pseudo-aleatorio aplicado es así: – Se parte de la hora y fecha del día en formato NTP (Network Time Protocol) de 64bits. NTP es un protocolo que permite sincronizar los relojes de equipos conectados a Internet. – Se obtiene un identificador EUI - 64 a partir de la MAC. – Se concatenan los resultados obtenidos en (1) y (2). – Se aplica el algoritmo SHA-1 al resultado de (3) y se toman los 40 bits menos significativos como Identificador Global. Introducción a IPv6 2.2. DIRECCIONAMIENTO 2.2.6. Direcciones Anycast • En networking hay ocasiones en las que un servicio se ofrece por medio de varios hosts o routers. • De este modo se consigue: • Redundancia: el servicio no depende de un único servidor. • Balanceo de carga: los distintos servidores se reparten el trabajo para evitar sobrecargas. • A un usuario, aplicación o host que quiere acceder al servicio, no le importa quién le atiende. • Las direcciones Anycast permiten esta forma de funcionamiento, buscando el servidor más cercano. Introducción a IPv6 2.2. DIRECCIONAMIENTO 2.2.6. Direcciones Anycast • En IPv4 (1993) para DNS y HTTP (RFC1546). • Se implententa por "Dirección Unicast Compartida". • Asignación de dir. unicast “normales” a múltiples interfac. • Al usar anycast, no se controla quién recibe los datos. Esto lo decide el protocolo de enrutamiento. • Puede haber errores si se envían varios paquetes a una dir. anycast y éstos llegan a distintos destinos. • También ocurre si hay fragmentación de paquetes. • Ya en IPv6, la dir. anycast se asigna a más de una interfaz (normalmente en distintos nodos). Introducción a IPv6 2.2. DIRECCIONAMIENTO 2.2.6. Direcciones Anycast • Dirs.anycast: son un subconjunto de las unicast. • Sintacticamente, no se pueden distinguir. • En la figura, "dirección anycast de los routers de la subred" (subnet-router anycast address): • Es una dir.unicast con el id. de interfaz a cero. • Los paquetes enviados a esa dir. se entregan a un router de la subred (todos la soportan). Introducción a IPv6 2.2. DIRECCIONAMIENTO 2.2.7. Direcciones Multicast • Empiezan por 0xFF (1111 1111, en binario). • Los nodos que tienen una dirección multicast común forman un GRUPO DE MULTIDIFUSIÓN. • Un nodo puede estar en varios de estos grupos. • En paquete enviado a una dir.de multidifusión, es procesado por todos los miembros del grupo. Introducción a IPv6 2.2. DIRECCIONAMIENTO 2.2.7. Direcciones Multicast • El significado de los 4 bits utilizados como flags: • Bit (O) = 0. Reservado para un uso futuro. • Bit (R) = 0 (lo más habitual). A 1 indica que la dir. incluye información para encontrar fuentes de multidif. Se le llama Rendezvous Point (Punto de Encuentro). • Bit (P) = 0 indica que la dir. no incluye info. Sobre el prefijo. Se utiliza en asignación dinámica de dirs. Multicast. • Bit (T) = 0 indica que la dir. es una de las direcciones de multidifusión llamadas "Well-known" (bien conocidas), por estar asignadas por la IANA (bit a 0). Si T = 1, se trata de una dirección de multidifusión de carácter temporal. Introducción a IPv6 2.2. DIRECCIONAMIENTO 2.2.7. Direcciones Multicast • El campo “Scope” (= ámbito de aplicación) limita el alcance de una dirección de multidifusión. • 1 = nodo local • 5 = site local • 2 = link local • 14 = global (Internet) • El "Identificador de grupo" delimita el grupo objetivo de los paquetes multicast enviados. Como la • 1 = all nodes (Scope = 1 ó 2). 255.255.255.255 de IPv4 • 2 = all routers (Scope = 1, 2 ó 5) • Así, FF02::1 es la dirección "Link Local All Nodes". • FF02::2 es la dirección "Link Local All Routers". Introducción a IPv6 2.2. DIRECCIONAMIENTO 2.2.7. Direcciones Multicast • Dirección Multicast de Nodo Solicitado: • La agregan todos los nodos para cada una de sus dirs. unicast y anycast. Se usa en Neighbor Discovery (RFC 4291). • En IPv4, ARP para encontrar MACs usando broadcast. • En IPv6, envío de mensaje Neighbor Solicitation a la dirección multicast de "nodo solicitado". Así sólo atiende la petición el nodo buscado. • Se toman los 24 bits menos significativos de una dir. IPv6 (última parte del host ID) y se añaden al prefijo Well-known FF02:0:0:0:0:1:FF00:: /104. Rango para estas dirs: de FF02:0:0:0:0:1:FF00:0000 a FF02:0:0:0:0:1:FFFF:FFFF. Introducción a IPv6 2.2. DIRECCIONAMIENTO 2.2.7. Direcciones Multicast • Dirección Multicast de Nodo Solicitado (y 2): • Por ejemplo • Si MAC = 00-18-F8-29-F1-D7 • Y dirección IPv6 = FE80::218:F8FF:FE29:F1D7 • Dir.multicast de nodo solicitado = FF02::1:FF29:F1D7 • Así, sabiendo la dir. IPv6 se puede preguntar por la MAC directamente a partir de la dir. multicast de nodo solicitado. • Si este host tiene otras direcciones IPv6 unicast o anycast, cada una podría tener asociada su propia dirección multicast de nodo solicitado. Introducción a IPv6 2.2. DIRECCIONAMIENTO 2.2.7. Direcciones Multicast • Asignación dinámica de direcciones Multicast: • Se basa en un nuevo formato (RFC 3306): • Aquí el flag "P" indica si la dir.muticast contiene un prefijo (P = 1) o no (P = 0). Si P = 1, T = 1, indicando que es una dir. multidifusión temporal (no Well-known). • El campo PLen (8 bits) especifica la longitud del prefijo en el campo de prefijo.Si longitud de prefijo <64 bits, los bits no utilizados en dicho campo se pondrán a 0. Introducción a IPv6 2.2. DIRECCIONAMIENTO 2.2.8. Direcciones de cada nodo • Cada host puede tener las siguientes direcciones: • Dirección de enlace local para para cada interfaz. • Todas las direcciones unicast y anycast asignadas. • La dirección de loopback. • La dirección multicast de todos los nodos (all-nodes). • La dirección multicast Solicited-node para cada una de sus direcciones unicast y anycast. • Las direcciones multicast de todos los grupos a los que pertenezca el host. Introducción a IPv6 2.2. DIRECCIONAMIENTO 2.2.8. Direcciones de cada nodo • En cuanto a los routers, tienen que reconocer todas las direcciones anteriores, y las siguientes: • La dirección de anycast de los routers de la subred para las interfaces para las que está configurado para actuar como un router en cada enlace. • Todas las direcciones anycast con las que el router ha sido configurado. • La dirección multicast de todos los routers. • Las direcciones multicast de todos los demás grupos a los que pertenece el router. Introducción a IPv6 2.2. DIRECCIONAMIENTO 2.2.9. Selección de direcciones por defecto • Una interfaz, varias dirs. IPv6 + conviven IPv4/IPv6. • Hay que decidir entre utilizar IPv4 o IPv6. • En caso de IPv6, ¿qué dirección será la elegida? • Sup que un cliente envía una petición DNS para un servicio externo y recibe como respuesta una dir. IPv6 global y una dirección IPv4 pública. • Si tiene una dir. IPv4 privada y una dir. IPv6 global, tiene sentido utilizar IPv6 para acceder a este servicio externo. • Si tiene una dir. IPv6 de enlace local y una dir. IPv4 pública, elegirá IPv4 para la conexión al servicio. Introducción a IPv6 2.2. DIRECCIONAMIENTO 2.2.9. Selección de direcciones por defecto • Estas situaciones se van a dar en el escenario de redes mixtas con redes sólo-IPv4, redes sólo-IPv6 y redes con doble pila. • La respuesta dependerá de la programación de la aplicación que está usando el protocolo. • Los desarrolladores deben ser conscientes de ello y tratar de establecer mecanismos para optimizar el comportamiento de sus aplicaciones en todos los ambientes posibles. Introducción a IPv6 2.2. DIRECCIONAMIENTO 2.2.9. Selección de direcciones por defecto • La RFC 3484 "Default Address Selection for IPv6", define dos algoritmos generales, uno para la selección de la dirección de origen y el otra para la selección de la dirección de destino. • Esta RFC debe ser soportada por todos los nodos IPv6, es decir, tanto por host como por routers. • Los algoritmos especifican el comportamiento por defecto para los nodos IPv6, pero no anulan las decisiones tomadas por las aplicaciones o protocolos de la capa superior. Introducción a IPv6 2.2. DIRECCIONAMIENTO 2.2.9. Selección de direcciones por defecto • Las direcciones asociadas a las interfaces tienen un tiempo de vida que indica hasta cuándo está dicha dirección asociada a la interface. • Mientras ese tiempo no haya expirado, la dirección se considera "preferida". • Una vez agotado el tiempo, y hasta que la dirección es liberada totalmente, se la considera "obsoleta"(deprecated) y se puede seguir utilizando, aunque no se recomienda. Introducción a IPv6 2.2. DIRECCIONAMIENTO 2.2.9. Selección de direcciones por defecto • He aquí un resumen de las reglas más importantes: • Son preferibles pares de dirs. del mismo ámbito o tipo (link-local, global). • Es mejor usar el ámbito de destino más pequeño posible. • Es mejor una dirección preferida a una obsoleta. • Las direcciones de transición (por ej., ISATAP o 6to4) no se utilizan si hay direcciones IPv6 nativas disponibles. • Si todos los criterios son similares, son preferibles los pares de direcciones con el prefijo común más largo. • Para la dir. de origen, es mejor una global a una temporal