Este proyecto ha sido cofinanciado por PROFIT www.6sos.org Una panorámica de los mecanismos de transición Javier Sedano, [email protected] David Fernández, [email protected] Febrero de 2004 Febrero de 2004 Una panorámica de los mecanismos de transición 1 Índice www.6sos.org • Introducción • Doble pila • Túneles • Traducción • Conclusiones Febrero de 2004 Una panorámica de los mecanismos de transición 2 Introducción. Motivación www.6sos.org • IPv6 no es compatible hacia atrás Î No actualizar a IPv6, sino cambiar a IPv6 • Necesidades: – Internet no puede parar Æ No “día D” – Internet es grande y heterogenea Æ Cambio no centralizado – Interoperabilidad v4-v6 mandatoria Transición • IPv6 diseñado pensando en la transición – IPv6 es evolución, no revolución Febrero de 2004 Una panorámica de los mecanismos de transición 3 Introducción. Esta charla www.6sos.org • Decenas de mecanismos de transición – Unos pocos “supervivientes”, usados extensivamente – Muchas soluciones experimentales y para nichos específicos • Sólo veremos un repaso a los más usados Febrero de 2004 Una panorámica de los mecanismos de transición 4 Introducción. Otras charlas www.6sos.org • Introducción a IPv6. David Fernández • Porte de aplicaciones. Eva Castro • Experiencias de transición. Eduardo Jacob, Jordi Palet. Febrero de 2004 Una panorámica de los mecanismos de transición 5 Índice www.6sos.org • Introducción • Doble pila • Túneles • Traducción • Conclusiones Febrero de 2004 Una panorámica de los mecanismos de transición 6 Doble pila (Dual stack) www.6sos.org • En realidad, doble nivel 3 • Direcciones IPv4 e IPv6 a la vez; el DNS conoce ambas • Solución ideal: no hay transición ;-) Aplicaciones TCP DNS resolver DNS UDP • La aplicación debe saber que hay doble pila: – Clientes: usar A o A6/AAAA? IPv4 IPv6 connect() a la dirección v4 o la 0x0800 0x86dd v6? – Servidores: bind() en “0.0.0.0” y en “::” Subred Porte de aplicaciones, de Eva Castro Febrero de 2004 Una panorámica de los mecanismos de transición 7 Doble pila. Ejemplo www.6sos.org jsedano@taran:~$ ifconfig eth0 Link encap:Ethernet HWaddr 00:08:74:E6:80:89 inet addr:192.168.0.55 Bcast:192.168.0.255 Mask:255.255.255.0 inet6 addr: fe80::208:74ff:fee6:8089/10 Scope:Link inet6 addr: 2001:3:2:1::a/64 Scope:Global UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:6 errors:0 dropped:0 overruns:0 carrier:6 collisions:0 txqueuelen:100 RX bytes:0 (0.0 b) TX bytes:444 (444.0 b) Interrupt:11 Base address:0xec80 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:66989 errors:0 dropped:0 overruns:0 frame:0 TX packets:66989 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:25335759 (24.1 MiB) TX bytes:25335759 (24.1 MiB) jsedano@taran:~$ Febrero de 2004 Una panorámica de los mecanismos de transición 8 Índice www.6sos.org • Introducción • Doble pila • Túneles • Traducción • • • • • Túneles configurados Túneles automáticos Túneles 6to4 Otros 6bone/m6bone • Conclusiones Febrero de 2004 Una panorámica de los mecanismos de transición 9 Túneles. Túneles configurados www.6sos.org • Túneles usados extensivamente: mbone, multiprotocolo (IPX, Appletalk) sobre IP, MIP,… • RFC 2893: túneles IPv6 en IPv4 Datos IPv6 V6 dst V6 src Datos IPv4 V4 dst V4 src V6 dst V6 src Datos V4 dst V4 src V6 dst V6 src Datos Subred Febrero de 2004 Subred Una panorámica de los mecanismos de transición 10 Túneles. Túneles configurados www.6sos.org jsedano@taran:~$ ip addr […] 7: myTunnel@NONE: <POINTOPOINT,NOARP,UP> mtu 1480 qdisc noqueue link/ipip 10.1.2.3 peer 192.168.6.5 inet6 2001:1:b:c::5/126 scope global […] jsedano@taran:~$ Dirección IPv4 A (10.1.2.3) Dirección IPv4 B (192.168.6.5) Concepto de túnel Pseudo enlace punto-a-punto IPv6 sobre ese enlace • Tunnel broker: proveedor de túneles Febrero de 2004 Una panorámica de los mecanismos de transición 11 Túneles. Túneles configurados www.6sos.org 2004 90’s 6 6 4 6in4 6 6 4in6 2005? 2010? 4 6 2020? 2100? Nunca? 4 6 4 Febrero de 2004 Una panorámica de los mecanismos de transición 12 Túneles. Túneles automáticos www.6sos.org • Direcciones ::x.y.z.t (siendo x.y.z.t una dirección IPv4) • Cuando una máquina con túneles automáticos de un datagrama dirigido a ::x.y.z.t, lo tunela y lo envía a x.y.z.t por IPv4. • No solo entre hosts, también con routers. Aplicación • Cuidado: de un solo sentido IPv6 ::1.2.3.4 2001:a::b ::1.2.3.4 2001:a::b 9.8.7.6 1.2.3.4 9.8.7.6 ::1.2.3.4 2001:a::b 1.2.3.4 IPv4 Febrero de 2004 Una panorámica de los mecanismos de transición 13 Túneles. Túneles 6to4 www.6sos.org • Direcciones 6to4 2002:mnop:qrst::/48 (mnop:qrst es una dirección IPv4 en hexadecimal) • Cuando una máquina con túneles 6to4 activados ve un datagrama para 2002:mnop:qrst::/48, lo encapsula y envía a mn.op.qr.st por IPv4 • 1 dirección IPv4 Î ¡216 direcciones IPv6 gratuitas! 2002:6F02:0304::/48 • Cuidado: de un solo sentido 111.2.3.4 ↔ 6F02:0304 2002:6F02:0304:6::5 2001:a::b 2002:6F02:0304:2::/64 2002:6F02:0304:6::5 2001:a::b 9.8.7.6 111.2.3.4 9.8.7.6 2002:6F02:0304:6::5 2001:a::b IPv4 111.2.3.4 2002:6F02:0304:6::/64 ::5 Aplicación IPv6 Febrero de 2004 Una panorámica de los mecanismos de transición 14 Túneles. 6to4 + automáticos www.6sos.org Router de acceso/transición: •6to4 activado: cabeza de 2002:6FDE:0303::/48 •Túneles automáticos activados: ruta por defecto a ::6.6.6.6 (6.6.6.6 es su proveedor de túneles) Red IPv6 Mundo IPv6 Backbone IPv4 111.222.3.3 2002:6FDE:0303:4::100 6.6.6.6 Túneles automáticos Túneles 6to4 Febrero de 2004 Una panorámica de los mecanismos de transición 15 Túneles. Otros www.6sos.org • 6over4: IPv6 sobre una red IPv4 con multicast • DSTM: 4in6 en la intranet, con un TEP (Tunnel End Point, Punto Final del Túnel) conocido. • TEREDO: IPv6 sobre UDP, para atravesar los NATs. • ISATAP: túneles 6in4 automáticos en la intranet con prefijos asignados por el administrador. Febrero de 2004 Una panorámica de los mecanismos de transición 16 Túneles. 6bone y m6bone www.6sos.org 6bone: • Red de investigación • Túneles 6in4 y otros • Validación de IPv6, aplicaciones, mecanismos, protocolos,… • http://www.6bone.net m6bone: • Túneles 6in4 y 6in6, algunos enlaces nativos • Experimentos con multicast IPv6 Febrero de 2004 td Ou Una panorámica de los mecanismos de transición ated 17 Índice www.6sos.org • Introducción • Doble pila • Túneles • Traducción • Conclusiones Febrero de 2004 • • • • • SIIT Application Level Gateway NAT-PT TRT Otros Una panorámica de los mecanismos de transición 18 Traducción. SIIT www.6sos.org • IPv6 es evolución, no revolución: – Misma filosofía – Muchos campos similares • La traducción es posible y tiene sentido • SIIT: Stateles IP/ICMP Translator, Traductor IP/ICMP sin estado – Marco de referencia para otros traductores Febrero de 2004 Una panorámica de los mecanismos de transición 19 Traducción. SIIT www.6sos.org Ver. 4 H.L. TOS Total length Flags Fragment offset Identification TTL Protocol Header checksum Destination address Source address Limitaciones: •IPv4 a IPv6 ¿Fragmentación? •IPv6 to IPv4 ¿Cabeceras de extensión? •¿Direcciones? ? ICMP •Reglas de traducción similares 0000 0000 0000 IP 0000 0000 •Traducir el datagrama contenido también Ver. 6 Tr. class Payload length Flow label Next header Hop limit Destination address Source address Fragmentation options Febrero de 2004 Una panorámica de los mecanismos de transición 20 Traducción. NAT-PT www.6sos.org NAT IPv4 clásico NAT 10.0.0.1 1.2.3.4 10.0.0.5 9.8.7.6:80 10.0.0.5:2000 1.2.3.4:3000 9.8.7.6:80 10.0.0.5:2000 9.8.7.6:80 Tabla de NAT Sa Sp Na 10.0.0.5 2000 1.2.3.4 10.0.0.5 2001 1.2.3.4 10.0.0.6 1500 1.2.3.4 10.0.0.6 1501 1.2.3.4 Febrero de 2004 9.8.7.6:80 1.2.3.4:3000 9.8.7.6 Np 3000 3001 3002 3003 Da 9.8.7.6 9.8.7.6 9.9.9.9 8.8.8.8 Dp 80 6667 80 80 Una panorámica de los mecanismos de transición 21 Traducción. NAT-PT www.6sos.org NAT-PT simple de IPv6 a IPv4 2001:a::5 NAPT 2001:a::1 1.2.3.4 ::ffff:9.8.7.6,80 2001:a::5,2000 ??!! 9.8.7.6:80 1.2.3.4:3000 1.2.3.4:3000 9.8.7.6:80 2001:a::5,2000 ::ffff:9.8.7.6,80 ¿::ffff:9.8.7.6? El sistema de DNS debe ayudar, generando ::ffff:9.8.7.6 a partir de www.cosa.org (9.8.7.6) (DNS-ALG) Febrero de 2004 Tabla NAT-PT Sa Sp 2001:a::5 2000 2001:a::5 2001 2001:b::6 1500 2001:b::6 1501 9.8.7.6 Na 1.2.3.4 1.2.3.4 1.2.3.4 1.2.3.4 Np 3000 3001 3002 3003 Da 9.8.7.6 9.8.7.6 9.9.9.9 8.8.8.8 Una panorámica de los mecanismos de transición Dp 80 6667 80 80 22 Traducción. NAT-PT www.6sos.org Cuatro situaciones v6 site v4 world v4 site ÎNAT-PT sencillo automático de IPv6 a IPv4 v6 site o dinámico, con traducción en DNS Febrero de 2004 ÎNAT-PT sencillo automático de IPv4 a IPv6 v4 world ÎRegla explícita de v4 a v6 v6 world v4 site v6 world ÎRegla explícita de v6 a v4 o dinámico, con traducción en DNS Una panorámica de los mecanismos de transición 23 Traducción. NAT-PT www.6sos.org • Mismos problemas que NAT en IPv4 – Punto único de fallo – ¿Problemas de escalabilidad? – Cuidado con los protocolos que no atraviesan NATs. Febrero de 2004 Una panorámica de los mecanismos de transición 24 Traducción. TRT www.6sos.org • • • • El cliente conecta a ::ffff:9.8.7.6,80 TRT acepta la conexión y crea una nueva conexión a 9.8.7.6:80 ¿Conexión UDP? ;-) Reglas explicitas para servidores detrás del TRT 2001:a::5 TRT 2001:a::1 1.2.3.4 ::ffff:9.8.7.6,80 2001:a::5,2000 ??!! 9.8.7.6:80 1.2.3.4:3000 2001:a::5,2000 ::ffff:9.8.7.6,80 Febrero de 2004 Una panorámica de los mecanismos de transición 9.8.7.6 1.2.3.4:3000 9.8.7.6:80 25 Traducción. NAT ↔ TRT www.6sos.org TCP/UDP IPv6 TCP/UDP NAT-PT Subred IPv4 TRT Subred TCP/UDP TCP/UDP TCP/UDP IPv6 Subred Febrero de 2004 NAPT-PT TCP/UDP IPv6 IPv4 Subred Subred IPv4 Subred Una panorámica de los mecanismos de transición 26 Traducción. TRT www.6sos.org • Mismos problemas que NAT-PT – Punto único de fallo – ¿Problemas de escalabilidad? – No válido para todos los protocolos. Febrero de 2004 Una panorámica de los mecanismos de transición 27 ALG www.6sos.org • Application Level Gateway • Traducción a nivel de aplicación, para: – Traducción en protocolos que transportan direcciones en nivel 5 (FTP, H323,…) – Ayuda a otros mecanismos (DNS-ALG) Febrero de 2004 Una panorámica de los mecanismos de transición 28 Traducción. Otros www.6sos.org • BIA (Bump In the API, atacar el API): – Capa traductora en el nivel 4.5, para engañar al interfaz socket() – Requiere acciones en el resolver para usar direcciones temporales • BIS (Bump In the Stack, atacar la pila): – Capa traductora en el nivel 2.5, para engañar a las de arriba – Requiere acciones en el resolver para usar direcciones temporales • mBIS (multicast BIS) • Socks64: – Si la aplicación usa Socks, poner un servidor de Socks con doble pila. Febrero de 2004 Una panorámica de los mecanismos de transición 29 Índice www.6sos.org • Introducción • Doble pila • Túneles • Traducción • Conclusiones Febrero de 2004 Una panorámica de los mecanismos de transición 30 Conclusiones. Elección www.6sos.org • Implicaciones en las aplicaciones • Número de direcciones IPv4 requeridas • Mecanismo para cada terminal o para toda la red corporativa • Escalabilidad Febrero de 2004 Una panorámica de los mecanismos de transición 31 Conclusiones www.6sos.org • Decenas de mecanismos de transición (unos cuantos mecanismos generales) • La transición es posible: – Despliegue incremental – Interoperabilidad v4 – v6 – Soluciones escalables • Cuidado: no descuidar el porte de aplicaciones • Atended también: – Porte de aplicaciones. Eva castro – Experiencias de transición. Eduardo Jacob, Jordi Palet Febrero de 2004 Una panorámica de los mecanismos de transición 32 www.6sos.org Una panorámica a los mecanismos de transición Javier Sedano ([email protected]) David Fernández ([email protected]) Desplegando IPv6 Febrero de 2004