Introducción a IPv6 - Prof. Albino Goncalves | "En una ... · - 21 Prefijos de los Tipos de...
Transcript of Introducción a IPv6 - Prof. Albino Goncalves | "En una ... · - 21 Prefijos de los Tipos de...
- 1
Santiago de Compostela Abril, 2011
Jordi Palet, Consulintel ([email protected])
Introducción a IPv6
- 2
¿Porque un Nuevo Protocolo de Internet?
Un único motivo lo impulso: Más direcciones! – Para miles de millones de nuevos dispositivos,
como teléfonos celulares, PDAs, dispositivos de consumo, coches, etc.
– Para miles de millones de nuevos usuarios, como China, India, etc.
– Para tecnologías de acceso “always-on” , como xDSL, cable, ethernet, etc.
- 3
Pero, ¿No es Verdad que aún Quedan Muchas Direcciones
IPv4? • Disponibilidad de direcciones IPv4:
– 10% a principio de 2010 – 6% mediados de 2010 – 5% dos meses después – 2% antes de final de 2010 – 0% el 3 de Febrero de 2011
• Hoy negamos direcciones IPv4 públicas a la mayoría de los nuevos hosts – Empleamos mecanismos como NAT, PPP, etc.
para compartir direcciones • Pero nuevos tipos de aplicaciones y nuevos
mecanismos de acceso, requieren direcciones únicas
- 4
¿Porqué NAT no es Adecuado?
• No funciona con gran número de “servidores”, es decir, dispositivos que son “llamados” por otros (ejemplo, Teléfonos IP)
• Inhiben el desarrollo de nuevos servicios y aplicaciones
• Comprometen las prestaciones, robustez, seguridad y manejabilidad de Internet
- 5
Ventajas Adicionales con el Tamaño Mayor de las
Direcciones • Facilidad para la auto-configuración • Facilidad para la gestión/delegación de
las direcciones • Espacio para más niveles de jerarquía y
para la agregación de rutas • Habilidad para las comunicaciones
extremo-a-extremo con IPsec (porque no necesitamos NATs)
- 6
Ventajas Adicionales con el Nuevo Despliegue
• Oportunidad para eliminar parte de la complejidad, ejemplo en la cabecera IP
• Oportunidad para actualizar la funcionalidad, ejemplos como multicast, QoS, movilidad
- 7
Resumen de las Principales Ventajas de IPv6
• Capacidades expandidas de direccionamiento • Autoconfiguración y reconfiguración “sin
servidor” (“plug-n-play”) • Mecanismos de movilidad más eficientes y
robustos • Incorporación de encriptado y autenticación en
la capa IP • Formato de la cabecera simplificado e
identificación de flujos • Soporte mejorado de opciones/extensiones
- 8
¿Porqué 128 Bits para el Tamaño de las Direcciones?
• Había quienes deseaban direcciones de 64-bits, de longitud fija
– suficientes para 1012 sitios, 1015 nodos, con una eficacia del .0001 (3 órdenes de magnitud más que los requisitos de IPng) – minimiza el crecimiento del tamaño de la cabecera por cada paquete – eficaz para el procesado por software
• Había quienes deseaban hasta 160 bits y longitud variable – compatible con los planes de direccionamiento OSI NSAP – suficientemente grandes para la autoconfiguración utilizando direcciones IEEE 802 – se podía empezar con direcciones mas pequeñas que 64 bits y crecer posteriormente
• La decisión final fue un tamaño de 128-bits y longitud fija – ¡nada menos que 340,282,366,920,938,463,463,374,607,431,768,211,456!
- 9
¿Que pasó con IPv5?
0–3 no asignados 4 IPv4 (versión más extendida hoy de IP) 5 ST (Stream Protocol, no un nuevo IP) 6 IPv6 (inicialmente denominados SIP, SIPP) 7 CATNIP (inicialmente IPv7, TP/IX; caducados) 8 PIP (caducado) 9 TUBA (caducado) 10-15 no asignados
- 10
Formato de la Cabecera
- 11
RFC2460
• Especificación básica del Protocolo de Internet versión 6
• Cambios de IPv4 a IPv6: – Capacidades expandidas de direccionamiento – Simplificación del formato de la cabecera – Soporte mejorado de extensiones y opciones – Capacidad de etiquetado de flujos – Capacidades de autenticación y encriptación
- 12
Formato de la Cabecera IPv4
• 20 Bytes + Opciones
bits: 4 8 16 20 32 Version H. Length TOS Total Length
Identification Flags Fragment Offset Time To Live Protocol Header Checksum
32 bits Source Address 32 bits Destination Address
Options
Modified Field Deleted Field
- 13
Formato de la Cabecera IPv6
• De 12 a 8 campos (40 bytes)
– Evitamos la redundancia del checksum – Fragmentación extremo-a-extremo
bits: 4 12 16 24 32 Version Class of Traffic Flow Label
Payload Length Next Header Hop Limit
128 bits Source Address
Dirección Destino
De
128 bits Destination Address
- 14
Resumen de los Cambios de la Cabecera
• 40 bytes • Direcciones incrementadas de 32 a 128 bits
• Campos de fragmentación y opciones retirados de la cabecera básica
• Retirado el checksum de la cabecera
• Longitud de la cabecera es sólo la de los datos (dado que la cabecera tiene una longitud fija)
• Nuevo campo de Etiqueta de Flujo • TOS -> Traffic Class
• Protocol -> Next Header (cabeceras de extensión)
• Time To Live -> Hop Limit • Alineación ajustada a 64 bits
- 15
Cabeceras de Extensión • Campo “Next Header”
IPv6 Header Next Header =
TCP TCP Header DATA
IPv6 Header Next Header =
Security Security Header
Next Header = Fragmentation
Fragmentation Header
Next Header =TCP DATA TCP Header
- 16
Ventajas de las Cabeceras de Extensión
• Procesadas sólo por los nodos destino – Excepción: Hop-by-Hop Options Header
• Sin limitaciones de “40 bytes” en opciones (IPv4)
• Cabeceras de extensión definidas hasta el momento: – Hop-by-Hop Options (0)
– Destination Options (60) / Routing (43)
– Fragment (44)
– Authentication (RFC4302, next header = 51)
– Encapsulating Security Payload (RFC4303, next header = 50)
– Destination Options (60)
– Mobility Header (135)
– No next header (59) • TCP (6), UDP (17), ICMPv6 (58)
- 17
Plano de Control IPv4 vs. IPv6
IPv6
Ethernet
ICMPv6
ND MLD
Multicast
IPv4
ICMP IGMPv2
ARP
Ethernet Broadcast Multicast
- 18
Direccionamiento y Encaminado
- 19
Formato “preferido”: 2001:DB8:FF:0:8:7:200C:417A Formato comprimido: FF01:0:0:0:0:0:0:43
se comprime como: FF01::43 Compatible-IPv4: 0:0:0:0:0:0:13.1.68.3
o ::13.1.68.3 IPv4-mapped: ::FFFF:13.1.68.3 URL: http://[FF01::43]:80/index.html
Representación Textual de las Direcciones
- 20
Tipos de Direcciones
Unicast (uno-a-uno) – globales – enlace-local – local-de-sitio (caducado, sustituido) – Locales Únicas (ULA) – Compatible-IPv4 (caducado, sustituido) – IPv4-mapped
Multicast (uno-a-muchas) Anycast (uno-a-la-mas-cercana) Reservado
- 21
Prefijos de los Tipos de Direcciones
• Las direcciones Anycast utilizan el mismo prefijo que las Unicast
Address Type Binary Prefix IPv6 Notation
Unspecified 00…0 (128 bits) ::/128 Loopback 00…1 (128 bits) ::1/128
Multicast 1111 1111 FF00::/8
Link-Local Unicast 1111 1110 10 FE80::/10 ULA 1111 110 FC00::/7 Global Unicast (everything else)
IPv4-mapped 00…0:1111 1111:IPv4 ::FFFF:IPv4/128
Site-Local Unicast (deprecated)
1111 1110 11 FEF0::/10
IPv4-compatible (deprecated)
00…0 (96 bits) ::/96
- 22
Global Unicast Prefixes Address Type Binary Prefix IPv4-compatible 0000...0 (96 zero bits) (deprecated) IPv4-mapped 00…0FFFF (80 zero+ 16 one bits) Global unicast 001 ULA 1111 110x (1= Locally assigned)
(0=Centrally assigned) • 2000::/3 es utilizado para Global Unicast, todos los
demás prefijos están reservados (aproximadamente 7/8 del total)
- 23
Direcciones Globales Unicast (RFC3587)
• El prefijo global de routing es un valor asignadoa una zona (sitio, conjunto de subredes/enlaces)
– Ha sido diseñado para ser una estructura jerárquica desde una perspectiva de Routing Global
• El Identificador de subred, identifica una subred dentro de un sitio – Ha sido diseñado para ser una estructura jerárquica desde una perspectiva del administrador del sitio
• El Identificador de Interfaz se construye siguiendo el formato EUI-64
Subnet ID (16 bits)
Interface Identifier (64 bits)
interface ID 001 subnet ID Glob. Rout. prefix
Global Routable Prefix
(45 bits)
- 24
16 64 bits 12
interface ID SLA* pTLA TLA 001
Direcciones Global Unicast para el 6Bone (hasta 6/6/6)
• 6Bone: Red IPv6 experimental utilizada sólo para pruebas • TLA 1FFE (hex) asignado al 6Bone
– por tanto, las direcciones de 6Bone comienzan con 3FFE: – (binario 001 + 1 1111 1111 1110)
• Los 12 bits siguientes numeran un “pseudo-TLA” (pTLA) – por tanto, cada pseudo-ISP de 6Bone obtiene un prefijo /28
• NO debe de ser utilizado para servicios de producción con IPv6
NLA*
20 13
- 25
Direcciones Globales Unicast Addresses para Servicios de Producción
• Los LIRs reciben por defecto /32 – Las direcciones de producción actualmente son de los prefijos 2001, 2003, 2400, 2800, etc. – Se puede pedir más si se justifica
• /48 utilizado sólo dentro de la red del LIR, con algunas excepciones para infraestructuras críticas
• /48 a /128 es delegado a usuarios finales – Recomendaciones siguiendo el RFC3177 y las políticas vigentes
• /48 en el caso general, /47 si esta justificado para redes más grandes • /64 sólo si una y sólo una red es requerida • /128 si y sólo si se esta seguro de que sólo un único dispositivo va a ser desconectado
Subnet ID (16 bits)
Interface Identifier (64 bits)
interface ID 001 subnet ID Glob. Rout. prefix
Global Routable Prefix
(45 bits)
- 26
Identificadores de Interfaz
Los 64-bits de menor peso de las direcciones Unicast pueden ser asignados mediante diversos métodos:
– auto-configuradas a partir de una dirección MAC de 48-bit (ejemplo, direcciones Ethernet), y expandida aun EUI-64 de 64-bits
– asignadas mediante DHCP – configuradas manualmente – auto-generadas pseudo-aleatoriamente
(protección de la privacidad) – posibilidad de otros métodos en el futuro
- 27
IPv6 en Ethernet
48 bits 48 bits 16 bits
Ethernet Destination Address Ethernet Source Address 1000011011011101 (86DD)
IPv6 Header and Data
- 28
EUI-64
- 29
Algunas Direcciones Unicast Especiales
• Dirección no especificada, utilizada temporalmente cuando no se ha asignado una dirección:
0:0:0:0:0:0:0:0
• Dirección de loopback, para el “auto-envio” de paquetes:
0:0:0:0:0:0:0:1
- 30
Direcciones Multicast
• En el campo “flags”, el bit de menor peso indica grupos permanentes/temporales; el resto estaán reservados
• Scope: 1 - node local 2 - link-local 5 - site-local 8 - organization-local B - community-local E - global (todos los demás valores: Reservados)
4 112 bits 8
group ID scope flags 11111111
4
- 31
Encaminado
• Mismo mecanismo CIDR “longest-prefix match” que actualmente en IPv4
• Cambios mínimos respecto de los protocolos existentes para encaminado en IPv4 (gestión de direcciones mayores)
– unicast: OSPF, RIP-II, IS-IS, BGP4+, … – multicast: MOSPF, PIM, …
• Se puede utilizar la cabecera de routing con direcciones unicast para encaminar paquetes a través de regiones concretas
– Por ejemplo, para la selección de proveedores, políticas, prestaciones, etc.
- 32
Movilidad
- 33
Movilidad IPv6
• Un host móvil tiene una o más direcciones de origen – relativamente estables; asociadas con el nombre del host a través de DNS
• Cuando descubre que se encuentra en una subred diferente (cuando no esta en su subred de origen), adquiere una dirección “extranjera” (foreign)
– utiliza auto-configuración para obtener la dirección – registra la “foreign address” con un agente doméstico (“home agent”), por ejemplo, un router en su subred de origen
• Los paquetes enviados a la dirección de origen del host móvil, son interceptados por el home agent y reenviados a la foreign address, utilizando encapsulación
- 34
Movilidad IPv4
home agent
home location of mobile host
foreign agent
mobile host
correspondent host
- 35
Movilidad IPv6
home agent
home location of mobile host
mobile host
correspondent host
- 36
Transición y Coexistencia IPv4-IPv6
- 37
Técnicas de Transición / Coexistencia
Un amplio abanico de técnicas han sido identificadas e implementadas, básicamente dentro de tres categorías:
(1) doble-pila, para permitir la coexistencia de IPv4 e IPv6 en el mismo dispositivo y redes
(2) técnicas de túneles, para evitar dependencias cuando se actualizan hosts, routers o regiones
(3) técnicas de traducción, para permitir la comunicación entre dispositivos que son sólo IPv6 y aquellos que son sólo IPv4
Todos estos mecanismos suelen ser utilizados, incluso en combinación
- 38
Doble-Pila
• Al añadir IPv6 a un sistema, no se elimina la pila IPv4 – Es la misma aproximación multi-protocolo que ha sido utilizada
anteriormente y por tanto es bien conocida (AppleTalk, IPX, etc.) – Actualmente, IPv6 está incluido en todos los Sistemas Operativos
modernos, lo que evita costes adicionales • Las aplicaciones (o librerias) escogen la versión de IP a utilizar
– En función de la respuesta DNS: • si el destino tiene un registro AAAA, utilizan IPv6, en caso contrario IPv4
– La respuesta depende del paquete que inició la transferencia • Esto permite la coexistencia indefinido de IPv4 e IPv6, y la
actualización gradual a IPv6, aplicación por aplicación • El registro A6 es experimental
- 39
Túneles para Atravesar Routers que no Reenvían IPv6
• Encapsulamos paquetes IPv6 en paquetes IPv4 (o en tramas MPLS)
• Muchos métodos para establecer dichos túneles: – configuración manual – “tunnel brokers” (tipicamente con interfaces web) – “6-over-4” (intra-domain, usando IPv4 multicast como LAN virtual) – “6-to-4” (inter-domain, usando la dirección IPv4 como el prefijo del sitio IPv6)
• Puede ser visto como: – IPv6 utilizando IPv4 como capa de enlace virtual link-layer, o – una VPN IPv6 sobre la Internet IPv4
- 40
Traducción
• Se puede utilizar traducción de protolocos IPv6-IPv4 para: – nuevos tipos de dispositivos Internet (como teléfonos celulares, coches, dispositivos de consumo)
• Es una extensión a las técnicas de NAT, convirtiendo no sólo direcciones sino también la cabecera
– Los nodos IPv6 detrás de un traductor obtienen la funcionalidad de IPv6 sólo cuando hablan con otro nodo IPv6 – Obtienen la funcionalidad habitual IPv4 con NAT en el resto de los casos
- 41
Gracias ! Contacto:
– Jordi Palet Martínez (Consulintel): [email protected] The IPv6 Portal:
- http://www.ipv6tf.org