Tema 7: Redes IP, IPv6 PDF
Document Details
Uploaded by ChivalrousPlutonium8456
Universidad Politécnica de Madrid
Ignacio Soto
Tags
Summary
These notes detail the topic of Redes IP, IPv6, within the context of a Master's degree program in Engineering, specifically focusing on Computer Networks. The document covers concepts and fundamentals, including introduction, datagram formats, addressing, and ICMPv6.
Full Transcript
Máster de Formación Permanente en Ingeniería de Producción y Explotación de Contenidos Módulo 5: Redes de ordenadores - Fundamentos de Redes IP Tema 7: Redes IP, IPv6...
Máster de Formación Permanente en Ingeniería de Producción y Explotación de Contenidos Módulo 5: Redes de ordenadores - Fundamentos de Redes IP Tema 7: Redes IP, IPv6 Ignacio Soto, [email protected] Curso 2024/25 Tema 7: Redes IP, IPv6 1 Contenido Introducción a IPv6 Formato de datagrama Direccionamiento ICMPv6 Tema 7: Redes IP, IPv6 2 Referencias Rick Graziani. IPv6 Fundamentals: A Straightforward Approach to Understanding IPv6. Cisco Press. 2012 S. Hagen. IPv6 Essentials, 3rd edition. O'Reilly Media. 2014 S. Deering, R. Hinden. Internet Protocol, Version 6 (IPv6) Specification. IETF RFC 8200, July 2017. https://www.ipv6.com Tema 7: Redes IP, IPv6 3 Motivación Falta de direcciones IPv4 por el crecimiento de Internet a partir de los 90 NATs: RFC 1631 (1994)->RFC 3022; y Carrier Grade NATs: RFC 6888, RFC 6598 (2012) Se pasa de 232 direcciones IPv4 a 2128 direcciones IPv6 Los NATs dejan de ser necesarios La vida de IPv4 se ha prolongado mucho gracias a los NATs pero: Aumento del tráfico global de IPv6 en Internet (más del 40% en 2024) Soporte generalizado de dual-stack en sistemas finales y equipos de comunicaciones Apuesta de Google, Amazon y Apple por la domótica basada en IPv6: Thread (protocolo para comunicaciones de dispositivos IoT basado en IPv6 Movistar y O2 en España soportan IPv6 en toda su red móvil (2023) Mecanismos de transición, IPv6-only e IPv6-mostly Aunque… adopción lenta en el mundo del equipamiento AV Tema 7: Redes IP, IPv6 4 Adopción de IPv6 Midiendo la conectividad IPv6 contra servidores de Google octubre 2024) Por países: España (12,82%); Portugal (40,02%); Francia (75,89%); Alemania (75,54%); Estados Unidos (48,02%); México (50,73%); India (72,2%) Fuente: https://www.google.com/intl/en/ipv6/statistics.html Tema 7: Redes IP, IPv6 5 Características de IPv6 Comparte las características básicas de IPv4: Protocolo de datagramas para transportar la información en Internet de interfaz origen a interfaz destino Transporte Direcciones asignadas a interfaces Formato de tablas de forwarding igual que en IPv4 pero con direccionamiento IPv6 IPv6 Prefijos + ajuste al prefijo más largo CIDR para distribución de direcciones Enlace Servicio básico: best-effort Tema 7: Redes IP, IPv6 6 Características IPv6 (II) Ventajas adicionales: CIDR y asignación topológica desde el principio Agregación mucho más eficiente Prefijos de subredes no ajustado a las necesidades de direcciones Tamaño /64 de prefijos de subredes Autoconfiguración de direcciones DHCPv6 y SLAAC Multicast plenamente integrado en IPv6 No hay dirección de broadcast, es multicast a todos los nodos Direcciones con alcance (scope) Formato muy flexible para opciones en cabecera IPv6 Soporte de seguridad a nivel de red Mejoras para tratar con tráfico multimedia y QoS Mejoras para hacer más fácil añadir movilidad Tema 7: Redes IP, IPv6 7 IPv6 en la torre de protocolos (Dual-stack) Transporte UDP TCP ICMPv4 ICMPv6 Red IPv4 IPv6 Ethernet Type IPv4 = 0x0800 Ethernet Type IPv6 = 0x86dd Enlace + Físico Tecnología de subred (ej. Ethernet) Tema 7: Redes IP, IPv6 8 32 bits Identifica Cabecera IPv6 4 bits 8 bits 20 bits paquetes Clase de pertenecientes Ver. Etiqueta de flujo (20 bits) tráfico a un flujo Número de la versión Longitud carga útil Siguiente Límite de del protocolo IP (16 bits) cabecera saltos (8 b) Máximos saltos, se diffserv + indicar congest. decrementa DSCP (6) + ECN (2) en routers Longitud, en bytes, de la dirección IPv6 origen (128 bits) carga útil Indica qué hay detrás de Qué falta comparando con IPv4: la cabecera Checksum Fragmentación y reensamblado Opciones dirección IPv6 destino (128 bits) Direcciones Tema 7: Redes IP, IPv6 9 Cabeceras de extensión IPv6 Cabecera Cabecera IPv6 extensión IPv6 X Cabecera Datos protocolo Y protocolo Y Siguiente cabecera = X Siguiente cabecera = Y Cero, una, o más cabeceras de extensión Muy flexible para introducir opciones Si no las necesitamos, no están Diversos tipos de cabeceras de extensión Ordenadas según dónde tienen que ser procesadas lo que mejora las prestaciones Protocolo Y: protocolo de nivel superior, por ejemplo: TCP o UDP No tiene campo de “siguiente cabecera” Ejemplo: Tema 7: Redes IP, IPv6 10 Direcciones IPv6 Una dirección IPv6 tiene 128 bits 2128 direcciones = 296 x (espacio de direcciones IPv4) Se representa mediante 8 grupos, separados por “:”, de 4 números hexadecimales, es decir: X:X:X:X:X:X:X:X donde las X son 16 bits representados por 4 números hexadecimales, por lo que X está entre 0000 y ffff Cuando el número hexadecimal sea una letra, se recomienda escribirla en minúsculas El conjunto de 4 números hexadecimales se denomina hexteto Ejemplo: 2001:0db8:0000:0000:0000:003a:0124:0001 Tema 7: Redes IP, IPv6 11 Direcciones IPv6 (II) Dirección IPv6: 2001:0db8:0000:0000:0000:003a:0124:0001 Simplificaciones: Eliminar los ‘0’ a la izquierda de grupos de 4 números hexadecimales: 2001:db8:0:0:0:3a:124:1 Cuando hay varios grupos de 4 números hexadecimales seguidos a ‘0000’, substituirlos por ‘::’ 2001:db8::3a:124:1 Todos las simplificaciones son reversibles sin ambigüedad Solo un “::” en la dirección Si hay varios grupos de hextetos a cero en la dirección, se recomienda escoger el grupo mayor o el más a la izquierda: 2001:0:0:1:0:0:0:1 -> 2001:0:0:1::1 2001:0:0:1:1:0:0:1 -> 2001::1:1:0:0:1 Tema 7: Redes IP, IPv6 12 Prefijos IPv6 Se utiliza un /r para indicar la longitud del prefijo (r): 2001:db8::/48 -> 2(128-48) direcciones IPv6 La longitud del prefijo se aplica a los 128 bits: 2001:db8::1/64 -> es la dirección IPv6 2001:db8:0:0:0:0:0:1 con prefijo 2001:db8:0:0:0:0:0:0/64 64 bits 64 bits fe80:0:0:1::/64 -> prefijo fe80:0:0:1:0:0:0:0/64 fe80::1/64 es la dirección fe80:0:0:0:0:0:0:1 del prefijo fe80:0:0:0:0:0:0:0/64 64 bits 60 bits 2001:db8:0:cd30::/60 -> 2001:db8:0:cd30:0:0:0:0/60 2001:db8:0:cd3::/60 -> es la dirección 2001:db8:0:0cd3:0:0:0:0 del prefijo 2001:db8:0:0cd0:0:0:0:0/60 60 bits Tema 7: Redes IP, IPv6 13 Tipos de direcciones IPv6 Direcciones asignadas a interfaces de red Tipos: Unicast Comunicaciones punto a punto Espacio de direcciones unicast Multicast Comunicaciones de un origen a múltiples destinos (punto a multipunto) Espacio de direcciones multicast Anycast Varias interfaces tienen la misma dirección anycast, un mensaje enviado a esa dirección se entrega a una de las interfaces Las direcciones anycast salen del espacio de las unicast Tema 7: Redes IP, IPv6 14 Tipos de direcciones IPv6 (II) Las direcciones IPv6 tienen además alcance o ámbito (scope) Define el alcance de la comunicación posible con la dirección Ejemplos: en un enlace (Link-local) o global Una interfaz tendrá típicamente varias direcciones IPv6 Para usar en distintas comunicaciones según su alcance Tema 7: Redes IP, IPv6 15 Espacio de direcciones IPv6 Tipo Espacio de direcciones Link-local unicast fe80::/10 Unique Local unicast fc00::/7 Multicast ff00::/8 Dirección sin especificar :: Loopback ::1 2001:db8::/32 reservado para ejemplos en documentación Global unicast cualquier otra dirección (por ahora IANA ha delegado: 2000::/3) Rangos para direcciones unicast y multicast Varios alcances unicast: Link-local, Unique Local y Global El alcance de las direcciones multicast se define dentro del rango multicast Tema 7: Redes IP, IPv6 16 Direcciones unicast: formato Dirección IPv6 unicast de una interfaz: Prefijo de subred Identificador de Interfaz (IID) r bits (128-r) bits IID: En las direcciones unicast el IID debe tener 64 bits Es decir, el prefijo de red para una subred es /64 Dado un prefijo de subred, cada interfaz debe tener un IID único No se pueden asignar a una interfaz, como direcciones unicast, ni la primera ni las 128 direcciones más altas del prefijo /64 Esas direcciones están reservadas: No son unicast sino anycast La primera es la anycast de routers en la subred Tema 7: Redes IP, IPv6 17 Direcciones unicast: formato (II) Prefijo de subred Identificador de Interfaz (IID) r bits (128-r) bits El IID de una interfaz se puede crear de varias maneras, ejemplos: 1. Manualmente 2. Aleatoriamente (actualmente, opción por defecto por privacidad) 3. Formato EUI-64 modificado generado a partir de un identificador de nivel 2, por ejemplo, una dirección Ethernet: 00:60:97:BC:B3:CB -> 0260:97ff:febc:b3cb Se invierte Se introduce 0xff el 7º bit y 0xfe para llegar a 64 bits Tema 7: Redes IP, IPv6 18 Direcciones unicast: Link-local fe80:: Interface IDentifier (IID) 64 bits 64 bits Direcciones para comunicaciones en un enlace (subred) Un router no reenvía un datagrama con estas direcciones Se usa el prefijo fe80::/64 Ejemplo= fe80::12:4:17:f234 Aunque hay más espacio de direcciones asignado Permite a un equipo generar un IID y configurar una dirección con la que comunicarse en un enlace: Prefijo de subred (fe80::/64) + IID Una interfaz IPv6 configurará automáticamente una dirección link-local Se usa en: procedimientos IPv6, como obtener información para configurar una dirección global Siguiente salto en tabla de forwarding Comunicaciones en una subred aislada, sin routers Tema 7: Redes IP, IPv6 20 Direcciones unicast: Unique Local Direcciones Unique Local o ULA Direcciones globalmente únicas (con alta probabilidad) pero no encaminables en Internet Debido al prefijo no son agregables con las unicast globales Pensadas para comunicaciones en ámbito local Una organización o una red no conectada a Internet Formato: ID fd ID Global Subred IID 8 bits 40 bits 16 bits 64 bits El ID global: Generado localmente (por quien lo va a usar) Generación aleatoria -> favorece la probabilidad de que sea globalmente único Si los 8 primeros bits de la ULA son 0xfc Mismo formato de ULA pero por definir cómo generar el ID global Tema 7: Redes IP, IPv6 21 Direcciones unicast: Globales Direcciones globalmente únicas y encaminables en Internet Formato direcciones unicast globales: Prefijo de ID IID routing global Subred 64 bits El prefijo de routing global se obtiene mediante asignación CIDR: ICANN/IANA->RIRs->ISPs->Usuarios finales RIRs recibe prefijos /12 de IANA ISPs grandes reciben prefijos /23-/32 de RIRs Organizaciones reciben prefijos /48 de ISPs Entornos domésticos reciben prefijo /56 de ISPs Tema 7: Redes IP, IPv6 22 Direcciones unicast: Globales (II) Prefijo de ID IID routing global Subred 48 bits 16 bits 64 bits Se recibe un prefijo, por ejemplo /48 de un ISP Se asignan prefijos /64 a subredes usando el ID de subred -> 216 = 65536 subredes posibles En enlaces punto a punto entre routers se pueden asignar prefijos /127 Ejemplo: Prefijo RedIRIS (ISP UPM)-> 2001:720::/32 (/29) Prefijo UPM-> 2001:720:41c::/47 Prefijo ETSIT-> 2001:0720:041c:2000::/53 Prefijo DIT-> 2001:0720:041C:2200::/57 Una subred dentro del DIT-> 2001:720:41c:2242::/64 Tema 7: Redes IP, IPv6 23 Direcciones multicast Las direcciones multicast no se asignan a interfaces No pueden ser dirección origen Se configura escuchar en una dirección multicast Más espacio de direcciones multicast que en IPv4 Formato (parcial): ff flags scope (RFC 4291, RFC 7371) 8 bits 4 bits 4 bits 112 bits Flags=XXXT (4 bits, nos fijamos en el último) T=1, dirección multicast temporal y T=0 es una dirección multicast permanente (si T=0, XXX=000) Scope (4 bits) Indica el alcance (ámbito) de uso de la dirección multicast Ejemplos de valores: 2-> enlace; 5->site-local; 8-> organización; e-> global Ejemplos: ff02::1 Todos los nodos del enlace ff02::2 Todos los routers del enlace ff18::1:1 Grupo multicast usado en una organización Tema 7: Redes IP, IPv6 24 Direcciones multicast: nivel 2 La utilidad de las direcciones multicast en un enlace solo se consigue con multicast a nivel 2 Ejemplo, para Ethernet se mapean las direcciones IPv6 multicast a direcciones Ethernet multicast Dirección Ethernet multicast= 33:33+[32 últimos bits dirección multicast IPv6] Dirección IPv6 multicast= [96 bits]:XXXX:XXXX Dirección Ethernet multicast= 33:33:XX:XX:XX:XX Cuando se escucha en una dirección IPv6 multicast se configura la tarjeta Ethernet para escuchar en la dirección Ethernet multicast correspondiente El envío a una IPv6 multicast en el enlace destino se hace a la Ethernet multicast correspondiente Ejemplos: Dirección IPv6 multicast= ff02::1 Dirección Ethernet multicast= 33:33:00:00:00:01 Dirección IPv6 multicast = ff18::1:1 Dirección Ethernet multicast= 33:33:00:01:00:01 Tema 7: Redes IP, IPv6 27 Direcciones IPv6 y nombres Recordar direcciones es todavía más difícil que en IPv4 (128 bits vs. 32 bits) Se usa DNS para traducir (resolver) nombres a direcciones IPv6 Al DNS se le puede pedir que traduzca un nombre a una dirección IPv6 (registro AAAA) y/o a una dirección IPv4 (registro A) En un equipo con IPv4 e IPv6, se pueden preguntar ambas direcciones para un destino y, en función de respuesta, preferencias y configuración, hacer la comunicación en IPv4 o IPv6 Tema 7: Redes IP, IPv6 28 ICMPv6 Internet Control Message Protocol para IPv6 Transporte Supervisión y comunicación de errores de red ICMPv6 Protocolos que se implementan con mensajes ICMPv6: Multicast Listener Discovery (gestión grupos multicast) IPv6 Neighbor Discovery Ejemplos de funciones: autoconfiguración de direcciones sin estado, resolución de direcciones (IPv6nivel 2) Enlace Tema 7: Redes IP, IPv6 29 ICMPv6: formato de mensajes Cabecera IPv6 Cabecera Contenido ICMPv6 mensaje ICMPv6 Siguiente cabecera = 58 tipo código checksum depende del mensaje datos 8 bits 8 bits 16 bits 32 bits Tema 7: Redes IP, IPv6 30 ICMPv6: formato de mensajes (II) tipo código checksum depende del mensaje datos 8 bits 8 bits 16 bits 32 bits Tipo: tipo de mensaje 0-127: mensajes de error (ejemplos: destino no alcanzable o excedido número de saltos) 128-255: mensajes informativos (ping y protocolos implementados con mensajes ICMPv6) Código Dentro del tipo, qué mensaje concreto es Checksum Se aplica al mensaje ICMPv6 y a pseudo-cabecera con datos de la cabecera IPv6 Tema 7: Redes IP, IPv6 31 ICMP: Multicast Listener Discovery tipo código checksum Maximum Response Delay Reserved Dirección grupo multicast 8 bits 8 bits 16 bits 16 bits 16 bits Gestiona la permanencia a grupos multicast Dos versiones: MLDv1 y MLDv2 Usan mensajes ICMPv6, en concreto: Tipo 130: Multicast Listener Query Tipo 131: MLDv1 Multicast Listener Report Se envía a la dirección IPv6 multicast del grupo al que se está haciendo la suscripción Tipo 132: Multicast Listener Done (leave message) Tipo 143: MLDv2 Multicast Listener Report Se envía a la dirección IPv6 multicast ff02::16 (routers MLD de la red) Permite indicar fuentes de las que se quiere recibir el contenido del grupo (INCLUDE) y fuentes de las que no se quiere recibir el contenido del grupo (EXCLUDE): Source Specific Multicast - SSM) No hay supresión de Report al recibirlo de otro sistema final MLD snooping y MLD proxy Tema 7: Redes IP, IPv6 34 ICMPv6: Neighbor Discovery Protocol Neighbor Discovery Protocol (ND) Protocolo implementado usando mensajes informativos ICMPv6 Funciones: Resolución de direcciones (IPv6direcciones nivel 2) SLAAC: configuración automática de direcciones sin estado (StateLess Address AutoConfiguration) Detección de direcciones duplicadas Detección de vecinos no alcanzables Redirección a otro router en el segmento Tema 7: Redes IP, IPv6 35 ICMPv6: ND, SLAAC Objetivo: Configuración automática de la red de sistemas finales sin estado (sin un servidor con información de direcciones asignadas) Alternativa a configuración automática mediante DHCPv6 o a configuración manual SLAAC y DHCPv6 se pueden combinar Se usan los mensajes ICMPv6 informativos: RS: Router Solicitation (tipo=133; código=0) Enviado por hosts para solicitar envío de RAs RA: Router Advertisement (tipo=134; código=0) Enviado por routers como respuesta a un RS o periódicamente La información en el RA permite a cualquier host configurar la red: Prefijo de red -> Dirección = Prefijo de red + IID Muy baja probabilidad de colisión en IIDs generados en distintos hosts Router por defecto -> IPv6 origen del RA … Tema 7: Redes IP, IPv6 38 Routing Los protocolos de routing encuentran caminos para llegar a destinos (prefijos) y los introducen en la tabla de forwarding En forma del siguiente salto para llegar hasta ese destino Lo anterior es válido tanto en IPv4 como en IPv6 Solo cambian las direcciones/prefijos que se manejan Los protocolos de routing que se utilizan en Internet tienen versiones para IPv4 y para IPv6 Tema 7: Redes IP, IPv6 41 Transición de IPv4 a IPv6 IPv6 va a convivir durante muchos años con IPv4 Objetivo: que toda Internet sea accesible independientemente del uso de IPv4 o IPv6 en sistemas finales o en equipos de comunicaciones Mecanismos de transición: Dual-stack Muy práctico, permite la adopción gradual de IPv6: usamos IPv6 si se puede llegar a un destino por IPv6 (red y sistemas finales) y, si no, IPv4 Mantenemos dos pilas/redes en paralelo: complejidad y problemas de seguridad Eventualmente queremos tener equipos que sean solo IPv6 Diversas soluciones basadas en túneles: los paquetes de una versión se encapsulan en paquetes de la otra Ejemplo IPv4 sobre IPv6: DS-Lite Traductores de protocolos: traducen cabeceras entre IPv4 e IPv6 en un nodo intermedio para comunicar mundo IPv4 con mundo IPv6 Ejemplos: NAT64/DNS64, 464XLAT Tema 7: Redes IP, IPv6 42 Conclusiones Motivación para el uso y despliegue de IPv6 en Internet Direcciones Ventajas: Simplificación de la gestión de direcciones Modelo simple extremo a extremo sin NATs: facilita la innovación en servicios y aplicaciones IPv6 ampliamente implementado en sistemas operativos y equipos de comunicaciones Muchas aplicaciones compatibles con IPv6 Por ejemplo, desde junio 2016 todas las apps enviadas a App Store deben soportar IPv6 (https://developer.apple.com/support/ipv6) Se recomienda programar con APIs agnósticas con respecto a la familia de direcciones IPv6 Formato de datagrama Direcciones IPv6 y cómo escribirlas Direcciones unicast: Link local, Unique Local, globales Direcciones multicast y anycast ICMPv6 Multicast Listener Discovery, Neighbor Discovery Tema 7: Redes IP, IPv6 43