Porte de aplicaciones y servicios a IPv6 – Eva M. Castro 1 www.6sos.org Porte de aplicaciones y servicios a IPv6 Eva M. Castro [email protected]Grupo de Sistemas y Comunicaciones (GSyC) Universidad Rey Juan Carlos (URJC) Este proyecto ha sido cofinanciado por PROFIT
26
Embed
Porte de aplicaciones y servicios a IPv6 · Porte de aplicaciones y servicios a IPv6 – Eva M. Castro 16 Aplicación cliente IPv6 en nodo dual TCP / UDP IPv4 IPv6 Dirección IPv4-mapped
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 1
www6sosorg
Porte de aplicaciones y servicios a IPv6Eva M Castro evagsycesceturjcesGrupo de Sistemas y Comunicaciones (GSyC)Universidad Rey Juan Carlos (URJC)
Este proyecto ha sidocofinanciado por PROFIT
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 2
www6sosorg
Iacutendice
bull Arquitectura de transicioacuten- Red- Nodos finales - Aplicaciones
bull Evolucioacuten de aplicacionesbull Escenarios de transicioacuten de aplicacionesbull Dependencias en el coacutedigo fuentebull Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 3
www6sosorg
Arquitectura de transicioacutenbull Redbull Nodos finalesbull Aplicaciones
RedEncaminamientoDireccionamiento
IP
TCPUDP
Nivel enlace
AplApl
IP
TCPUDP
Nivel enlace
AplAplAplicacioacuten Aplicacioacuten
Nodo final
Nodofinal
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 4
www6sosorg
Arquitectura de transicioacutenbull Redbull Nodos finalesbull Aplicaciones
bull Red soacutelo IPv4bull Red soacutelo IPv6bull Red dualbull Red heterogeacutenea
RedEncaminamientoDireccionamiento
IP
TCPUDP
Nivel enlace
AplApl
IP
TCPUDP
Nivel enlace
AplAplAplicacioacuten Aplicacioacuten
Nodo final
Nodofinal
Instalar mecanismos de transicioacuten
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 5
www6sosorg
Arquitectura de transicioacutenbull Redbull Nodos finalesbull Aplicaciones
bull Soporte IPv6 en un breve periacuteodo de tiempo bull Una uacutenica aplicacioacutenbull Mantenimiento coacutedigo fuente
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 11
www6sosorg
Iacutendice
bull Arquitectura de transicioacutenbull Evolucioacuten de aplicacionesbull Escenarios de transicioacuten de aplicaciones
1 Aplicaciones IPv4 en nodos duales2 Aplicaciones IPv6 en nodos duales3 Aplicaciones duales en nodos duales4 Aplicaciones duales en nodos soacutelo IPv4
bull Dependencias en el coacutedigo fuentebull Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 12
www6sosorg
1 Aplicaciones IPv4 en nodos duales
bull Dependencias en el coacutedigo fuente con IPv4bull Intercambian paquetes IPv4bull Para su funcionamiento en redes IPv6
- Portar el coacutedigo a IPv6- Si no es posible utilizar mecanismos de transicioacuten Las
aplicaciones utilizan IPv4 pero se intercambian paquetes IPv6
BIA (Bump In the API)BIS (Bump In the Stack)
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 13
www6sosorg
BISBIA
Red IPv6
API de transporteAPI de transporte
BISBISIPv4
TCPUDP
Nivel de enlace
API de transporteAPI de transporte
BIABIA
IPv4
TCPUDP
Apv4Apv4 Apv4Apv4
Nivel de enlace
IPv6
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 14
www6sosorg
2 Aplicaciones IPv6 en nodos duales
bull Se han sustituido las estructuras y funciones de IPv4 por las de IPv6 Dependencias en el coacutedigo fuente con IPv6
bull Intercambian de paquetes IPv6bull Para su funcionamiento en redes IPv4
- Portar a aplicaciones duales - Mantener 2 aplicaciones ping4 y ping6 o- Utilizar direcciones IPv6 a partir de las direcciones IPv4 IPv4-mapped
IPv6 addresses no soportadas en todos las implementaciones
abcdabcd FFFFabcdFFFFabcd
Direccioacuten IPv4 IPv4-mapped IPv6
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 15
www6sosorg
Aplicacioacuten servidor IPv6 en nodo dual
TCP UDP
Nivel enlace
IPv4
TCP UDP
IPv4 IPv6
Direccioacuten IPv4-mapped IPv6 FFFFabcd
Direccioacuten IPv6xxxxxxxx
Cliente IPv4Cliente IPv4
TCP UDP
IPv6
Cliente IPv6Cliente IPv6 Servidor IPv6escucha en 00
Servidor IPv6escucha en 00
Nivel enlace
IPv4
Nivel enlace
IPv6
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 16
www6sosorg
Aplicacioacuten cliente IPv6 en nodo dual
TCP UDP
IPv4 IPv6
Direccioacuten IPv4-mapped IPv6 FFFFabcd
Direccioacuten IPv6xxxxxxxx
Cliente IPv6Cliente IPv6
Nivel enlace
TCP UDP
IPv6
Servidor IPv6Servidor IPv6
Nivel enlace
IPv6
TCP UDP
Nivel enlace
IPv4
Servidor IPv4Servidor IPv4
IPv4
Direccioacuten IPv4abcd
Direccioacuten IPv6xxxxxxxx
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 17
www6sosorg
3 Aplicaciones duales en nodos duales
bull Aplicaciones vaacutelidas para redes IPv4 e IPv6
- Implementacioacuten de aplicaciones clienteResolver nombre de maacutequina del servidor a las posibles direcciones IP Intentar conectar primero usando IPv6 y si fallaprobar con IPv4
- Implementaciones de aplicaciones servidor1 Mantener conexiones diferentes de forma expliacutecita para IPv4 e
IPv6 o2 Desarrollar una aplicacioacuten servidor IPv6 y confiar en las
direcciones IPv4-mapped IPv6 para los clientes IPv4
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 18
www6sosorg
4 Aplicaciones duales en nodos soacutelo IPv4
bull Las aplicaciones duales deberiacutean funcionar en los nodos soacutelo IPv4 para evitar tener varias versiones de la misma aplicacioacuten
REQUISITObull Desarrollar el coacutedigo fuente para que nodos que
no tengan soporte del protocolo IPv6 puedan ejecutar dichas aplicaciones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 19
www6sosorg
Iacutendice
bull Arquitectura de transicioacutenbull Evolucioacuten de aplicacionesbull Escenarios de transicioacuten de aplicacionesbull Dependencias en el coacutedigo fuente
1 Formato de presentacioacuten de las direcciones IP2 Resolucioacuten de nombres3 API de la capa de transporte4 Otras dependencias especiacuteficas
bull Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 20
www6sosorg
1 Formato de presentacioacuten de direcciones IP
bull El formato de presentacioacuten es una cadena que contiene la direccioacuten IP Diferentes en IPv4 e IPv6
IPv4 ldquoabcdrdquoIPv6 ldquoxxxxxxxxrdquo
bull El formato de presentacioacuten en IPv6 necesita maacutes memoria
bull Los analizadores sintaacutecticos de direcciones deben ser revisados para adecuarse al nuevo formato
bull Ambiguumledad con el caraacutecter ldquordquo en URLs (RFC 2732) - http[DireccioacutenIPv6]puerto
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 21
www6sosorg2 Resolucioacuten de nombres
bull Tipos de resolucioacuten- Directa
a partir del nombre de la maacutequina obtener su direccioacuten IP- Inversa
a partir de la direccioacuten IP obtener el nombre de maacutequina
bull Utilizar FQDNbull Las consultasrespuestas de DNS se enviacutean usando
IPv4IPv6 independientemente del tipo de registros que se soliciten
bull RECOMENDACIOacuteN- Usar las funciones de resolucioacuten independientes de
protocolo
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 22
www6sosorg
3 API de la capa de transporte
En el caso concreto del API de sockets existen las siguientes dependencias
- Estructuras de datos para las direcciones IPsockaddr_in sockaddr_in6 sockaddr_storage
- Funciones del API de comunicacionessocket() bind() connect() read()write() hellip
- Funciones de conversioacuten de direccionesentre el formato de presentacioacuten y las estructuras de datos de direcciones
- Opciones de configuracioacuten de red
bull RECOMENDACIOacuteN- Desarrollar aplicaciones independientes de la versioacuten IP
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 23
www6sosorg
Estructuras de datossockaddr sockaddr_in
Port Number
Flow Info
IPv6 Address(128 bits)
Scope ID
FamilyAlign
Padding
Familysockaddr_storagesockaddr_in6
FamilyFamilyPort Number
Data
IPv4 Address(32 bits)
Unused
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 24
www6sosorg
4 Otras dependencias especiacuteficas
bull Seleccioacuten de la direccioacuten IP- Los nodos automaacuteticamente resuelven el problema de la
seleccioacuten de la direccioacuten de origen siguiendo una serie de reglas predefinidas (RFC 3484)
bull Fragmentacioacuten a nivel de aplicacioacuten - Caacutelculo del tamantildeo del fragmento para que no haya
degradacioacuten de prestaciones por fragmentacioacuten a nivel IP
bull Almacenamiento de direcciones IP - No almacenar direcciones IP pueden cambiar Si es necesario
almacenar nombres y solicitar la resolucioacuten en el momento que se necesiten
bull RECOMENDACIOacuteN- Revisar el coacutedigo exhaustivamente
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 25
www6sosorg
Iacutendice
bull Arquitectura de transicioacutenbull Evolucioacuten de aplicacionesbull Escenarios de transicioacuten de aplicacionesbull Dependencias en el coacutedigo fuentebull Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 26
www6sosorg
Conclusiones
bull Desarrollar aplicaciones duales- Vaacutelidas para cualquier tipo de nodo y para comunicarse con
cualquier aplicacioacuten utilizando IPv4 o IPv6- Intentar la comunicacioacuten con cada una de las direcciones IP
obtenidas a traveacutes de las funciones de resolucioacutenbull Usar FQDN
- Eliminar las direcciones IP cableadas del coacutedigobull No almacenar direcciones IPbull Las direcciones ldquoIPv4-mapped IPv6 addressesrdquo no
siempre funcionan- No siempre estaacuten implementadas- En algunos nodos estaacuten deshabilitadas por seguridad
Iacutendice
Arquitectura de transicioacuten
Arquitectura de transicioacuten
Arquitectura de transicioacuten
Arquitectura de transicioacuten
Iacutendice
De aplicaciones v4 a aplicaciones IPv6
2 De aplicaciones IPv4 a aplicaciones duales
3 Transicioacuten gradual
Iacutendice
Aplicaciones IPv4 en nodos duales
BISBIA
2 Aplicaciones IPv6 en nodos duales
Aplicacioacuten servidor IPv6 en nodo dual
Aplicacioacuten cliente IPv6 en nodo dual
3 Aplicaciones duales en nodos duales
4 Aplicaciones duales en nodos soacutelo IPv4
Iacutendice
Formato de presentacioacuten de direcciones IP
2 Resolucioacuten de nombres
3 API de la capa de transporte
Estructuras de datos
4 Otras dependencias especiacuteficas
Iacutendice
Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 2
www6sosorg
Iacutendice
bull Arquitectura de transicioacuten- Red- Nodos finales - Aplicaciones
bull Evolucioacuten de aplicacionesbull Escenarios de transicioacuten de aplicacionesbull Dependencias en el coacutedigo fuentebull Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 3
www6sosorg
Arquitectura de transicioacutenbull Redbull Nodos finalesbull Aplicaciones
RedEncaminamientoDireccionamiento
IP
TCPUDP
Nivel enlace
AplApl
IP
TCPUDP
Nivel enlace
AplAplAplicacioacuten Aplicacioacuten
Nodo final
Nodofinal
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 4
www6sosorg
Arquitectura de transicioacutenbull Redbull Nodos finalesbull Aplicaciones
bull Red soacutelo IPv4bull Red soacutelo IPv6bull Red dualbull Red heterogeacutenea
RedEncaminamientoDireccionamiento
IP
TCPUDP
Nivel enlace
AplApl
IP
TCPUDP
Nivel enlace
AplAplAplicacioacuten Aplicacioacuten
Nodo final
Nodofinal
Instalar mecanismos de transicioacuten
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 5
www6sosorg
Arquitectura de transicioacutenbull Redbull Nodos finalesbull Aplicaciones
bull Soporte IPv6 en un breve periacuteodo de tiempo bull Una uacutenica aplicacioacutenbull Mantenimiento coacutedigo fuente
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 11
www6sosorg
Iacutendice
bull Arquitectura de transicioacutenbull Evolucioacuten de aplicacionesbull Escenarios de transicioacuten de aplicaciones
1 Aplicaciones IPv4 en nodos duales2 Aplicaciones IPv6 en nodos duales3 Aplicaciones duales en nodos duales4 Aplicaciones duales en nodos soacutelo IPv4
bull Dependencias en el coacutedigo fuentebull Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 12
www6sosorg
1 Aplicaciones IPv4 en nodos duales
bull Dependencias en el coacutedigo fuente con IPv4bull Intercambian paquetes IPv4bull Para su funcionamiento en redes IPv6
- Portar el coacutedigo a IPv6- Si no es posible utilizar mecanismos de transicioacuten Las
aplicaciones utilizan IPv4 pero se intercambian paquetes IPv6
BIA (Bump In the API)BIS (Bump In the Stack)
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 13
www6sosorg
BISBIA
Red IPv6
API de transporteAPI de transporte
BISBISIPv4
TCPUDP
Nivel de enlace
API de transporteAPI de transporte
BIABIA
IPv4
TCPUDP
Apv4Apv4 Apv4Apv4
Nivel de enlace
IPv6
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 14
www6sosorg
2 Aplicaciones IPv6 en nodos duales
bull Se han sustituido las estructuras y funciones de IPv4 por las de IPv6 Dependencias en el coacutedigo fuente con IPv6
bull Intercambian de paquetes IPv6bull Para su funcionamiento en redes IPv4
- Portar a aplicaciones duales - Mantener 2 aplicaciones ping4 y ping6 o- Utilizar direcciones IPv6 a partir de las direcciones IPv4 IPv4-mapped
IPv6 addresses no soportadas en todos las implementaciones
abcdabcd FFFFabcdFFFFabcd
Direccioacuten IPv4 IPv4-mapped IPv6
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 15
www6sosorg
Aplicacioacuten servidor IPv6 en nodo dual
TCP UDP
Nivel enlace
IPv4
TCP UDP
IPv4 IPv6
Direccioacuten IPv4-mapped IPv6 FFFFabcd
Direccioacuten IPv6xxxxxxxx
Cliente IPv4Cliente IPv4
TCP UDP
IPv6
Cliente IPv6Cliente IPv6 Servidor IPv6escucha en 00
Servidor IPv6escucha en 00
Nivel enlace
IPv4
Nivel enlace
IPv6
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 16
www6sosorg
Aplicacioacuten cliente IPv6 en nodo dual
TCP UDP
IPv4 IPv6
Direccioacuten IPv4-mapped IPv6 FFFFabcd
Direccioacuten IPv6xxxxxxxx
Cliente IPv6Cliente IPv6
Nivel enlace
TCP UDP
IPv6
Servidor IPv6Servidor IPv6
Nivel enlace
IPv6
TCP UDP
Nivel enlace
IPv4
Servidor IPv4Servidor IPv4
IPv4
Direccioacuten IPv4abcd
Direccioacuten IPv6xxxxxxxx
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 17
www6sosorg
3 Aplicaciones duales en nodos duales
bull Aplicaciones vaacutelidas para redes IPv4 e IPv6
- Implementacioacuten de aplicaciones clienteResolver nombre de maacutequina del servidor a las posibles direcciones IP Intentar conectar primero usando IPv6 y si fallaprobar con IPv4
- Implementaciones de aplicaciones servidor1 Mantener conexiones diferentes de forma expliacutecita para IPv4 e
IPv6 o2 Desarrollar una aplicacioacuten servidor IPv6 y confiar en las
direcciones IPv4-mapped IPv6 para los clientes IPv4
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 18
www6sosorg
4 Aplicaciones duales en nodos soacutelo IPv4
bull Las aplicaciones duales deberiacutean funcionar en los nodos soacutelo IPv4 para evitar tener varias versiones de la misma aplicacioacuten
REQUISITObull Desarrollar el coacutedigo fuente para que nodos que
no tengan soporte del protocolo IPv6 puedan ejecutar dichas aplicaciones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 19
www6sosorg
Iacutendice
bull Arquitectura de transicioacutenbull Evolucioacuten de aplicacionesbull Escenarios de transicioacuten de aplicacionesbull Dependencias en el coacutedigo fuente
1 Formato de presentacioacuten de las direcciones IP2 Resolucioacuten de nombres3 API de la capa de transporte4 Otras dependencias especiacuteficas
bull Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 20
www6sosorg
1 Formato de presentacioacuten de direcciones IP
bull El formato de presentacioacuten es una cadena que contiene la direccioacuten IP Diferentes en IPv4 e IPv6
IPv4 ldquoabcdrdquoIPv6 ldquoxxxxxxxxrdquo
bull El formato de presentacioacuten en IPv6 necesita maacutes memoria
bull Los analizadores sintaacutecticos de direcciones deben ser revisados para adecuarse al nuevo formato
bull Ambiguumledad con el caraacutecter ldquordquo en URLs (RFC 2732) - http[DireccioacutenIPv6]puerto
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 21
www6sosorg2 Resolucioacuten de nombres
bull Tipos de resolucioacuten- Directa
a partir del nombre de la maacutequina obtener su direccioacuten IP- Inversa
a partir de la direccioacuten IP obtener el nombre de maacutequina
bull Utilizar FQDNbull Las consultasrespuestas de DNS se enviacutean usando
IPv4IPv6 independientemente del tipo de registros que se soliciten
bull RECOMENDACIOacuteN- Usar las funciones de resolucioacuten independientes de
protocolo
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 22
www6sosorg
3 API de la capa de transporte
En el caso concreto del API de sockets existen las siguientes dependencias
- Estructuras de datos para las direcciones IPsockaddr_in sockaddr_in6 sockaddr_storage
- Funciones del API de comunicacionessocket() bind() connect() read()write() hellip
- Funciones de conversioacuten de direccionesentre el formato de presentacioacuten y las estructuras de datos de direcciones
- Opciones de configuracioacuten de red
bull RECOMENDACIOacuteN- Desarrollar aplicaciones independientes de la versioacuten IP
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 23
www6sosorg
Estructuras de datossockaddr sockaddr_in
Port Number
Flow Info
IPv6 Address(128 bits)
Scope ID
FamilyAlign
Padding
Familysockaddr_storagesockaddr_in6
FamilyFamilyPort Number
Data
IPv4 Address(32 bits)
Unused
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 24
www6sosorg
4 Otras dependencias especiacuteficas
bull Seleccioacuten de la direccioacuten IP- Los nodos automaacuteticamente resuelven el problema de la
seleccioacuten de la direccioacuten de origen siguiendo una serie de reglas predefinidas (RFC 3484)
bull Fragmentacioacuten a nivel de aplicacioacuten - Caacutelculo del tamantildeo del fragmento para que no haya
degradacioacuten de prestaciones por fragmentacioacuten a nivel IP
bull Almacenamiento de direcciones IP - No almacenar direcciones IP pueden cambiar Si es necesario
almacenar nombres y solicitar la resolucioacuten en el momento que se necesiten
bull RECOMENDACIOacuteN- Revisar el coacutedigo exhaustivamente
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 25
www6sosorg
Iacutendice
bull Arquitectura de transicioacutenbull Evolucioacuten de aplicacionesbull Escenarios de transicioacuten de aplicacionesbull Dependencias en el coacutedigo fuentebull Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 26
www6sosorg
Conclusiones
bull Desarrollar aplicaciones duales- Vaacutelidas para cualquier tipo de nodo y para comunicarse con
cualquier aplicacioacuten utilizando IPv4 o IPv6- Intentar la comunicacioacuten con cada una de las direcciones IP
obtenidas a traveacutes de las funciones de resolucioacutenbull Usar FQDN
- Eliminar las direcciones IP cableadas del coacutedigobull No almacenar direcciones IPbull Las direcciones ldquoIPv4-mapped IPv6 addressesrdquo no
siempre funcionan- No siempre estaacuten implementadas- En algunos nodos estaacuten deshabilitadas por seguridad
Iacutendice
Arquitectura de transicioacuten
Arquitectura de transicioacuten
Arquitectura de transicioacuten
Arquitectura de transicioacuten
Iacutendice
De aplicaciones v4 a aplicaciones IPv6
2 De aplicaciones IPv4 a aplicaciones duales
3 Transicioacuten gradual
Iacutendice
Aplicaciones IPv4 en nodos duales
BISBIA
2 Aplicaciones IPv6 en nodos duales
Aplicacioacuten servidor IPv6 en nodo dual
Aplicacioacuten cliente IPv6 en nodo dual
3 Aplicaciones duales en nodos duales
4 Aplicaciones duales en nodos soacutelo IPv4
Iacutendice
Formato de presentacioacuten de direcciones IP
2 Resolucioacuten de nombres
3 API de la capa de transporte
Estructuras de datos
4 Otras dependencias especiacuteficas
Iacutendice
Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 3
www6sosorg
Arquitectura de transicioacutenbull Redbull Nodos finalesbull Aplicaciones
RedEncaminamientoDireccionamiento
IP
TCPUDP
Nivel enlace
AplApl
IP
TCPUDP
Nivel enlace
AplAplAplicacioacuten Aplicacioacuten
Nodo final
Nodofinal
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 4
www6sosorg
Arquitectura de transicioacutenbull Redbull Nodos finalesbull Aplicaciones
bull Red soacutelo IPv4bull Red soacutelo IPv6bull Red dualbull Red heterogeacutenea
RedEncaminamientoDireccionamiento
IP
TCPUDP
Nivel enlace
AplApl
IP
TCPUDP
Nivel enlace
AplAplAplicacioacuten Aplicacioacuten
Nodo final
Nodofinal
Instalar mecanismos de transicioacuten
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 5
www6sosorg
Arquitectura de transicioacutenbull Redbull Nodos finalesbull Aplicaciones
bull Soporte IPv6 en un breve periacuteodo de tiempo bull Una uacutenica aplicacioacutenbull Mantenimiento coacutedigo fuente
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 11
www6sosorg
Iacutendice
bull Arquitectura de transicioacutenbull Evolucioacuten de aplicacionesbull Escenarios de transicioacuten de aplicaciones
1 Aplicaciones IPv4 en nodos duales2 Aplicaciones IPv6 en nodos duales3 Aplicaciones duales en nodos duales4 Aplicaciones duales en nodos soacutelo IPv4
bull Dependencias en el coacutedigo fuentebull Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 12
www6sosorg
1 Aplicaciones IPv4 en nodos duales
bull Dependencias en el coacutedigo fuente con IPv4bull Intercambian paquetes IPv4bull Para su funcionamiento en redes IPv6
- Portar el coacutedigo a IPv6- Si no es posible utilizar mecanismos de transicioacuten Las
aplicaciones utilizan IPv4 pero se intercambian paquetes IPv6
BIA (Bump In the API)BIS (Bump In the Stack)
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 13
www6sosorg
BISBIA
Red IPv6
API de transporteAPI de transporte
BISBISIPv4
TCPUDP
Nivel de enlace
API de transporteAPI de transporte
BIABIA
IPv4
TCPUDP
Apv4Apv4 Apv4Apv4
Nivel de enlace
IPv6
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 14
www6sosorg
2 Aplicaciones IPv6 en nodos duales
bull Se han sustituido las estructuras y funciones de IPv4 por las de IPv6 Dependencias en el coacutedigo fuente con IPv6
bull Intercambian de paquetes IPv6bull Para su funcionamiento en redes IPv4
- Portar a aplicaciones duales - Mantener 2 aplicaciones ping4 y ping6 o- Utilizar direcciones IPv6 a partir de las direcciones IPv4 IPv4-mapped
IPv6 addresses no soportadas en todos las implementaciones
abcdabcd FFFFabcdFFFFabcd
Direccioacuten IPv4 IPv4-mapped IPv6
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 15
www6sosorg
Aplicacioacuten servidor IPv6 en nodo dual
TCP UDP
Nivel enlace
IPv4
TCP UDP
IPv4 IPv6
Direccioacuten IPv4-mapped IPv6 FFFFabcd
Direccioacuten IPv6xxxxxxxx
Cliente IPv4Cliente IPv4
TCP UDP
IPv6
Cliente IPv6Cliente IPv6 Servidor IPv6escucha en 00
Servidor IPv6escucha en 00
Nivel enlace
IPv4
Nivel enlace
IPv6
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 16
www6sosorg
Aplicacioacuten cliente IPv6 en nodo dual
TCP UDP
IPv4 IPv6
Direccioacuten IPv4-mapped IPv6 FFFFabcd
Direccioacuten IPv6xxxxxxxx
Cliente IPv6Cliente IPv6
Nivel enlace
TCP UDP
IPv6
Servidor IPv6Servidor IPv6
Nivel enlace
IPv6
TCP UDP
Nivel enlace
IPv4
Servidor IPv4Servidor IPv4
IPv4
Direccioacuten IPv4abcd
Direccioacuten IPv6xxxxxxxx
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 17
www6sosorg
3 Aplicaciones duales en nodos duales
bull Aplicaciones vaacutelidas para redes IPv4 e IPv6
- Implementacioacuten de aplicaciones clienteResolver nombre de maacutequina del servidor a las posibles direcciones IP Intentar conectar primero usando IPv6 y si fallaprobar con IPv4
- Implementaciones de aplicaciones servidor1 Mantener conexiones diferentes de forma expliacutecita para IPv4 e
IPv6 o2 Desarrollar una aplicacioacuten servidor IPv6 y confiar en las
direcciones IPv4-mapped IPv6 para los clientes IPv4
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 18
www6sosorg
4 Aplicaciones duales en nodos soacutelo IPv4
bull Las aplicaciones duales deberiacutean funcionar en los nodos soacutelo IPv4 para evitar tener varias versiones de la misma aplicacioacuten
REQUISITObull Desarrollar el coacutedigo fuente para que nodos que
no tengan soporte del protocolo IPv6 puedan ejecutar dichas aplicaciones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 19
www6sosorg
Iacutendice
bull Arquitectura de transicioacutenbull Evolucioacuten de aplicacionesbull Escenarios de transicioacuten de aplicacionesbull Dependencias en el coacutedigo fuente
1 Formato de presentacioacuten de las direcciones IP2 Resolucioacuten de nombres3 API de la capa de transporte4 Otras dependencias especiacuteficas
bull Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 20
www6sosorg
1 Formato de presentacioacuten de direcciones IP
bull El formato de presentacioacuten es una cadena que contiene la direccioacuten IP Diferentes en IPv4 e IPv6
IPv4 ldquoabcdrdquoIPv6 ldquoxxxxxxxxrdquo
bull El formato de presentacioacuten en IPv6 necesita maacutes memoria
bull Los analizadores sintaacutecticos de direcciones deben ser revisados para adecuarse al nuevo formato
bull Ambiguumledad con el caraacutecter ldquordquo en URLs (RFC 2732) - http[DireccioacutenIPv6]puerto
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 21
www6sosorg2 Resolucioacuten de nombres
bull Tipos de resolucioacuten- Directa
a partir del nombre de la maacutequina obtener su direccioacuten IP- Inversa
a partir de la direccioacuten IP obtener el nombre de maacutequina
bull Utilizar FQDNbull Las consultasrespuestas de DNS se enviacutean usando
IPv4IPv6 independientemente del tipo de registros que se soliciten
bull RECOMENDACIOacuteN- Usar las funciones de resolucioacuten independientes de
protocolo
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 22
www6sosorg
3 API de la capa de transporte
En el caso concreto del API de sockets existen las siguientes dependencias
- Estructuras de datos para las direcciones IPsockaddr_in sockaddr_in6 sockaddr_storage
- Funciones del API de comunicacionessocket() bind() connect() read()write() hellip
- Funciones de conversioacuten de direccionesentre el formato de presentacioacuten y las estructuras de datos de direcciones
- Opciones de configuracioacuten de red
bull RECOMENDACIOacuteN- Desarrollar aplicaciones independientes de la versioacuten IP
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 23
www6sosorg
Estructuras de datossockaddr sockaddr_in
Port Number
Flow Info
IPv6 Address(128 bits)
Scope ID
FamilyAlign
Padding
Familysockaddr_storagesockaddr_in6
FamilyFamilyPort Number
Data
IPv4 Address(32 bits)
Unused
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 24
www6sosorg
4 Otras dependencias especiacuteficas
bull Seleccioacuten de la direccioacuten IP- Los nodos automaacuteticamente resuelven el problema de la
seleccioacuten de la direccioacuten de origen siguiendo una serie de reglas predefinidas (RFC 3484)
bull Fragmentacioacuten a nivel de aplicacioacuten - Caacutelculo del tamantildeo del fragmento para que no haya
degradacioacuten de prestaciones por fragmentacioacuten a nivel IP
bull Almacenamiento de direcciones IP - No almacenar direcciones IP pueden cambiar Si es necesario
almacenar nombres y solicitar la resolucioacuten en el momento que se necesiten
bull RECOMENDACIOacuteN- Revisar el coacutedigo exhaustivamente
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 25
www6sosorg
Iacutendice
bull Arquitectura de transicioacutenbull Evolucioacuten de aplicacionesbull Escenarios de transicioacuten de aplicacionesbull Dependencias en el coacutedigo fuentebull Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 26
www6sosorg
Conclusiones
bull Desarrollar aplicaciones duales- Vaacutelidas para cualquier tipo de nodo y para comunicarse con
cualquier aplicacioacuten utilizando IPv4 o IPv6- Intentar la comunicacioacuten con cada una de las direcciones IP
obtenidas a traveacutes de las funciones de resolucioacutenbull Usar FQDN
- Eliminar las direcciones IP cableadas del coacutedigobull No almacenar direcciones IPbull Las direcciones ldquoIPv4-mapped IPv6 addressesrdquo no
siempre funcionan- No siempre estaacuten implementadas- En algunos nodos estaacuten deshabilitadas por seguridad
Iacutendice
Arquitectura de transicioacuten
Arquitectura de transicioacuten
Arquitectura de transicioacuten
Arquitectura de transicioacuten
Iacutendice
De aplicaciones v4 a aplicaciones IPv6
2 De aplicaciones IPv4 a aplicaciones duales
3 Transicioacuten gradual
Iacutendice
Aplicaciones IPv4 en nodos duales
BISBIA
2 Aplicaciones IPv6 en nodos duales
Aplicacioacuten servidor IPv6 en nodo dual
Aplicacioacuten cliente IPv6 en nodo dual
3 Aplicaciones duales en nodos duales
4 Aplicaciones duales en nodos soacutelo IPv4
Iacutendice
Formato de presentacioacuten de direcciones IP
2 Resolucioacuten de nombres
3 API de la capa de transporte
Estructuras de datos
4 Otras dependencias especiacuteficas
Iacutendice
Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 4
www6sosorg
Arquitectura de transicioacutenbull Redbull Nodos finalesbull Aplicaciones
bull Red soacutelo IPv4bull Red soacutelo IPv6bull Red dualbull Red heterogeacutenea
RedEncaminamientoDireccionamiento
IP
TCPUDP
Nivel enlace
AplApl
IP
TCPUDP
Nivel enlace
AplAplAplicacioacuten Aplicacioacuten
Nodo final
Nodofinal
Instalar mecanismos de transicioacuten
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 5
www6sosorg
Arquitectura de transicioacutenbull Redbull Nodos finalesbull Aplicaciones
bull Soporte IPv6 en un breve periacuteodo de tiempo bull Una uacutenica aplicacioacutenbull Mantenimiento coacutedigo fuente
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 11
www6sosorg
Iacutendice
bull Arquitectura de transicioacutenbull Evolucioacuten de aplicacionesbull Escenarios de transicioacuten de aplicaciones
1 Aplicaciones IPv4 en nodos duales2 Aplicaciones IPv6 en nodos duales3 Aplicaciones duales en nodos duales4 Aplicaciones duales en nodos soacutelo IPv4
bull Dependencias en el coacutedigo fuentebull Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 12
www6sosorg
1 Aplicaciones IPv4 en nodos duales
bull Dependencias en el coacutedigo fuente con IPv4bull Intercambian paquetes IPv4bull Para su funcionamiento en redes IPv6
- Portar el coacutedigo a IPv6- Si no es posible utilizar mecanismos de transicioacuten Las
aplicaciones utilizan IPv4 pero se intercambian paquetes IPv6
BIA (Bump In the API)BIS (Bump In the Stack)
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 13
www6sosorg
BISBIA
Red IPv6
API de transporteAPI de transporte
BISBISIPv4
TCPUDP
Nivel de enlace
API de transporteAPI de transporte
BIABIA
IPv4
TCPUDP
Apv4Apv4 Apv4Apv4
Nivel de enlace
IPv6
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 14
www6sosorg
2 Aplicaciones IPv6 en nodos duales
bull Se han sustituido las estructuras y funciones de IPv4 por las de IPv6 Dependencias en el coacutedigo fuente con IPv6
bull Intercambian de paquetes IPv6bull Para su funcionamiento en redes IPv4
- Portar a aplicaciones duales - Mantener 2 aplicaciones ping4 y ping6 o- Utilizar direcciones IPv6 a partir de las direcciones IPv4 IPv4-mapped
IPv6 addresses no soportadas en todos las implementaciones
abcdabcd FFFFabcdFFFFabcd
Direccioacuten IPv4 IPv4-mapped IPv6
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 15
www6sosorg
Aplicacioacuten servidor IPv6 en nodo dual
TCP UDP
Nivel enlace
IPv4
TCP UDP
IPv4 IPv6
Direccioacuten IPv4-mapped IPv6 FFFFabcd
Direccioacuten IPv6xxxxxxxx
Cliente IPv4Cliente IPv4
TCP UDP
IPv6
Cliente IPv6Cliente IPv6 Servidor IPv6escucha en 00
Servidor IPv6escucha en 00
Nivel enlace
IPv4
Nivel enlace
IPv6
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 16
www6sosorg
Aplicacioacuten cliente IPv6 en nodo dual
TCP UDP
IPv4 IPv6
Direccioacuten IPv4-mapped IPv6 FFFFabcd
Direccioacuten IPv6xxxxxxxx
Cliente IPv6Cliente IPv6
Nivel enlace
TCP UDP
IPv6
Servidor IPv6Servidor IPv6
Nivel enlace
IPv6
TCP UDP
Nivel enlace
IPv4
Servidor IPv4Servidor IPv4
IPv4
Direccioacuten IPv4abcd
Direccioacuten IPv6xxxxxxxx
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 17
www6sosorg
3 Aplicaciones duales en nodos duales
bull Aplicaciones vaacutelidas para redes IPv4 e IPv6
- Implementacioacuten de aplicaciones clienteResolver nombre de maacutequina del servidor a las posibles direcciones IP Intentar conectar primero usando IPv6 y si fallaprobar con IPv4
- Implementaciones de aplicaciones servidor1 Mantener conexiones diferentes de forma expliacutecita para IPv4 e
IPv6 o2 Desarrollar una aplicacioacuten servidor IPv6 y confiar en las
direcciones IPv4-mapped IPv6 para los clientes IPv4
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 18
www6sosorg
4 Aplicaciones duales en nodos soacutelo IPv4
bull Las aplicaciones duales deberiacutean funcionar en los nodos soacutelo IPv4 para evitar tener varias versiones de la misma aplicacioacuten
REQUISITObull Desarrollar el coacutedigo fuente para que nodos que
no tengan soporte del protocolo IPv6 puedan ejecutar dichas aplicaciones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 19
www6sosorg
Iacutendice
bull Arquitectura de transicioacutenbull Evolucioacuten de aplicacionesbull Escenarios de transicioacuten de aplicacionesbull Dependencias en el coacutedigo fuente
1 Formato de presentacioacuten de las direcciones IP2 Resolucioacuten de nombres3 API de la capa de transporte4 Otras dependencias especiacuteficas
bull Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 20
www6sosorg
1 Formato de presentacioacuten de direcciones IP
bull El formato de presentacioacuten es una cadena que contiene la direccioacuten IP Diferentes en IPv4 e IPv6
IPv4 ldquoabcdrdquoIPv6 ldquoxxxxxxxxrdquo
bull El formato de presentacioacuten en IPv6 necesita maacutes memoria
bull Los analizadores sintaacutecticos de direcciones deben ser revisados para adecuarse al nuevo formato
bull Ambiguumledad con el caraacutecter ldquordquo en URLs (RFC 2732) - http[DireccioacutenIPv6]puerto
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 21
www6sosorg2 Resolucioacuten de nombres
bull Tipos de resolucioacuten- Directa
a partir del nombre de la maacutequina obtener su direccioacuten IP- Inversa
a partir de la direccioacuten IP obtener el nombre de maacutequina
bull Utilizar FQDNbull Las consultasrespuestas de DNS se enviacutean usando
IPv4IPv6 independientemente del tipo de registros que se soliciten
bull RECOMENDACIOacuteN- Usar las funciones de resolucioacuten independientes de
protocolo
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 22
www6sosorg
3 API de la capa de transporte
En el caso concreto del API de sockets existen las siguientes dependencias
- Estructuras de datos para las direcciones IPsockaddr_in sockaddr_in6 sockaddr_storage
- Funciones del API de comunicacionessocket() bind() connect() read()write() hellip
- Funciones de conversioacuten de direccionesentre el formato de presentacioacuten y las estructuras de datos de direcciones
- Opciones de configuracioacuten de red
bull RECOMENDACIOacuteN- Desarrollar aplicaciones independientes de la versioacuten IP
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 23
www6sosorg
Estructuras de datossockaddr sockaddr_in
Port Number
Flow Info
IPv6 Address(128 bits)
Scope ID
FamilyAlign
Padding
Familysockaddr_storagesockaddr_in6
FamilyFamilyPort Number
Data
IPv4 Address(32 bits)
Unused
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 24
www6sosorg
4 Otras dependencias especiacuteficas
bull Seleccioacuten de la direccioacuten IP- Los nodos automaacuteticamente resuelven el problema de la
seleccioacuten de la direccioacuten de origen siguiendo una serie de reglas predefinidas (RFC 3484)
bull Fragmentacioacuten a nivel de aplicacioacuten - Caacutelculo del tamantildeo del fragmento para que no haya
degradacioacuten de prestaciones por fragmentacioacuten a nivel IP
bull Almacenamiento de direcciones IP - No almacenar direcciones IP pueden cambiar Si es necesario
almacenar nombres y solicitar la resolucioacuten en el momento que se necesiten
bull RECOMENDACIOacuteN- Revisar el coacutedigo exhaustivamente
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 25
www6sosorg
Iacutendice
bull Arquitectura de transicioacutenbull Evolucioacuten de aplicacionesbull Escenarios de transicioacuten de aplicacionesbull Dependencias en el coacutedigo fuentebull Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 26
www6sosorg
Conclusiones
bull Desarrollar aplicaciones duales- Vaacutelidas para cualquier tipo de nodo y para comunicarse con
cualquier aplicacioacuten utilizando IPv4 o IPv6- Intentar la comunicacioacuten con cada una de las direcciones IP
obtenidas a traveacutes de las funciones de resolucioacutenbull Usar FQDN
- Eliminar las direcciones IP cableadas del coacutedigobull No almacenar direcciones IPbull Las direcciones ldquoIPv4-mapped IPv6 addressesrdquo no
siempre funcionan- No siempre estaacuten implementadas- En algunos nodos estaacuten deshabilitadas por seguridad
Iacutendice
Arquitectura de transicioacuten
Arquitectura de transicioacuten
Arquitectura de transicioacuten
Arquitectura de transicioacuten
Iacutendice
De aplicaciones v4 a aplicaciones IPv6
2 De aplicaciones IPv4 a aplicaciones duales
3 Transicioacuten gradual
Iacutendice
Aplicaciones IPv4 en nodos duales
BISBIA
2 Aplicaciones IPv6 en nodos duales
Aplicacioacuten servidor IPv6 en nodo dual
Aplicacioacuten cliente IPv6 en nodo dual
3 Aplicaciones duales en nodos duales
4 Aplicaciones duales en nodos soacutelo IPv4
Iacutendice
Formato de presentacioacuten de direcciones IP
2 Resolucioacuten de nombres
3 API de la capa de transporte
Estructuras de datos
4 Otras dependencias especiacuteficas
Iacutendice
Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 5
www6sosorg
Arquitectura de transicioacutenbull Redbull Nodos finalesbull Aplicaciones
bull Soporte IPv6 en un breve periacuteodo de tiempo bull Una uacutenica aplicacioacutenbull Mantenimiento coacutedigo fuente
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 11
www6sosorg
Iacutendice
bull Arquitectura de transicioacutenbull Evolucioacuten de aplicacionesbull Escenarios de transicioacuten de aplicaciones
1 Aplicaciones IPv4 en nodos duales2 Aplicaciones IPv6 en nodos duales3 Aplicaciones duales en nodos duales4 Aplicaciones duales en nodos soacutelo IPv4
bull Dependencias en el coacutedigo fuentebull Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 12
www6sosorg
1 Aplicaciones IPv4 en nodos duales
bull Dependencias en el coacutedigo fuente con IPv4bull Intercambian paquetes IPv4bull Para su funcionamiento en redes IPv6
- Portar el coacutedigo a IPv6- Si no es posible utilizar mecanismos de transicioacuten Las
aplicaciones utilizan IPv4 pero se intercambian paquetes IPv6
BIA (Bump In the API)BIS (Bump In the Stack)
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 13
www6sosorg
BISBIA
Red IPv6
API de transporteAPI de transporte
BISBISIPv4
TCPUDP
Nivel de enlace
API de transporteAPI de transporte
BIABIA
IPv4
TCPUDP
Apv4Apv4 Apv4Apv4
Nivel de enlace
IPv6
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 14
www6sosorg
2 Aplicaciones IPv6 en nodos duales
bull Se han sustituido las estructuras y funciones de IPv4 por las de IPv6 Dependencias en el coacutedigo fuente con IPv6
bull Intercambian de paquetes IPv6bull Para su funcionamiento en redes IPv4
- Portar a aplicaciones duales - Mantener 2 aplicaciones ping4 y ping6 o- Utilizar direcciones IPv6 a partir de las direcciones IPv4 IPv4-mapped
IPv6 addresses no soportadas en todos las implementaciones
abcdabcd FFFFabcdFFFFabcd
Direccioacuten IPv4 IPv4-mapped IPv6
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 15
www6sosorg
Aplicacioacuten servidor IPv6 en nodo dual
TCP UDP
Nivel enlace
IPv4
TCP UDP
IPv4 IPv6
Direccioacuten IPv4-mapped IPv6 FFFFabcd
Direccioacuten IPv6xxxxxxxx
Cliente IPv4Cliente IPv4
TCP UDP
IPv6
Cliente IPv6Cliente IPv6 Servidor IPv6escucha en 00
Servidor IPv6escucha en 00
Nivel enlace
IPv4
Nivel enlace
IPv6
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 16
www6sosorg
Aplicacioacuten cliente IPv6 en nodo dual
TCP UDP
IPv4 IPv6
Direccioacuten IPv4-mapped IPv6 FFFFabcd
Direccioacuten IPv6xxxxxxxx
Cliente IPv6Cliente IPv6
Nivel enlace
TCP UDP
IPv6
Servidor IPv6Servidor IPv6
Nivel enlace
IPv6
TCP UDP
Nivel enlace
IPv4
Servidor IPv4Servidor IPv4
IPv4
Direccioacuten IPv4abcd
Direccioacuten IPv6xxxxxxxx
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 17
www6sosorg
3 Aplicaciones duales en nodos duales
bull Aplicaciones vaacutelidas para redes IPv4 e IPv6
- Implementacioacuten de aplicaciones clienteResolver nombre de maacutequina del servidor a las posibles direcciones IP Intentar conectar primero usando IPv6 y si fallaprobar con IPv4
- Implementaciones de aplicaciones servidor1 Mantener conexiones diferentes de forma expliacutecita para IPv4 e
IPv6 o2 Desarrollar una aplicacioacuten servidor IPv6 y confiar en las
direcciones IPv4-mapped IPv6 para los clientes IPv4
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 18
www6sosorg
4 Aplicaciones duales en nodos soacutelo IPv4
bull Las aplicaciones duales deberiacutean funcionar en los nodos soacutelo IPv4 para evitar tener varias versiones de la misma aplicacioacuten
REQUISITObull Desarrollar el coacutedigo fuente para que nodos que
no tengan soporte del protocolo IPv6 puedan ejecutar dichas aplicaciones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 19
www6sosorg
Iacutendice
bull Arquitectura de transicioacutenbull Evolucioacuten de aplicacionesbull Escenarios de transicioacuten de aplicacionesbull Dependencias en el coacutedigo fuente
1 Formato de presentacioacuten de las direcciones IP2 Resolucioacuten de nombres3 API de la capa de transporte4 Otras dependencias especiacuteficas
bull Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 20
www6sosorg
1 Formato de presentacioacuten de direcciones IP
bull El formato de presentacioacuten es una cadena que contiene la direccioacuten IP Diferentes en IPv4 e IPv6
IPv4 ldquoabcdrdquoIPv6 ldquoxxxxxxxxrdquo
bull El formato de presentacioacuten en IPv6 necesita maacutes memoria
bull Los analizadores sintaacutecticos de direcciones deben ser revisados para adecuarse al nuevo formato
bull Ambiguumledad con el caraacutecter ldquordquo en URLs (RFC 2732) - http[DireccioacutenIPv6]puerto
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 21
www6sosorg2 Resolucioacuten de nombres
bull Tipos de resolucioacuten- Directa
a partir del nombre de la maacutequina obtener su direccioacuten IP- Inversa
a partir de la direccioacuten IP obtener el nombre de maacutequina
bull Utilizar FQDNbull Las consultasrespuestas de DNS se enviacutean usando
IPv4IPv6 independientemente del tipo de registros que se soliciten
bull RECOMENDACIOacuteN- Usar las funciones de resolucioacuten independientes de
protocolo
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 22
www6sosorg
3 API de la capa de transporte
En el caso concreto del API de sockets existen las siguientes dependencias
- Estructuras de datos para las direcciones IPsockaddr_in sockaddr_in6 sockaddr_storage
- Funciones del API de comunicacionessocket() bind() connect() read()write() hellip
- Funciones de conversioacuten de direccionesentre el formato de presentacioacuten y las estructuras de datos de direcciones
- Opciones de configuracioacuten de red
bull RECOMENDACIOacuteN- Desarrollar aplicaciones independientes de la versioacuten IP
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 23
www6sosorg
Estructuras de datossockaddr sockaddr_in
Port Number
Flow Info
IPv6 Address(128 bits)
Scope ID
FamilyAlign
Padding
Familysockaddr_storagesockaddr_in6
FamilyFamilyPort Number
Data
IPv4 Address(32 bits)
Unused
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 24
www6sosorg
4 Otras dependencias especiacuteficas
bull Seleccioacuten de la direccioacuten IP- Los nodos automaacuteticamente resuelven el problema de la
seleccioacuten de la direccioacuten de origen siguiendo una serie de reglas predefinidas (RFC 3484)
bull Fragmentacioacuten a nivel de aplicacioacuten - Caacutelculo del tamantildeo del fragmento para que no haya
degradacioacuten de prestaciones por fragmentacioacuten a nivel IP
bull Almacenamiento de direcciones IP - No almacenar direcciones IP pueden cambiar Si es necesario
almacenar nombres y solicitar la resolucioacuten en el momento que se necesiten
bull RECOMENDACIOacuteN- Revisar el coacutedigo exhaustivamente
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 25
www6sosorg
Iacutendice
bull Arquitectura de transicioacutenbull Evolucioacuten de aplicacionesbull Escenarios de transicioacuten de aplicacionesbull Dependencias en el coacutedigo fuentebull Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 26
www6sosorg
Conclusiones
bull Desarrollar aplicaciones duales- Vaacutelidas para cualquier tipo de nodo y para comunicarse con
cualquier aplicacioacuten utilizando IPv4 o IPv6- Intentar la comunicacioacuten con cada una de las direcciones IP
obtenidas a traveacutes de las funciones de resolucioacutenbull Usar FQDN
- Eliminar las direcciones IP cableadas del coacutedigobull No almacenar direcciones IPbull Las direcciones ldquoIPv4-mapped IPv6 addressesrdquo no
siempre funcionan- No siempre estaacuten implementadas- En algunos nodos estaacuten deshabilitadas por seguridad
Iacutendice
Arquitectura de transicioacuten
Arquitectura de transicioacuten
Arquitectura de transicioacuten
Arquitectura de transicioacuten
Iacutendice
De aplicaciones v4 a aplicaciones IPv6
2 De aplicaciones IPv4 a aplicaciones duales
3 Transicioacuten gradual
Iacutendice
Aplicaciones IPv4 en nodos duales
BISBIA
2 Aplicaciones IPv6 en nodos duales
Aplicacioacuten servidor IPv6 en nodo dual
Aplicacioacuten cliente IPv6 en nodo dual
3 Aplicaciones duales en nodos duales
4 Aplicaciones duales en nodos soacutelo IPv4
Iacutendice
Formato de presentacioacuten de direcciones IP
2 Resolucioacuten de nombres
3 API de la capa de transporte
Estructuras de datos
4 Otras dependencias especiacuteficas
Iacutendice
Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 6
www6sosorg
Arquitectura de transicioacutenbull Redbull Nodos finalesbull Aplicaciones
bull Soporte IPv6 en un breve periacuteodo de tiempo bull Una uacutenica aplicacioacutenbull Mantenimiento coacutedigo fuente
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 11
www6sosorg
Iacutendice
bull Arquitectura de transicioacutenbull Evolucioacuten de aplicacionesbull Escenarios de transicioacuten de aplicaciones
1 Aplicaciones IPv4 en nodos duales2 Aplicaciones IPv6 en nodos duales3 Aplicaciones duales en nodos duales4 Aplicaciones duales en nodos soacutelo IPv4
bull Dependencias en el coacutedigo fuentebull Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 12
www6sosorg
1 Aplicaciones IPv4 en nodos duales
bull Dependencias en el coacutedigo fuente con IPv4bull Intercambian paquetes IPv4bull Para su funcionamiento en redes IPv6
- Portar el coacutedigo a IPv6- Si no es posible utilizar mecanismos de transicioacuten Las
aplicaciones utilizan IPv4 pero se intercambian paquetes IPv6
BIA (Bump In the API)BIS (Bump In the Stack)
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 13
www6sosorg
BISBIA
Red IPv6
API de transporteAPI de transporte
BISBISIPv4
TCPUDP
Nivel de enlace
API de transporteAPI de transporte
BIABIA
IPv4
TCPUDP
Apv4Apv4 Apv4Apv4
Nivel de enlace
IPv6
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 14
www6sosorg
2 Aplicaciones IPv6 en nodos duales
bull Se han sustituido las estructuras y funciones de IPv4 por las de IPv6 Dependencias en el coacutedigo fuente con IPv6
bull Intercambian de paquetes IPv6bull Para su funcionamiento en redes IPv4
- Portar a aplicaciones duales - Mantener 2 aplicaciones ping4 y ping6 o- Utilizar direcciones IPv6 a partir de las direcciones IPv4 IPv4-mapped
IPv6 addresses no soportadas en todos las implementaciones
abcdabcd FFFFabcdFFFFabcd
Direccioacuten IPv4 IPv4-mapped IPv6
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 15
www6sosorg
Aplicacioacuten servidor IPv6 en nodo dual
TCP UDP
Nivel enlace
IPv4
TCP UDP
IPv4 IPv6
Direccioacuten IPv4-mapped IPv6 FFFFabcd
Direccioacuten IPv6xxxxxxxx
Cliente IPv4Cliente IPv4
TCP UDP
IPv6
Cliente IPv6Cliente IPv6 Servidor IPv6escucha en 00
Servidor IPv6escucha en 00
Nivel enlace
IPv4
Nivel enlace
IPv6
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 16
www6sosorg
Aplicacioacuten cliente IPv6 en nodo dual
TCP UDP
IPv4 IPv6
Direccioacuten IPv4-mapped IPv6 FFFFabcd
Direccioacuten IPv6xxxxxxxx
Cliente IPv6Cliente IPv6
Nivel enlace
TCP UDP
IPv6
Servidor IPv6Servidor IPv6
Nivel enlace
IPv6
TCP UDP
Nivel enlace
IPv4
Servidor IPv4Servidor IPv4
IPv4
Direccioacuten IPv4abcd
Direccioacuten IPv6xxxxxxxx
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 17
www6sosorg
3 Aplicaciones duales en nodos duales
bull Aplicaciones vaacutelidas para redes IPv4 e IPv6
- Implementacioacuten de aplicaciones clienteResolver nombre de maacutequina del servidor a las posibles direcciones IP Intentar conectar primero usando IPv6 y si fallaprobar con IPv4
- Implementaciones de aplicaciones servidor1 Mantener conexiones diferentes de forma expliacutecita para IPv4 e
IPv6 o2 Desarrollar una aplicacioacuten servidor IPv6 y confiar en las
direcciones IPv4-mapped IPv6 para los clientes IPv4
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 18
www6sosorg
4 Aplicaciones duales en nodos soacutelo IPv4
bull Las aplicaciones duales deberiacutean funcionar en los nodos soacutelo IPv4 para evitar tener varias versiones de la misma aplicacioacuten
REQUISITObull Desarrollar el coacutedigo fuente para que nodos que
no tengan soporte del protocolo IPv6 puedan ejecutar dichas aplicaciones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 19
www6sosorg
Iacutendice
bull Arquitectura de transicioacutenbull Evolucioacuten de aplicacionesbull Escenarios de transicioacuten de aplicacionesbull Dependencias en el coacutedigo fuente
1 Formato de presentacioacuten de las direcciones IP2 Resolucioacuten de nombres3 API de la capa de transporte4 Otras dependencias especiacuteficas
bull Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 20
www6sosorg
1 Formato de presentacioacuten de direcciones IP
bull El formato de presentacioacuten es una cadena que contiene la direccioacuten IP Diferentes en IPv4 e IPv6
IPv4 ldquoabcdrdquoIPv6 ldquoxxxxxxxxrdquo
bull El formato de presentacioacuten en IPv6 necesita maacutes memoria
bull Los analizadores sintaacutecticos de direcciones deben ser revisados para adecuarse al nuevo formato
bull Ambiguumledad con el caraacutecter ldquordquo en URLs (RFC 2732) - http[DireccioacutenIPv6]puerto
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 21
www6sosorg2 Resolucioacuten de nombres
bull Tipos de resolucioacuten- Directa
a partir del nombre de la maacutequina obtener su direccioacuten IP- Inversa
a partir de la direccioacuten IP obtener el nombre de maacutequina
bull Utilizar FQDNbull Las consultasrespuestas de DNS se enviacutean usando
IPv4IPv6 independientemente del tipo de registros que se soliciten
bull RECOMENDACIOacuteN- Usar las funciones de resolucioacuten independientes de
protocolo
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 22
www6sosorg
3 API de la capa de transporte
En el caso concreto del API de sockets existen las siguientes dependencias
- Estructuras de datos para las direcciones IPsockaddr_in sockaddr_in6 sockaddr_storage
- Funciones del API de comunicacionessocket() bind() connect() read()write() hellip
- Funciones de conversioacuten de direccionesentre el formato de presentacioacuten y las estructuras de datos de direcciones
- Opciones de configuracioacuten de red
bull RECOMENDACIOacuteN- Desarrollar aplicaciones independientes de la versioacuten IP
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 23
www6sosorg
Estructuras de datossockaddr sockaddr_in
Port Number
Flow Info
IPv6 Address(128 bits)
Scope ID
FamilyAlign
Padding
Familysockaddr_storagesockaddr_in6
FamilyFamilyPort Number
Data
IPv4 Address(32 bits)
Unused
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 24
www6sosorg
4 Otras dependencias especiacuteficas
bull Seleccioacuten de la direccioacuten IP- Los nodos automaacuteticamente resuelven el problema de la
seleccioacuten de la direccioacuten de origen siguiendo una serie de reglas predefinidas (RFC 3484)
bull Fragmentacioacuten a nivel de aplicacioacuten - Caacutelculo del tamantildeo del fragmento para que no haya
degradacioacuten de prestaciones por fragmentacioacuten a nivel IP
bull Almacenamiento de direcciones IP - No almacenar direcciones IP pueden cambiar Si es necesario
almacenar nombres y solicitar la resolucioacuten en el momento que se necesiten
bull RECOMENDACIOacuteN- Revisar el coacutedigo exhaustivamente
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 25
www6sosorg
Iacutendice
bull Arquitectura de transicioacutenbull Evolucioacuten de aplicacionesbull Escenarios de transicioacuten de aplicacionesbull Dependencias en el coacutedigo fuentebull Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 26
www6sosorg
Conclusiones
bull Desarrollar aplicaciones duales- Vaacutelidas para cualquier tipo de nodo y para comunicarse con
cualquier aplicacioacuten utilizando IPv4 o IPv6- Intentar la comunicacioacuten con cada una de las direcciones IP
obtenidas a traveacutes de las funciones de resolucioacutenbull Usar FQDN
- Eliminar las direcciones IP cableadas del coacutedigobull No almacenar direcciones IPbull Las direcciones ldquoIPv4-mapped IPv6 addressesrdquo no
siempre funcionan- No siempre estaacuten implementadas- En algunos nodos estaacuten deshabilitadas por seguridad
Iacutendice
Arquitectura de transicioacuten
Arquitectura de transicioacuten
Arquitectura de transicioacuten
Arquitectura de transicioacuten
Iacutendice
De aplicaciones v4 a aplicaciones IPv6
2 De aplicaciones IPv4 a aplicaciones duales
3 Transicioacuten gradual
Iacutendice
Aplicaciones IPv4 en nodos duales
BISBIA
2 Aplicaciones IPv6 en nodos duales
Aplicacioacuten servidor IPv6 en nodo dual
Aplicacioacuten cliente IPv6 en nodo dual
3 Aplicaciones duales en nodos duales
4 Aplicaciones duales en nodos soacutelo IPv4
Iacutendice
Formato de presentacioacuten de direcciones IP
2 Resolucioacuten de nombres
3 API de la capa de transporte
Estructuras de datos
4 Otras dependencias especiacuteficas
Iacutendice
Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 7
www6sosorg
Iacutendice
bull Arquitectura de transicioacutenbull Evolucioacuten de aplicaciones
1 De aplicaciones IPv4 a aplicaciones IPv62 De aplicaciones IPv4 a aplicaciones duales3 Transicioacuten gradual
bull Escenarios de transicioacuten de aplicacionesbull Dependencias en el coacutedigo fuentebull Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 8
www6sosorg
1 De aplicaciones v4 a aplicaciones IPv6
Apv4Apv4
Apv6Apv6
IPv4
TCPUDP
Nivel enlace
IPv6
VENTAJASbull Faacutecilbull En periacuteodo corto de tiempo
PROBLEMASbull El usuario selecciona entre aplicaciones apv4 oacute apv6bull Mantenimiento del coacutedigo fuente
Apv6Apv6Apv4Apv4
SustituciSustitucioacuteoacuten de las n de las llamadas y estructuras llamadas y estructuras de IPv4 por las de IPv6de IPv4 por las de IPv6
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 9
www6sosorg
2 De aplicaciones IPv4 a aplicaciones duales
Apv4Apv4
ApdualAp
dual
IPv4
TCPUDP
Nivel enlace
IPv6
VENTAJASbull Una uacutenica aplicacioacutenbull Mantenimiento coacutedigo fuente
PROBLEMASbull Muchos cambios maacutes tiempo
ApdualApdual
AAntildentildeadir adir soporte IPv6soporte IPv6
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 10
www6sosorg
3 Transicioacuten gradual
Apv4Apv4
ApdualApdual
Apv6Apv6SustituciSustitucioacuteoacuten de las n de las llamadas y estructuras llamadas y estructuras de IPv4 por las de IPv6de IPv4 por las de IPv6
bull Soporte IPv6 en un breve periacuteodo de tiempo bull Una uacutenica aplicacioacutenbull Mantenimiento coacutedigo fuente
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 11
www6sosorg
Iacutendice
bull Arquitectura de transicioacutenbull Evolucioacuten de aplicacionesbull Escenarios de transicioacuten de aplicaciones
1 Aplicaciones IPv4 en nodos duales2 Aplicaciones IPv6 en nodos duales3 Aplicaciones duales en nodos duales4 Aplicaciones duales en nodos soacutelo IPv4
bull Dependencias en el coacutedigo fuentebull Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 12
www6sosorg
1 Aplicaciones IPv4 en nodos duales
bull Dependencias en el coacutedigo fuente con IPv4bull Intercambian paquetes IPv4bull Para su funcionamiento en redes IPv6
- Portar el coacutedigo a IPv6- Si no es posible utilizar mecanismos de transicioacuten Las
aplicaciones utilizan IPv4 pero se intercambian paquetes IPv6
BIA (Bump In the API)BIS (Bump In the Stack)
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 13
www6sosorg
BISBIA
Red IPv6
API de transporteAPI de transporte
BISBISIPv4
TCPUDP
Nivel de enlace
API de transporteAPI de transporte
BIABIA
IPv4
TCPUDP
Apv4Apv4 Apv4Apv4
Nivel de enlace
IPv6
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 14
www6sosorg
2 Aplicaciones IPv6 en nodos duales
bull Se han sustituido las estructuras y funciones de IPv4 por las de IPv6 Dependencias en el coacutedigo fuente con IPv6
bull Intercambian de paquetes IPv6bull Para su funcionamiento en redes IPv4
- Portar a aplicaciones duales - Mantener 2 aplicaciones ping4 y ping6 o- Utilizar direcciones IPv6 a partir de las direcciones IPv4 IPv4-mapped
IPv6 addresses no soportadas en todos las implementaciones
abcdabcd FFFFabcdFFFFabcd
Direccioacuten IPv4 IPv4-mapped IPv6
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 15
www6sosorg
Aplicacioacuten servidor IPv6 en nodo dual
TCP UDP
Nivel enlace
IPv4
TCP UDP
IPv4 IPv6
Direccioacuten IPv4-mapped IPv6 FFFFabcd
Direccioacuten IPv6xxxxxxxx
Cliente IPv4Cliente IPv4
TCP UDP
IPv6
Cliente IPv6Cliente IPv6 Servidor IPv6escucha en 00
Servidor IPv6escucha en 00
Nivel enlace
IPv4
Nivel enlace
IPv6
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 16
www6sosorg
Aplicacioacuten cliente IPv6 en nodo dual
TCP UDP
IPv4 IPv6
Direccioacuten IPv4-mapped IPv6 FFFFabcd
Direccioacuten IPv6xxxxxxxx
Cliente IPv6Cliente IPv6
Nivel enlace
TCP UDP
IPv6
Servidor IPv6Servidor IPv6
Nivel enlace
IPv6
TCP UDP
Nivel enlace
IPv4
Servidor IPv4Servidor IPv4
IPv4
Direccioacuten IPv4abcd
Direccioacuten IPv6xxxxxxxx
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 17
www6sosorg
3 Aplicaciones duales en nodos duales
bull Aplicaciones vaacutelidas para redes IPv4 e IPv6
- Implementacioacuten de aplicaciones clienteResolver nombre de maacutequina del servidor a las posibles direcciones IP Intentar conectar primero usando IPv6 y si fallaprobar con IPv4
- Implementaciones de aplicaciones servidor1 Mantener conexiones diferentes de forma expliacutecita para IPv4 e
IPv6 o2 Desarrollar una aplicacioacuten servidor IPv6 y confiar en las
direcciones IPv4-mapped IPv6 para los clientes IPv4
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 18
www6sosorg
4 Aplicaciones duales en nodos soacutelo IPv4
bull Las aplicaciones duales deberiacutean funcionar en los nodos soacutelo IPv4 para evitar tener varias versiones de la misma aplicacioacuten
REQUISITObull Desarrollar el coacutedigo fuente para que nodos que
no tengan soporte del protocolo IPv6 puedan ejecutar dichas aplicaciones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 19
www6sosorg
Iacutendice
bull Arquitectura de transicioacutenbull Evolucioacuten de aplicacionesbull Escenarios de transicioacuten de aplicacionesbull Dependencias en el coacutedigo fuente
1 Formato de presentacioacuten de las direcciones IP2 Resolucioacuten de nombres3 API de la capa de transporte4 Otras dependencias especiacuteficas
bull Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 20
www6sosorg
1 Formato de presentacioacuten de direcciones IP
bull El formato de presentacioacuten es una cadena que contiene la direccioacuten IP Diferentes en IPv4 e IPv6
IPv4 ldquoabcdrdquoIPv6 ldquoxxxxxxxxrdquo
bull El formato de presentacioacuten en IPv6 necesita maacutes memoria
bull Los analizadores sintaacutecticos de direcciones deben ser revisados para adecuarse al nuevo formato
bull Ambiguumledad con el caraacutecter ldquordquo en URLs (RFC 2732) - http[DireccioacutenIPv6]puerto
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 21
www6sosorg2 Resolucioacuten de nombres
bull Tipos de resolucioacuten- Directa
a partir del nombre de la maacutequina obtener su direccioacuten IP- Inversa
a partir de la direccioacuten IP obtener el nombre de maacutequina
bull Utilizar FQDNbull Las consultasrespuestas de DNS se enviacutean usando
IPv4IPv6 independientemente del tipo de registros que se soliciten
bull RECOMENDACIOacuteN- Usar las funciones de resolucioacuten independientes de
protocolo
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 22
www6sosorg
3 API de la capa de transporte
En el caso concreto del API de sockets existen las siguientes dependencias
- Estructuras de datos para las direcciones IPsockaddr_in sockaddr_in6 sockaddr_storage
- Funciones del API de comunicacionessocket() bind() connect() read()write() hellip
- Funciones de conversioacuten de direccionesentre el formato de presentacioacuten y las estructuras de datos de direcciones
- Opciones de configuracioacuten de red
bull RECOMENDACIOacuteN- Desarrollar aplicaciones independientes de la versioacuten IP
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 23
www6sosorg
Estructuras de datossockaddr sockaddr_in
Port Number
Flow Info
IPv6 Address(128 bits)
Scope ID
FamilyAlign
Padding
Familysockaddr_storagesockaddr_in6
FamilyFamilyPort Number
Data
IPv4 Address(32 bits)
Unused
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 24
www6sosorg
4 Otras dependencias especiacuteficas
bull Seleccioacuten de la direccioacuten IP- Los nodos automaacuteticamente resuelven el problema de la
seleccioacuten de la direccioacuten de origen siguiendo una serie de reglas predefinidas (RFC 3484)
bull Fragmentacioacuten a nivel de aplicacioacuten - Caacutelculo del tamantildeo del fragmento para que no haya
degradacioacuten de prestaciones por fragmentacioacuten a nivel IP
bull Almacenamiento de direcciones IP - No almacenar direcciones IP pueden cambiar Si es necesario
almacenar nombres y solicitar la resolucioacuten en el momento que se necesiten
bull RECOMENDACIOacuteN- Revisar el coacutedigo exhaustivamente
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 25
www6sosorg
Iacutendice
bull Arquitectura de transicioacutenbull Evolucioacuten de aplicacionesbull Escenarios de transicioacuten de aplicacionesbull Dependencias en el coacutedigo fuentebull Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 26
www6sosorg
Conclusiones
bull Desarrollar aplicaciones duales- Vaacutelidas para cualquier tipo de nodo y para comunicarse con
cualquier aplicacioacuten utilizando IPv4 o IPv6- Intentar la comunicacioacuten con cada una de las direcciones IP
obtenidas a traveacutes de las funciones de resolucioacutenbull Usar FQDN
- Eliminar las direcciones IP cableadas del coacutedigobull No almacenar direcciones IPbull Las direcciones ldquoIPv4-mapped IPv6 addressesrdquo no
siempre funcionan- No siempre estaacuten implementadas- En algunos nodos estaacuten deshabilitadas por seguridad
Iacutendice
Arquitectura de transicioacuten
Arquitectura de transicioacuten
Arquitectura de transicioacuten
Arquitectura de transicioacuten
Iacutendice
De aplicaciones v4 a aplicaciones IPv6
2 De aplicaciones IPv4 a aplicaciones duales
3 Transicioacuten gradual
Iacutendice
Aplicaciones IPv4 en nodos duales
BISBIA
2 Aplicaciones IPv6 en nodos duales
Aplicacioacuten servidor IPv6 en nodo dual
Aplicacioacuten cliente IPv6 en nodo dual
3 Aplicaciones duales en nodos duales
4 Aplicaciones duales en nodos soacutelo IPv4
Iacutendice
Formato de presentacioacuten de direcciones IP
2 Resolucioacuten de nombres
3 API de la capa de transporte
Estructuras de datos
4 Otras dependencias especiacuteficas
Iacutendice
Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 8
www6sosorg
1 De aplicaciones v4 a aplicaciones IPv6
Apv4Apv4
Apv6Apv6
IPv4
TCPUDP
Nivel enlace
IPv6
VENTAJASbull Faacutecilbull En periacuteodo corto de tiempo
PROBLEMASbull El usuario selecciona entre aplicaciones apv4 oacute apv6bull Mantenimiento del coacutedigo fuente
Apv6Apv6Apv4Apv4
SustituciSustitucioacuteoacuten de las n de las llamadas y estructuras llamadas y estructuras de IPv4 por las de IPv6de IPv4 por las de IPv6
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 9
www6sosorg
2 De aplicaciones IPv4 a aplicaciones duales
Apv4Apv4
ApdualAp
dual
IPv4
TCPUDP
Nivel enlace
IPv6
VENTAJASbull Una uacutenica aplicacioacutenbull Mantenimiento coacutedigo fuente
PROBLEMASbull Muchos cambios maacutes tiempo
ApdualApdual
AAntildentildeadir adir soporte IPv6soporte IPv6
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 10
www6sosorg
3 Transicioacuten gradual
Apv4Apv4
ApdualApdual
Apv6Apv6SustituciSustitucioacuteoacuten de las n de las llamadas y estructuras llamadas y estructuras de IPv4 por las de IPv6de IPv4 por las de IPv6
bull Soporte IPv6 en un breve periacuteodo de tiempo bull Una uacutenica aplicacioacutenbull Mantenimiento coacutedigo fuente
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 11
www6sosorg
Iacutendice
bull Arquitectura de transicioacutenbull Evolucioacuten de aplicacionesbull Escenarios de transicioacuten de aplicaciones
1 Aplicaciones IPv4 en nodos duales2 Aplicaciones IPv6 en nodos duales3 Aplicaciones duales en nodos duales4 Aplicaciones duales en nodos soacutelo IPv4
bull Dependencias en el coacutedigo fuentebull Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 12
www6sosorg
1 Aplicaciones IPv4 en nodos duales
bull Dependencias en el coacutedigo fuente con IPv4bull Intercambian paquetes IPv4bull Para su funcionamiento en redes IPv6
- Portar el coacutedigo a IPv6- Si no es posible utilizar mecanismos de transicioacuten Las
aplicaciones utilizan IPv4 pero se intercambian paquetes IPv6
BIA (Bump In the API)BIS (Bump In the Stack)
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 13
www6sosorg
BISBIA
Red IPv6
API de transporteAPI de transporte
BISBISIPv4
TCPUDP
Nivel de enlace
API de transporteAPI de transporte
BIABIA
IPv4
TCPUDP
Apv4Apv4 Apv4Apv4
Nivel de enlace
IPv6
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 14
www6sosorg
2 Aplicaciones IPv6 en nodos duales
bull Se han sustituido las estructuras y funciones de IPv4 por las de IPv6 Dependencias en el coacutedigo fuente con IPv6
bull Intercambian de paquetes IPv6bull Para su funcionamiento en redes IPv4
- Portar a aplicaciones duales - Mantener 2 aplicaciones ping4 y ping6 o- Utilizar direcciones IPv6 a partir de las direcciones IPv4 IPv4-mapped
IPv6 addresses no soportadas en todos las implementaciones
abcdabcd FFFFabcdFFFFabcd
Direccioacuten IPv4 IPv4-mapped IPv6
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 15
www6sosorg
Aplicacioacuten servidor IPv6 en nodo dual
TCP UDP
Nivel enlace
IPv4
TCP UDP
IPv4 IPv6
Direccioacuten IPv4-mapped IPv6 FFFFabcd
Direccioacuten IPv6xxxxxxxx
Cliente IPv4Cliente IPv4
TCP UDP
IPv6
Cliente IPv6Cliente IPv6 Servidor IPv6escucha en 00
Servidor IPv6escucha en 00
Nivel enlace
IPv4
Nivel enlace
IPv6
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 16
www6sosorg
Aplicacioacuten cliente IPv6 en nodo dual
TCP UDP
IPv4 IPv6
Direccioacuten IPv4-mapped IPv6 FFFFabcd
Direccioacuten IPv6xxxxxxxx
Cliente IPv6Cliente IPv6
Nivel enlace
TCP UDP
IPv6
Servidor IPv6Servidor IPv6
Nivel enlace
IPv6
TCP UDP
Nivel enlace
IPv4
Servidor IPv4Servidor IPv4
IPv4
Direccioacuten IPv4abcd
Direccioacuten IPv6xxxxxxxx
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 17
www6sosorg
3 Aplicaciones duales en nodos duales
bull Aplicaciones vaacutelidas para redes IPv4 e IPv6
- Implementacioacuten de aplicaciones clienteResolver nombre de maacutequina del servidor a las posibles direcciones IP Intentar conectar primero usando IPv6 y si fallaprobar con IPv4
- Implementaciones de aplicaciones servidor1 Mantener conexiones diferentes de forma expliacutecita para IPv4 e
IPv6 o2 Desarrollar una aplicacioacuten servidor IPv6 y confiar en las
direcciones IPv4-mapped IPv6 para los clientes IPv4
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 18
www6sosorg
4 Aplicaciones duales en nodos soacutelo IPv4
bull Las aplicaciones duales deberiacutean funcionar en los nodos soacutelo IPv4 para evitar tener varias versiones de la misma aplicacioacuten
REQUISITObull Desarrollar el coacutedigo fuente para que nodos que
no tengan soporte del protocolo IPv6 puedan ejecutar dichas aplicaciones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 19
www6sosorg
Iacutendice
bull Arquitectura de transicioacutenbull Evolucioacuten de aplicacionesbull Escenarios de transicioacuten de aplicacionesbull Dependencias en el coacutedigo fuente
1 Formato de presentacioacuten de las direcciones IP2 Resolucioacuten de nombres3 API de la capa de transporte4 Otras dependencias especiacuteficas
bull Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 20
www6sosorg
1 Formato de presentacioacuten de direcciones IP
bull El formato de presentacioacuten es una cadena que contiene la direccioacuten IP Diferentes en IPv4 e IPv6
IPv4 ldquoabcdrdquoIPv6 ldquoxxxxxxxxrdquo
bull El formato de presentacioacuten en IPv6 necesita maacutes memoria
bull Los analizadores sintaacutecticos de direcciones deben ser revisados para adecuarse al nuevo formato
bull Ambiguumledad con el caraacutecter ldquordquo en URLs (RFC 2732) - http[DireccioacutenIPv6]puerto
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 21
www6sosorg2 Resolucioacuten de nombres
bull Tipos de resolucioacuten- Directa
a partir del nombre de la maacutequina obtener su direccioacuten IP- Inversa
a partir de la direccioacuten IP obtener el nombre de maacutequina
bull Utilizar FQDNbull Las consultasrespuestas de DNS se enviacutean usando
IPv4IPv6 independientemente del tipo de registros que se soliciten
bull RECOMENDACIOacuteN- Usar las funciones de resolucioacuten independientes de
protocolo
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 22
www6sosorg
3 API de la capa de transporte
En el caso concreto del API de sockets existen las siguientes dependencias
- Estructuras de datos para las direcciones IPsockaddr_in sockaddr_in6 sockaddr_storage
- Funciones del API de comunicacionessocket() bind() connect() read()write() hellip
- Funciones de conversioacuten de direccionesentre el formato de presentacioacuten y las estructuras de datos de direcciones
- Opciones de configuracioacuten de red
bull RECOMENDACIOacuteN- Desarrollar aplicaciones independientes de la versioacuten IP
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 23
www6sosorg
Estructuras de datossockaddr sockaddr_in
Port Number
Flow Info
IPv6 Address(128 bits)
Scope ID
FamilyAlign
Padding
Familysockaddr_storagesockaddr_in6
FamilyFamilyPort Number
Data
IPv4 Address(32 bits)
Unused
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 24
www6sosorg
4 Otras dependencias especiacuteficas
bull Seleccioacuten de la direccioacuten IP- Los nodos automaacuteticamente resuelven el problema de la
seleccioacuten de la direccioacuten de origen siguiendo una serie de reglas predefinidas (RFC 3484)
bull Fragmentacioacuten a nivel de aplicacioacuten - Caacutelculo del tamantildeo del fragmento para que no haya
degradacioacuten de prestaciones por fragmentacioacuten a nivel IP
bull Almacenamiento de direcciones IP - No almacenar direcciones IP pueden cambiar Si es necesario
almacenar nombres y solicitar la resolucioacuten en el momento que se necesiten
bull RECOMENDACIOacuteN- Revisar el coacutedigo exhaustivamente
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 25
www6sosorg
Iacutendice
bull Arquitectura de transicioacutenbull Evolucioacuten de aplicacionesbull Escenarios de transicioacuten de aplicacionesbull Dependencias en el coacutedigo fuentebull Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 26
www6sosorg
Conclusiones
bull Desarrollar aplicaciones duales- Vaacutelidas para cualquier tipo de nodo y para comunicarse con
cualquier aplicacioacuten utilizando IPv4 o IPv6- Intentar la comunicacioacuten con cada una de las direcciones IP
obtenidas a traveacutes de las funciones de resolucioacutenbull Usar FQDN
- Eliminar las direcciones IP cableadas del coacutedigobull No almacenar direcciones IPbull Las direcciones ldquoIPv4-mapped IPv6 addressesrdquo no
siempre funcionan- No siempre estaacuten implementadas- En algunos nodos estaacuten deshabilitadas por seguridad
Iacutendice
Arquitectura de transicioacuten
Arquitectura de transicioacuten
Arquitectura de transicioacuten
Arquitectura de transicioacuten
Iacutendice
De aplicaciones v4 a aplicaciones IPv6
2 De aplicaciones IPv4 a aplicaciones duales
3 Transicioacuten gradual
Iacutendice
Aplicaciones IPv4 en nodos duales
BISBIA
2 Aplicaciones IPv6 en nodos duales
Aplicacioacuten servidor IPv6 en nodo dual
Aplicacioacuten cliente IPv6 en nodo dual
3 Aplicaciones duales en nodos duales
4 Aplicaciones duales en nodos soacutelo IPv4
Iacutendice
Formato de presentacioacuten de direcciones IP
2 Resolucioacuten de nombres
3 API de la capa de transporte
Estructuras de datos
4 Otras dependencias especiacuteficas
Iacutendice
Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 9
www6sosorg
2 De aplicaciones IPv4 a aplicaciones duales
Apv4Apv4
ApdualAp
dual
IPv4
TCPUDP
Nivel enlace
IPv6
VENTAJASbull Una uacutenica aplicacioacutenbull Mantenimiento coacutedigo fuente
PROBLEMASbull Muchos cambios maacutes tiempo
ApdualApdual
AAntildentildeadir adir soporte IPv6soporte IPv6
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 10
www6sosorg
3 Transicioacuten gradual
Apv4Apv4
ApdualApdual
Apv6Apv6SustituciSustitucioacuteoacuten de las n de las llamadas y estructuras llamadas y estructuras de IPv4 por las de IPv6de IPv4 por las de IPv6
bull Soporte IPv6 en un breve periacuteodo de tiempo bull Una uacutenica aplicacioacutenbull Mantenimiento coacutedigo fuente
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 11
www6sosorg
Iacutendice
bull Arquitectura de transicioacutenbull Evolucioacuten de aplicacionesbull Escenarios de transicioacuten de aplicaciones
1 Aplicaciones IPv4 en nodos duales2 Aplicaciones IPv6 en nodos duales3 Aplicaciones duales en nodos duales4 Aplicaciones duales en nodos soacutelo IPv4
bull Dependencias en el coacutedigo fuentebull Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 12
www6sosorg
1 Aplicaciones IPv4 en nodos duales
bull Dependencias en el coacutedigo fuente con IPv4bull Intercambian paquetes IPv4bull Para su funcionamiento en redes IPv6
- Portar el coacutedigo a IPv6- Si no es posible utilizar mecanismos de transicioacuten Las
aplicaciones utilizan IPv4 pero se intercambian paquetes IPv6
BIA (Bump In the API)BIS (Bump In the Stack)
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 13
www6sosorg
BISBIA
Red IPv6
API de transporteAPI de transporte
BISBISIPv4
TCPUDP
Nivel de enlace
API de transporteAPI de transporte
BIABIA
IPv4
TCPUDP
Apv4Apv4 Apv4Apv4
Nivel de enlace
IPv6
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 14
www6sosorg
2 Aplicaciones IPv6 en nodos duales
bull Se han sustituido las estructuras y funciones de IPv4 por las de IPv6 Dependencias en el coacutedigo fuente con IPv6
bull Intercambian de paquetes IPv6bull Para su funcionamiento en redes IPv4
- Portar a aplicaciones duales - Mantener 2 aplicaciones ping4 y ping6 o- Utilizar direcciones IPv6 a partir de las direcciones IPv4 IPv4-mapped
IPv6 addresses no soportadas en todos las implementaciones
abcdabcd FFFFabcdFFFFabcd
Direccioacuten IPv4 IPv4-mapped IPv6
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 15
www6sosorg
Aplicacioacuten servidor IPv6 en nodo dual
TCP UDP
Nivel enlace
IPv4
TCP UDP
IPv4 IPv6
Direccioacuten IPv4-mapped IPv6 FFFFabcd
Direccioacuten IPv6xxxxxxxx
Cliente IPv4Cliente IPv4
TCP UDP
IPv6
Cliente IPv6Cliente IPv6 Servidor IPv6escucha en 00
Servidor IPv6escucha en 00
Nivel enlace
IPv4
Nivel enlace
IPv6
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 16
www6sosorg
Aplicacioacuten cliente IPv6 en nodo dual
TCP UDP
IPv4 IPv6
Direccioacuten IPv4-mapped IPv6 FFFFabcd
Direccioacuten IPv6xxxxxxxx
Cliente IPv6Cliente IPv6
Nivel enlace
TCP UDP
IPv6
Servidor IPv6Servidor IPv6
Nivel enlace
IPv6
TCP UDP
Nivel enlace
IPv4
Servidor IPv4Servidor IPv4
IPv4
Direccioacuten IPv4abcd
Direccioacuten IPv6xxxxxxxx
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 17
www6sosorg
3 Aplicaciones duales en nodos duales
bull Aplicaciones vaacutelidas para redes IPv4 e IPv6
- Implementacioacuten de aplicaciones clienteResolver nombre de maacutequina del servidor a las posibles direcciones IP Intentar conectar primero usando IPv6 y si fallaprobar con IPv4
- Implementaciones de aplicaciones servidor1 Mantener conexiones diferentes de forma expliacutecita para IPv4 e
IPv6 o2 Desarrollar una aplicacioacuten servidor IPv6 y confiar en las
direcciones IPv4-mapped IPv6 para los clientes IPv4
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 18
www6sosorg
4 Aplicaciones duales en nodos soacutelo IPv4
bull Las aplicaciones duales deberiacutean funcionar en los nodos soacutelo IPv4 para evitar tener varias versiones de la misma aplicacioacuten
REQUISITObull Desarrollar el coacutedigo fuente para que nodos que
no tengan soporte del protocolo IPv6 puedan ejecutar dichas aplicaciones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 19
www6sosorg
Iacutendice
bull Arquitectura de transicioacutenbull Evolucioacuten de aplicacionesbull Escenarios de transicioacuten de aplicacionesbull Dependencias en el coacutedigo fuente
1 Formato de presentacioacuten de las direcciones IP2 Resolucioacuten de nombres3 API de la capa de transporte4 Otras dependencias especiacuteficas
bull Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 20
www6sosorg
1 Formato de presentacioacuten de direcciones IP
bull El formato de presentacioacuten es una cadena que contiene la direccioacuten IP Diferentes en IPv4 e IPv6
IPv4 ldquoabcdrdquoIPv6 ldquoxxxxxxxxrdquo
bull El formato de presentacioacuten en IPv6 necesita maacutes memoria
bull Los analizadores sintaacutecticos de direcciones deben ser revisados para adecuarse al nuevo formato
bull Ambiguumledad con el caraacutecter ldquordquo en URLs (RFC 2732) - http[DireccioacutenIPv6]puerto
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 21
www6sosorg2 Resolucioacuten de nombres
bull Tipos de resolucioacuten- Directa
a partir del nombre de la maacutequina obtener su direccioacuten IP- Inversa
a partir de la direccioacuten IP obtener el nombre de maacutequina
bull Utilizar FQDNbull Las consultasrespuestas de DNS se enviacutean usando
IPv4IPv6 independientemente del tipo de registros que se soliciten
bull RECOMENDACIOacuteN- Usar las funciones de resolucioacuten independientes de
protocolo
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 22
www6sosorg
3 API de la capa de transporte
En el caso concreto del API de sockets existen las siguientes dependencias
- Estructuras de datos para las direcciones IPsockaddr_in sockaddr_in6 sockaddr_storage
- Funciones del API de comunicacionessocket() bind() connect() read()write() hellip
- Funciones de conversioacuten de direccionesentre el formato de presentacioacuten y las estructuras de datos de direcciones
- Opciones de configuracioacuten de red
bull RECOMENDACIOacuteN- Desarrollar aplicaciones independientes de la versioacuten IP
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 23
www6sosorg
Estructuras de datossockaddr sockaddr_in
Port Number
Flow Info
IPv6 Address(128 bits)
Scope ID
FamilyAlign
Padding
Familysockaddr_storagesockaddr_in6
FamilyFamilyPort Number
Data
IPv4 Address(32 bits)
Unused
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 24
www6sosorg
4 Otras dependencias especiacuteficas
bull Seleccioacuten de la direccioacuten IP- Los nodos automaacuteticamente resuelven el problema de la
seleccioacuten de la direccioacuten de origen siguiendo una serie de reglas predefinidas (RFC 3484)
bull Fragmentacioacuten a nivel de aplicacioacuten - Caacutelculo del tamantildeo del fragmento para que no haya
degradacioacuten de prestaciones por fragmentacioacuten a nivel IP
bull Almacenamiento de direcciones IP - No almacenar direcciones IP pueden cambiar Si es necesario
almacenar nombres y solicitar la resolucioacuten en el momento que se necesiten
bull RECOMENDACIOacuteN- Revisar el coacutedigo exhaustivamente
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 25
www6sosorg
Iacutendice
bull Arquitectura de transicioacutenbull Evolucioacuten de aplicacionesbull Escenarios de transicioacuten de aplicacionesbull Dependencias en el coacutedigo fuentebull Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 26
www6sosorg
Conclusiones
bull Desarrollar aplicaciones duales- Vaacutelidas para cualquier tipo de nodo y para comunicarse con
cualquier aplicacioacuten utilizando IPv4 o IPv6- Intentar la comunicacioacuten con cada una de las direcciones IP
obtenidas a traveacutes de las funciones de resolucioacutenbull Usar FQDN
- Eliminar las direcciones IP cableadas del coacutedigobull No almacenar direcciones IPbull Las direcciones ldquoIPv4-mapped IPv6 addressesrdquo no
siempre funcionan- No siempre estaacuten implementadas- En algunos nodos estaacuten deshabilitadas por seguridad
Iacutendice
Arquitectura de transicioacuten
Arquitectura de transicioacuten
Arquitectura de transicioacuten
Arquitectura de transicioacuten
Iacutendice
De aplicaciones v4 a aplicaciones IPv6
2 De aplicaciones IPv4 a aplicaciones duales
3 Transicioacuten gradual
Iacutendice
Aplicaciones IPv4 en nodos duales
BISBIA
2 Aplicaciones IPv6 en nodos duales
Aplicacioacuten servidor IPv6 en nodo dual
Aplicacioacuten cliente IPv6 en nodo dual
3 Aplicaciones duales en nodos duales
4 Aplicaciones duales en nodos soacutelo IPv4
Iacutendice
Formato de presentacioacuten de direcciones IP
2 Resolucioacuten de nombres
3 API de la capa de transporte
Estructuras de datos
4 Otras dependencias especiacuteficas
Iacutendice
Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 10
www6sosorg
3 Transicioacuten gradual
Apv4Apv4
ApdualApdual
Apv6Apv6SustituciSustitucioacuteoacuten de las n de las llamadas y estructuras llamadas y estructuras de IPv4 por las de IPv6de IPv4 por las de IPv6
bull Soporte IPv6 en un breve periacuteodo de tiempo bull Una uacutenica aplicacioacutenbull Mantenimiento coacutedigo fuente
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 11
www6sosorg
Iacutendice
bull Arquitectura de transicioacutenbull Evolucioacuten de aplicacionesbull Escenarios de transicioacuten de aplicaciones
1 Aplicaciones IPv4 en nodos duales2 Aplicaciones IPv6 en nodos duales3 Aplicaciones duales en nodos duales4 Aplicaciones duales en nodos soacutelo IPv4
bull Dependencias en el coacutedigo fuentebull Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 12
www6sosorg
1 Aplicaciones IPv4 en nodos duales
bull Dependencias en el coacutedigo fuente con IPv4bull Intercambian paquetes IPv4bull Para su funcionamiento en redes IPv6
- Portar el coacutedigo a IPv6- Si no es posible utilizar mecanismos de transicioacuten Las
aplicaciones utilizan IPv4 pero se intercambian paquetes IPv6
BIA (Bump In the API)BIS (Bump In the Stack)
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 13
www6sosorg
BISBIA
Red IPv6
API de transporteAPI de transporte
BISBISIPv4
TCPUDP
Nivel de enlace
API de transporteAPI de transporte
BIABIA
IPv4
TCPUDP
Apv4Apv4 Apv4Apv4
Nivel de enlace
IPv6
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 14
www6sosorg
2 Aplicaciones IPv6 en nodos duales
bull Se han sustituido las estructuras y funciones de IPv4 por las de IPv6 Dependencias en el coacutedigo fuente con IPv6
bull Intercambian de paquetes IPv6bull Para su funcionamiento en redes IPv4
- Portar a aplicaciones duales - Mantener 2 aplicaciones ping4 y ping6 o- Utilizar direcciones IPv6 a partir de las direcciones IPv4 IPv4-mapped
IPv6 addresses no soportadas en todos las implementaciones
abcdabcd FFFFabcdFFFFabcd
Direccioacuten IPv4 IPv4-mapped IPv6
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 15
www6sosorg
Aplicacioacuten servidor IPv6 en nodo dual
TCP UDP
Nivel enlace
IPv4
TCP UDP
IPv4 IPv6
Direccioacuten IPv4-mapped IPv6 FFFFabcd
Direccioacuten IPv6xxxxxxxx
Cliente IPv4Cliente IPv4
TCP UDP
IPv6
Cliente IPv6Cliente IPv6 Servidor IPv6escucha en 00
Servidor IPv6escucha en 00
Nivel enlace
IPv4
Nivel enlace
IPv6
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 16
www6sosorg
Aplicacioacuten cliente IPv6 en nodo dual
TCP UDP
IPv4 IPv6
Direccioacuten IPv4-mapped IPv6 FFFFabcd
Direccioacuten IPv6xxxxxxxx
Cliente IPv6Cliente IPv6
Nivel enlace
TCP UDP
IPv6
Servidor IPv6Servidor IPv6
Nivel enlace
IPv6
TCP UDP
Nivel enlace
IPv4
Servidor IPv4Servidor IPv4
IPv4
Direccioacuten IPv4abcd
Direccioacuten IPv6xxxxxxxx
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 17
www6sosorg
3 Aplicaciones duales en nodos duales
bull Aplicaciones vaacutelidas para redes IPv4 e IPv6
- Implementacioacuten de aplicaciones clienteResolver nombre de maacutequina del servidor a las posibles direcciones IP Intentar conectar primero usando IPv6 y si fallaprobar con IPv4
- Implementaciones de aplicaciones servidor1 Mantener conexiones diferentes de forma expliacutecita para IPv4 e
IPv6 o2 Desarrollar una aplicacioacuten servidor IPv6 y confiar en las
direcciones IPv4-mapped IPv6 para los clientes IPv4
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 18
www6sosorg
4 Aplicaciones duales en nodos soacutelo IPv4
bull Las aplicaciones duales deberiacutean funcionar en los nodos soacutelo IPv4 para evitar tener varias versiones de la misma aplicacioacuten
REQUISITObull Desarrollar el coacutedigo fuente para que nodos que
no tengan soporte del protocolo IPv6 puedan ejecutar dichas aplicaciones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 19
www6sosorg
Iacutendice
bull Arquitectura de transicioacutenbull Evolucioacuten de aplicacionesbull Escenarios de transicioacuten de aplicacionesbull Dependencias en el coacutedigo fuente
1 Formato de presentacioacuten de las direcciones IP2 Resolucioacuten de nombres3 API de la capa de transporte4 Otras dependencias especiacuteficas
bull Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 20
www6sosorg
1 Formato de presentacioacuten de direcciones IP
bull El formato de presentacioacuten es una cadena que contiene la direccioacuten IP Diferentes en IPv4 e IPv6
IPv4 ldquoabcdrdquoIPv6 ldquoxxxxxxxxrdquo
bull El formato de presentacioacuten en IPv6 necesita maacutes memoria
bull Los analizadores sintaacutecticos de direcciones deben ser revisados para adecuarse al nuevo formato
bull Ambiguumledad con el caraacutecter ldquordquo en URLs (RFC 2732) - http[DireccioacutenIPv6]puerto
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 21
www6sosorg2 Resolucioacuten de nombres
bull Tipos de resolucioacuten- Directa
a partir del nombre de la maacutequina obtener su direccioacuten IP- Inversa
a partir de la direccioacuten IP obtener el nombre de maacutequina
bull Utilizar FQDNbull Las consultasrespuestas de DNS se enviacutean usando
IPv4IPv6 independientemente del tipo de registros que se soliciten
bull RECOMENDACIOacuteN- Usar las funciones de resolucioacuten independientes de
protocolo
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 22
www6sosorg
3 API de la capa de transporte
En el caso concreto del API de sockets existen las siguientes dependencias
- Estructuras de datos para las direcciones IPsockaddr_in sockaddr_in6 sockaddr_storage
- Funciones del API de comunicacionessocket() bind() connect() read()write() hellip
- Funciones de conversioacuten de direccionesentre el formato de presentacioacuten y las estructuras de datos de direcciones
- Opciones de configuracioacuten de red
bull RECOMENDACIOacuteN- Desarrollar aplicaciones independientes de la versioacuten IP
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 23
www6sosorg
Estructuras de datossockaddr sockaddr_in
Port Number
Flow Info
IPv6 Address(128 bits)
Scope ID
FamilyAlign
Padding
Familysockaddr_storagesockaddr_in6
FamilyFamilyPort Number
Data
IPv4 Address(32 bits)
Unused
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 24
www6sosorg
4 Otras dependencias especiacuteficas
bull Seleccioacuten de la direccioacuten IP- Los nodos automaacuteticamente resuelven el problema de la
seleccioacuten de la direccioacuten de origen siguiendo una serie de reglas predefinidas (RFC 3484)
bull Fragmentacioacuten a nivel de aplicacioacuten - Caacutelculo del tamantildeo del fragmento para que no haya
degradacioacuten de prestaciones por fragmentacioacuten a nivel IP
bull Almacenamiento de direcciones IP - No almacenar direcciones IP pueden cambiar Si es necesario
almacenar nombres y solicitar la resolucioacuten en el momento que se necesiten
bull RECOMENDACIOacuteN- Revisar el coacutedigo exhaustivamente
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 25
www6sosorg
Iacutendice
bull Arquitectura de transicioacutenbull Evolucioacuten de aplicacionesbull Escenarios de transicioacuten de aplicacionesbull Dependencias en el coacutedigo fuentebull Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 26
www6sosorg
Conclusiones
bull Desarrollar aplicaciones duales- Vaacutelidas para cualquier tipo de nodo y para comunicarse con
cualquier aplicacioacuten utilizando IPv4 o IPv6- Intentar la comunicacioacuten con cada una de las direcciones IP
obtenidas a traveacutes de las funciones de resolucioacutenbull Usar FQDN
- Eliminar las direcciones IP cableadas del coacutedigobull No almacenar direcciones IPbull Las direcciones ldquoIPv4-mapped IPv6 addressesrdquo no
siempre funcionan- No siempre estaacuten implementadas- En algunos nodos estaacuten deshabilitadas por seguridad
Iacutendice
Arquitectura de transicioacuten
Arquitectura de transicioacuten
Arquitectura de transicioacuten
Arquitectura de transicioacuten
Iacutendice
De aplicaciones v4 a aplicaciones IPv6
2 De aplicaciones IPv4 a aplicaciones duales
3 Transicioacuten gradual
Iacutendice
Aplicaciones IPv4 en nodos duales
BISBIA
2 Aplicaciones IPv6 en nodos duales
Aplicacioacuten servidor IPv6 en nodo dual
Aplicacioacuten cliente IPv6 en nodo dual
3 Aplicaciones duales en nodos duales
4 Aplicaciones duales en nodos soacutelo IPv4
Iacutendice
Formato de presentacioacuten de direcciones IP
2 Resolucioacuten de nombres
3 API de la capa de transporte
Estructuras de datos
4 Otras dependencias especiacuteficas
Iacutendice
Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 11
www6sosorg
Iacutendice
bull Arquitectura de transicioacutenbull Evolucioacuten de aplicacionesbull Escenarios de transicioacuten de aplicaciones
1 Aplicaciones IPv4 en nodos duales2 Aplicaciones IPv6 en nodos duales3 Aplicaciones duales en nodos duales4 Aplicaciones duales en nodos soacutelo IPv4
bull Dependencias en el coacutedigo fuentebull Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 12
www6sosorg
1 Aplicaciones IPv4 en nodos duales
bull Dependencias en el coacutedigo fuente con IPv4bull Intercambian paquetes IPv4bull Para su funcionamiento en redes IPv6
- Portar el coacutedigo a IPv6- Si no es posible utilizar mecanismos de transicioacuten Las
aplicaciones utilizan IPv4 pero se intercambian paquetes IPv6
BIA (Bump In the API)BIS (Bump In the Stack)
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 13
www6sosorg
BISBIA
Red IPv6
API de transporteAPI de transporte
BISBISIPv4
TCPUDP
Nivel de enlace
API de transporteAPI de transporte
BIABIA
IPv4
TCPUDP
Apv4Apv4 Apv4Apv4
Nivel de enlace
IPv6
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 14
www6sosorg
2 Aplicaciones IPv6 en nodos duales
bull Se han sustituido las estructuras y funciones de IPv4 por las de IPv6 Dependencias en el coacutedigo fuente con IPv6
bull Intercambian de paquetes IPv6bull Para su funcionamiento en redes IPv4
- Portar a aplicaciones duales - Mantener 2 aplicaciones ping4 y ping6 o- Utilizar direcciones IPv6 a partir de las direcciones IPv4 IPv4-mapped
IPv6 addresses no soportadas en todos las implementaciones
abcdabcd FFFFabcdFFFFabcd
Direccioacuten IPv4 IPv4-mapped IPv6
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 15
www6sosorg
Aplicacioacuten servidor IPv6 en nodo dual
TCP UDP
Nivel enlace
IPv4
TCP UDP
IPv4 IPv6
Direccioacuten IPv4-mapped IPv6 FFFFabcd
Direccioacuten IPv6xxxxxxxx
Cliente IPv4Cliente IPv4
TCP UDP
IPv6
Cliente IPv6Cliente IPv6 Servidor IPv6escucha en 00
Servidor IPv6escucha en 00
Nivel enlace
IPv4
Nivel enlace
IPv6
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 16
www6sosorg
Aplicacioacuten cliente IPv6 en nodo dual
TCP UDP
IPv4 IPv6
Direccioacuten IPv4-mapped IPv6 FFFFabcd
Direccioacuten IPv6xxxxxxxx
Cliente IPv6Cliente IPv6
Nivel enlace
TCP UDP
IPv6
Servidor IPv6Servidor IPv6
Nivel enlace
IPv6
TCP UDP
Nivel enlace
IPv4
Servidor IPv4Servidor IPv4
IPv4
Direccioacuten IPv4abcd
Direccioacuten IPv6xxxxxxxx
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 17
www6sosorg
3 Aplicaciones duales en nodos duales
bull Aplicaciones vaacutelidas para redes IPv4 e IPv6
- Implementacioacuten de aplicaciones clienteResolver nombre de maacutequina del servidor a las posibles direcciones IP Intentar conectar primero usando IPv6 y si fallaprobar con IPv4
- Implementaciones de aplicaciones servidor1 Mantener conexiones diferentes de forma expliacutecita para IPv4 e
IPv6 o2 Desarrollar una aplicacioacuten servidor IPv6 y confiar en las
direcciones IPv4-mapped IPv6 para los clientes IPv4
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 18
www6sosorg
4 Aplicaciones duales en nodos soacutelo IPv4
bull Las aplicaciones duales deberiacutean funcionar en los nodos soacutelo IPv4 para evitar tener varias versiones de la misma aplicacioacuten
REQUISITObull Desarrollar el coacutedigo fuente para que nodos que
no tengan soporte del protocolo IPv6 puedan ejecutar dichas aplicaciones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 19
www6sosorg
Iacutendice
bull Arquitectura de transicioacutenbull Evolucioacuten de aplicacionesbull Escenarios de transicioacuten de aplicacionesbull Dependencias en el coacutedigo fuente
1 Formato de presentacioacuten de las direcciones IP2 Resolucioacuten de nombres3 API de la capa de transporte4 Otras dependencias especiacuteficas
bull Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 20
www6sosorg
1 Formato de presentacioacuten de direcciones IP
bull El formato de presentacioacuten es una cadena que contiene la direccioacuten IP Diferentes en IPv4 e IPv6
IPv4 ldquoabcdrdquoIPv6 ldquoxxxxxxxxrdquo
bull El formato de presentacioacuten en IPv6 necesita maacutes memoria
bull Los analizadores sintaacutecticos de direcciones deben ser revisados para adecuarse al nuevo formato
bull Ambiguumledad con el caraacutecter ldquordquo en URLs (RFC 2732) - http[DireccioacutenIPv6]puerto
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 21
www6sosorg2 Resolucioacuten de nombres
bull Tipos de resolucioacuten- Directa
a partir del nombre de la maacutequina obtener su direccioacuten IP- Inversa
a partir de la direccioacuten IP obtener el nombre de maacutequina
bull Utilizar FQDNbull Las consultasrespuestas de DNS se enviacutean usando
IPv4IPv6 independientemente del tipo de registros que se soliciten
bull RECOMENDACIOacuteN- Usar las funciones de resolucioacuten independientes de
protocolo
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 22
www6sosorg
3 API de la capa de transporte
En el caso concreto del API de sockets existen las siguientes dependencias
- Estructuras de datos para las direcciones IPsockaddr_in sockaddr_in6 sockaddr_storage
- Funciones del API de comunicacionessocket() bind() connect() read()write() hellip
- Funciones de conversioacuten de direccionesentre el formato de presentacioacuten y las estructuras de datos de direcciones
- Opciones de configuracioacuten de red
bull RECOMENDACIOacuteN- Desarrollar aplicaciones independientes de la versioacuten IP
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 23
www6sosorg
Estructuras de datossockaddr sockaddr_in
Port Number
Flow Info
IPv6 Address(128 bits)
Scope ID
FamilyAlign
Padding
Familysockaddr_storagesockaddr_in6
FamilyFamilyPort Number
Data
IPv4 Address(32 bits)
Unused
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 24
www6sosorg
4 Otras dependencias especiacuteficas
bull Seleccioacuten de la direccioacuten IP- Los nodos automaacuteticamente resuelven el problema de la
seleccioacuten de la direccioacuten de origen siguiendo una serie de reglas predefinidas (RFC 3484)
bull Fragmentacioacuten a nivel de aplicacioacuten - Caacutelculo del tamantildeo del fragmento para que no haya
degradacioacuten de prestaciones por fragmentacioacuten a nivel IP
bull Almacenamiento de direcciones IP - No almacenar direcciones IP pueden cambiar Si es necesario
almacenar nombres y solicitar la resolucioacuten en el momento que se necesiten
bull RECOMENDACIOacuteN- Revisar el coacutedigo exhaustivamente
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 25
www6sosorg
Iacutendice
bull Arquitectura de transicioacutenbull Evolucioacuten de aplicacionesbull Escenarios de transicioacuten de aplicacionesbull Dependencias en el coacutedigo fuentebull Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 26
www6sosorg
Conclusiones
bull Desarrollar aplicaciones duales- Vaacutelidas para cualquier tipo de nodo y para comunicarse con
cualquier aplicacioacuten utilizando IPv4 o IPv6- Intentar la comunicacioacuten con cada una de las direcciones IP
obtenidas a traveacutes de las funciones de resolucioacutenbull Usar FQDN
- Eliminar las direcciones IP cableadas del coacutedigobull No almacenar direcciones IPbull Las direcciones ldquoIPv4-mapped IPv6 addressesrdquo no
siempre funcionan- No siempre estaacuten implementadas- En algunos nodos estaacuten deshabilitadas por seguridad
Iacutendice
Arquitectura de transicioacuten
Arquitectura de transicioacuten
Arquitectura de transicioacuten
Arquitectura de transicioacuten
Iacutendice
De aplicaciones v4 a aplicaciones IPv6
2 De aplicaciones IPv4 a aplicaciones duales
3 Transicioacuten gradual
Iacutendice
Aplicaciones IPv4 en nodos duales
BISBIA
2 Aplicaciones IPv6 en nodos duales
Aplicacioacuten servidor IPv6 en nodo dual
Aplicacioacuten cliente IPv6 en nodo dual
3 Aplicaciones duales en nodos duales
4 Aplicaciones duales en nodos soacutelo IPv4
Iacutendice
Formato de presentacioacuten de direcciones IP
2 Resolucioacuten de nombres
3 API de la capa de transporte
Estructuras de datos
4 Otras dependencias especiacuteficas
Iacutendice
Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 12
www6sosorg
1 Aplicaciones IPv4 en nodos duales
bull Dependencias en el coacutedigo fuente con IPv4bull Intercambian paquetes IPv4bull Para su funcionamiento en redes IPv6
- Portar el coacutedigo a IPv6- Si no es posible utilizar mecanismos de transicioacuten Las
aplicaciones utilizan IPv4 pero se intercambian paquetes IPv6
BIA (Bump In the API)BIS (Bump In the Stack)
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 13
www6sosorg
BISBIA
Red IPv6
API de transporteAPI de transporte
BISBISIPv4
TCPUDP
Nivel de enlace
API de transporteAPI de transporte
BIABIA
IPv4
TCPUDP
Apv4Apv4 Apv4Apv4
Nivel de enlace
IPv6
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 14
www6sosorg
2 Aplicaciones IPv6 en nodos duales
bull Se han sustituido las estructuras y funciones de IPv4 por las de IPv6 Dependencias en el coacutedigo fuente con IPv6
bull Intercambian de paquetes IPv6bull Para su funcionamiento en redes IPv4
- Portar a aplicaciones duales - Mantener 2 aplicaciones ping4 y ping6 o- Utilizar direcciones IPv6 a partir de las direcciones IPv4 IPv4-mapped
IPv6 addresses no soportadas en todos las implementaciones
abcdabcd FFFFabcdFFFFabcd
Direccioacuten IPv4 IPv4-mapped IPv6
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 15
www6sosorg
Aplicacioacuten servidor IPv6 en nodo dual
TCP UDP
Nivel enlace
IPv4
TCP UDP
IPv4 IPv6
Direccioacuten IPv4-mapped IPv6 FFFFabcd
Direccioacuten IPv6xxxxxxxx
Cliente IPv4Cliente IPv4
TCP UDP
IPv6
Cliente IPv6Cliente IPv6 Servidor IPv6escucha en 00
Servidor IPv6escucha en 00
Nivel enlace
IPv4
Nivel enlace
IPv6
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 16
www6sosorg
Aplicacioacuten cliente IPv6 en nodo dual
TCP UDP
IPv4 IPv6
Direccioacuten IPv4-mapped IPv6 FFFFabcd
Direccioacuten IPv6xxxxxxxx
Cliente IPv6Cliente IPv6
Nivel enlace
TCP UDP
IPv6
Servidor IPv6Servidor IPv6
Nivel enlace
IPv6
TCP UDP
Nivel enlace
IPv4
Servidor IPv4Servidor IPv4
IPv4
Direccioacuten IPv4abcd
Direccioacuten IPv6xxxxxxxx
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 17
www6sosorg
3 Aplicaciones duales en nodos duales
bull Aplicaciones vaacutelidas para redes IPv4 e IPv6
- Implementacioacuten de aplicaciones clienteResolver nombre de maacutequina del servidor a las posibles direcciones IP Intentar conectar primero usando IPv6 y si fallaprobar con IPv4
- Implementaciones de aplicaciones servidor1 Mantener conexiones diferentes de forma expliacutecita para IPv4 e
IPv6 o2 Desarrollar una aplicacioacuten servidor IPv6 y confiar en las
direcciones IPv4-mapped IPv6 para los clientes IPv4
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 18
www6sosorg
4 Aplicaciones duales en nodos soacutelo IPv4
bull Las aplicaciones duales deberiacutean funcionar en los nodos soacutelo IPv4 para evitar tener varias versiones de la misma aplicacioacuten
REQUISITObull Desarrollar el coacutedigo fuente para que nodos que
no tengan soporte del protocolo IPv6 puedan ejecutar dichas aplicaciones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 19
www6sosorg
Iacutendice
bull Arquitectura de transicioacutenbull Evolucioacuten de aplicacionesbull Escenarios de transicioacuten de aplicacionesbull Dependencias en el coacutedigo fuente
1 Formato de presentacioacuten de las direcciones IP2 Resolucioacuten de nombres3 API de la capa de transporte4 Otras dependencias especiacuteficas
bull Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 20
www6sosorg
1 Formato de presentacioacuten de direcciones IP
bull El formato de presentacioacuten es una cadena que contiene la direccioacuten IP Diferentes en IPv4 e IPv6
IPv4 ldquoabcdrdquoIPv6 ldquoxxxxxxxxrdquo
bull El formato de presentacioacuten en IPv6 necesita maacutes memoria
bull Los analizadores sintaacutecticos de direcciones deben ser revisados para adecuarse al nuevo formato
bull Ambiguumledad con el caraacutecter ldquordquo en URLs (RFC 2732) - http[DireccioacutenIPv6]puerto
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 21
www6sosorg2 Resolucioacuten de nombres
bull Tipos de resolucioacuten- Directa
a partir del nombre de la maacutequina obtener su direccioacuten IP- Inversa
a partir de la direccioacuten IP obtener el nombre de maacutequina
bull Utilizar FQDNbull Las consultasrespuestas de DNS se enviacutean usando
IPv4IPv6 independientemente del tipo de registros que se soliciten
bull RECOMENDACIOacuteN- Usar las funciones de resolucioacuten independientes de
protocolo
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 22
www6sosorg
3 API de la capa de transporte
En el caso concreto del API de sockets existen las siguientes dependencias
- Estructuras de datos para las direcciones IPsockaddr_in sockaddr_in6 sockaddr_storage
- Funciones del API de comunicacionessocket() bind() connect() read()write() hellip
- Funciones de conversioacuten de direccionesentre el formato de presentacioacuten y las estructuras de datos de direcciones
- Opciones de configuracioacuten de red
bull RECOMENDACIOacuteN- Desarrollar aplicaciones independientes de la versioacuten IP
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 23
www6sosorg
Estructuras de datossockaddr sockaddr_in
Port Number
Flow Info
IPv6 Address(128 bits)
Scope ID
FamilyAlign
Padding
Familysockaddr_storagesockaddr_in6
FamilyFamilyPort Number
Data
IPv4 Address(32 bits)
Unused
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 24
www6sosorg
4 Otras dependencias especiacuteficas
bull Seleccioacuten de la direccioacuten IP- Los nodos automaacuteticamente resuelven el problema de la
seleccioacuten de la direccioacuten de origen siguiendo una serie de reglas predefinidas (RFC 3484)
bull Fragmentacioacuten a nivel de aplicacioacuten - Caacutelculo del tamantildeo del fragmento para que no haya
degradacioacuten de prestaciones por fragmentacioacuten a nivel IP
bull Almacenamiento de direcciones IP - No almacenar direcciones IP pueden cambiar Si es necesario
almacenar nombres y solicitar la resolucioacuten en el momento que se necesiten
bull RECOMENDACIOacuteN- Revisar el coacutedigo exhaustivamente
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 25
www6sosorg
Iacutendice
bull Arquitectura de transicioacutenbull Evolucioacuten de aplicacionesbull Escenarios de transicioacuten de aplicacionesbull Dependencias en el coacutedigo fuentebull Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 26
www6sosorg
Conclusiones
bull Desarrollar aplicaciones duales- Vaacutelidas para cualquier tipo de nodo y para comunicarse con
cualquier aplicacioacuten utilizando IPv4 o IPv6- Intentar la comunicacioacuten con cada una de las direcciones IP
obtenidas a traveacutes de las funciones de resolucioacutenbull Usar FQDN
- Eliminar las direcciones IP cableadas del coacutedigobull No almacenar direcciones IPbull Las direcciones ldquoIPv4-mapped IPv6 addressesrdquo no
siempre funcionan- No siempre estaacuten implementadas- En algunos nodos estaacuten deshabilitadas por seguridad
Iacutendice
Arquitectura de transicioacuten
Arquitectura de transicioacuten
Arquitectura de transicioacuten
Arquitectura de transicioacuten
Iacutendice
De aplicaciones v4 a aplicaciones IPv6
2 De aplicaciones IPv4 a aplicaciones duales
3 Transicioacuten gradual
Iacutendice
Aplicaciones IPv4 en nodos duales
BISBIA
2 Aplicaciones IPv6 en nodos duales
Aplicacioacuten servidor IPv6 en nodo dual
Aplicacioacuten cliente IPv6 en nodo dual
3 Aplicaciones duales en nodos duales
4 Aplicaciones duales en nodos soacutelo IPv4
Iacutendice
Formato de presentacioacuten de direcciones IP
2 Resolucioacuten de nombres
3 API de la capa de transporte
Estructuras de datos
4 Otras dependencias especiacuteficas
Iacutendice
Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 13
www6sosorg
BISBIA
Red IPv6
API de transporteAPI de transporte
BISBISIPv4
TCPUDP
Nivel de enlace
API de transporteAPI de transporte
BIABIA
IPv4
TCPUDP
Apv4Apv4 Apv4Apv4
Nivel de enlace
IPv6
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 14
www6sosorg
2 Aplicaciones IPv6 en nodos duales
bull Se han sustituido las estructuras y funciones de IPv4 por las de IPv6 Dependencias en el coacutedigo fuente con IPv6
bull Intercambian de paquetes IPv6bull Para su funcionamiento en redes IPv4
- Portar a aplicaciones duales - Mantener 2 aplicaciones ping4 y ping6 o- Utilizar direcciones IPv6 a partir de las direcciones IPv4 IPv4-mapped
IPv6 addresses no soportadas en todos las implementaciones
abcdabcd FFFFabcdFFFFabcd
Direccioacuten IPv4 IPv4-mapped IPv6
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 15
www6sosorg
Aplicacioacuten servidor IPv6 en nodo dual
TCP UDP
Nivel enlace
IPv4
TCP UDP
IPv4 IPv6
Direccioacuten IPv4-mapped IPv6 FFFFabcd
Direccioacuten IPv6xxxxxxxx
Cliente IPv4Cliente IPv4
TCP UDP
IPv6
Cliente IPv6Cliente IPv6 Servidor IPv6escucha en 00
Servidor IPv6escucha en 00
Nivel enlace
IPv4
Nivel enlace
IPv6
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 16
www6sosorg
Aplicacioacuten cliente IPv6 en nodo dual
TCP UDP
IPv4 IPv6
Direccioacuten IPv4-mapped IPv6 FFFFabcd
Direccioacuten IPv6xxxxxxxx
Cliente IPv6Cliente IPv6
Nivel enlace
TCP UDP
IPv6
Servidor IPv6Servidor IPv6
Nivel enlace
IPv6
TCP UDP
Nivel enlace
IPv4
Servidor IPv4Servidor IPv4
IPv4
Direccioacuten IPv4abcd
Direccioacuten IPv6xxxxxxxx
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 17
www6sosorg
3 Aplicaciones duales en nodos duales
bull Aplicaciones vaacutelidas para redes IPv4 e IPv6
- Implementacioacuten de aplicaciones clienteResolver nombre de maacutequina del servidor a las posibles direcciones IP Intentar conectar primero usando IPv6 y si fallaprobar con IPv4
- Implementaciones de aplicaciones servidor1 Mantener conexiones diferentes de forma expliacutecita para IPv4 e
IPv6 o2 Desarrollar una aplicacioacuten servidor IPv6 y confiar en las
direcciones IPv4-mapped IPv6 para los clientes IPv4
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 18
www6sosorg
4 Aplicaciones duales en nodos soacutelo IPv4
bull Las aplicaciones duales deberiacutean funcionar en los nodos soacutelo IPv4 para evitar tener varias versiones de la misma aplicacioacuten
REQUISITObull Desarrollar el coacutedigo fuente para que nodos que
no tengan soporte del protocolo IPv6 puedan ejecutar dichas aplicaciones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 19
www6sosorg
Iacutendice
bull Arquitectura de transicioacutenbull Evolucioacuten de aplicacionesbull Escenarios de transicioacuten de aplicacionesbull Dependencias en el coacutedigo fuente
1 Formato de presentacioacuten de las direcciones IP2 Resolucioacuten de nombres3 API de la capa de transporte4 Otras dependencias especiacuteficas
bull Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 20
www6sosorg
1 Formato de presentacioacuten de direcciones IP
bull El formato de presentacioacuten es una cadena que contiene la direccioacuten IP Diferentes en IPv4 e IPv6
IPv4 ldquoabcdrdquoIPv6 ldquoxxxxxxxxrdquo
bull El formato de presentacioacuten en IPv6 necesita maacutes memoria
bull Los analizadores sintaacutecticos de direcciones deben ser revisados para adecuarse al nuevo formato
bull Ambiguumledad con el caraacutecter ldquordquo en URLs (RFC 2732) - http[DireccioacutenIPv6]puerto
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 21
www6sosorg2 Resolucioacuten de nombres
bull Tipos de resolucioacuten- Directa
a partir del nombre de la maacutequina obtener su direccioacuten IP- Inversa
a partir de la direccioacuten IP obtener el nombre de maacutequina
bull Utilizar FQDNbull Las consultasrespuestas de DNS se enviacutean usando
IPv4IPv6 independientemente del tipo de registros que se soliciten
bull RECOMENDACIOacuteN- Usar las funciones de resolucioacuten independientes de
protocolo
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 22
www6sosorg
3 API de la capa de transporte
En el caso concreto del API de sockets existen las siguientes dependencias
- Estructuras de datos para las direcciones IPsockaddr_in sockaddr_in6 sockaddr_storage
- Funciones del API de comunicacionessocket() bind() connect() read()write() hellip
- Funciones de conversioacuten de direccionesentre el formato de presentacioacuten y las estructuras de datos de direcciones
- Opciones de configuracioacuten de red
bull RECOMENDACIOacuteN- Desarrollar aplicaciones independientes de la versioacuten IP
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 23
www6sosorg
Estructuras de datossockaddr sockaddr_in
Port Number
Flow Info
IPv6 Address(128 bits)
Scope ID
FamilyAlign
Padding
Familysockaddr_storagesockaddr_in6
FamilyFamilyPort Number
Data
IPv4 Address(32 bits)
Unused
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 24
www6sosorg
4 Otras dependencias especiacuteficas
bull Seleccioacuten de la direccioacuten IP- Los nodos automaacuteticamente resuelven el problema de la
seleccioacuten de la direccioacuten de origen siguiendo una serie de reglas predefinidas (RFC 3484)
bull Fragmentacioacuten a nivel de aplicacioacuten - Caacutelculo del tamantildeo del fragmento para que no haya
degradacioacuten de prestaciones por fragmentacioacuten a nivel IP
bull Almacenamiento de direcciones IP - No almacenar direcciones IP pueden cambiar Si es necesario
almacenar nombres y solicitar la resolucioacuten en el momento que se necesiten
bull RECOMENDACIOacuteN- Revisar el coacutedigo exhaustivamente
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 25
www6sosorg
Iacutendice
bull Arquitectura de transicioacutenbull Evolucioacuten de aplicacionesbull Escenarios de transicioacuten de aplicacionesbull Dependencias en el coacutedigo fuentebull Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 26
www6sosorg
Conclusiones
bull Desarrollar aplicaciones duales- Vaacutelidas para cualquier tipo de nodo y para comunicarse con
cualquier aplicacioacuten utilizando IPv4 o IPv6- Intentar la comunicacioacuten con cada una de las direcciones IP
obtenidas a traveacutes de las funciones de resolucioacutenbull Usar FQDN
- Eliminar las direcciones IP cableadas del coacutedigobull No almacenar direcciones IPbull Las direcciones ldquoIPv4-mapped IPv6 addressesrdquo no
siempre funcionan- No siempre estaacuten implementadas- En algunos nodos estaacuten deshabilitadas por seguridad
Iacutendice
Arquitectura de transicioacuten
Arquitectura de transicioacuten
Arquitectura de transicioacuten
Arquitectura de transicioacuten
Iacutendice
De aplicaciones v4 a aplicaciones IPv6
2 De aplicaciones IPv4 a aplicaciones duales
3 Transicioacuten gradual
Iacutendice
Aplicaciones IPv4 en nodos duales
BISBIA
2 Aplicaciones IPv6 en nodos duales
Aplicacioacuten servidor IPv6 en nodo dual
Aplicacioacuten cliente IPv6 en nodo dual
3 Aplicaciones duales en nodos duales
4 Aplicaciones duales en nodos soacutelo IPv4
Iacutendice
Formato de presentacioacuten de direcciones IP
2 Resolucioacuten de nombres
3 API de la capa de transporte
Estructuras de datos
4 Otras dependencias especiacuteficas
Iacutendice
Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 14
www6sosorg
2 Aplicaciones IPv6 en nodos duales
bull Se han sustituido las estructuras y funciones de IPv4 por las de IPv6 Dependencias en el coacutedigo fuente con IPv6
bull Intercambian de paquetes IPv6bull Para su funcionamiento en redes IPv4
- Portar a aplicaciones duales - Mantener 2 aplicaciones ping4 y ping6 o- Utilizar direcciones IPv6 a partir de las direcciones IPv4 IPv4-mapped
IPv6 addresses no soportadas en todos las implementaciones
abcdabcd FFFFabcdFFFFabcd
Direccioacuten IPv4 IPv4-mapped IPv6
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 15
www6sosorg
Aplicacioacuten servidor IPv6 en nodo dual
TCP UDP
Nivel enlace
IPv4
TCP UDP
IPv4 IPv6
Direccioacuten IPv4-mapped IPv6 FFFFabcd
Direccioacuten IPv6xxxxxxxx
Cliente IPv4Cliente IPv4
TCP UDP
IPv6
Cliente IPv6Cliente IPv6 Servidor IPv6escucha en 00
Servidor IPv6escucha en 00
Nivel enlace
IPv4
Nivel enlace
IPv6
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 16
www6sosorg
Aplicacioacuten cliente IPv6 en nodo dual
TCP UDP
IPv4 IPv6
Direccioacuten IPv4-mapped IPv6 FFFFabcd
Direccioacuten IPv6xxxxxxxx
Cliente IPv6Cliente IPv6
Nivel enlace
TCP UDP
IPv6
Servidor IPv6Servidor IPv6
Nivel enlace
IPv6
TCP UDP
Nivel enlace
IPv4
Servidor IPv4Servidor IPv4
IPv4
Direccioacuten IPv4abcd
Direccioacuten IPv6xxxxxxxx
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 17
www6sosorg
3 Aplicaciones duales en nodos duales
bull Aplicaciones vaacutelidas para redes IPv4 e IPv6
- Implementacioacuten de aplicaciones clienteResolver nombre de maacutequina del servidor a las posibles direcciones IP Intentar conectar primero usando IPv6 y si fallaprobar con IPv4
- Implementaciones de aplicaciones servidor1 Mantener conexiones diferentes de forma expliacutecita para IPv4 e
IPv6 o2 Desarrollar una aplicacioacuten servidor IPv6 y confiar en las
direcciones IPv4-mapped IPv6 para los clientes IPv4
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 18
www6sosorg
4 Aplicaciones duales en nodos soacutelo IPv4
bull Las aplicaciones duales deberiacutean funcionar en los nodos soacutelo IPv4 para evitar tener varias versiones de la misma aplicacioacuten
REQUISITObull Desarrollar el coacutedigo fuente para que nodos que
no tengan soporte del protocolo IPv6 puedan ejecutar dichas aplicaciones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 19
www6sosorg
Iacutendice
bull Arquitectura de transicioacutenbull Evolucioacuten de aplicacionesbull Escenarios de transicioacuten de aplicacionesbull Dependencias en el coacutedigo fuente
1 Formato de presentacioacuten de las direcciones IP2 Resolucioacuten de nombres3 API de la capa de transporte4 Otras dependencias especiacuteficas
bull Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 20
www6sosorg
1 Formato de presentacioacuten de direcciones IP
bull El formato de presentacioacuten es una cadena que contiene la direccioacuten IP Diferentes en IPv4 e IPv6
IPv4 ldquoabcdrdquoIPv6 ldquoxxxxxxxxrdquo
bull El formato de presentacioacuten en IPv6 necesita maacutes memoria
bull Los analizadores sintaacutecticos de direcciones deben ser revisados para adecuarse al nuevo formato
bull Ambiguumledad con el caraacutecter ldquordquo en URLs (RFC 2732) - http[DireccioacutenIPv6]puerto
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 21
www6sosorg2 Resolucioacuten de nombres
bull Tipos de resolucioacuten- Directa
a partir del nombre de la maacutequina obtener su direccioacuten IP- Inversa
a partir de la direccioacuten IP obtener el nombre de maacutequina
bull Utilizar FQDNbull Las consultasrespuestas de DNS se enviacutean usando
IPv4IPv6 independientemente del tipo de registros que se soliciten
bull RECOMENDACIOacuteN- Usar las funciones de resolucioacuten independientes de
protocolo
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 22
www6sosorg
3 API de la capa de transporte
En el caso concreto del API de sockets existen las siguientes dependencias
- Estructuras de datos para las direcciones IPsockaddr_in sockaddr_in6 sockaddr_storage
- Funciones del API de comunicacionessocket() bind() connect() read()write() hellip
- Funciones de conversioacuten de direccionesentre el formato de presentacioacuten y las estructuras de datos de direcciones
- Opciones de configuracioacuten de red
bull RECOMENDACIOacuteN- Desarrollar aplicaciones independientes de la versioacuten IP
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 23
www6sosorg
Estructuras de datossockaddr sockaddr_in
Port Number
Flow Info
IPv6 Address(128 bits)
Scope ID
FamilyAlign
Padding
Familysockaddr_storagesockaddr_in6
FamilyFamilyPort Number
Data
IPv4 Address(32 bits)
Unused
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 24
www6sosorg
4 Otras dependencias especiacuteficas
bull Seleccioacuten de la direccioacuten IP- Los nodos automaacuteticamente resuelven el problema de la
seleccioacuten de la direccioacuten de origen siguiendo una serie de reglas predefinidas (RFC 3484)
bull Fragmentacioacuten a nivel de aplicacioacuten - Caacutelculo del tamantildeo del fragmento para que no haya
degradacioacuten de prestaciones por fragmentacioacuten a nivel IP
bull Almacenamiento de direcciones IP - No almacenar direcciones IP pueden cambiar Si es necesario
almacenar nombres y solicitar la resolucioacuten en el momento que se necesiten
bull RECOMENDACIOacuteN- Revisar el coacutedigo exhaustivamente
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 25
www6sosorg
Iacutendice
bull Arquitectura de transicioacutenbull Evolucioacuten de aplicacionesbull Escenarios de transicioacuten de aplicacionesbull Dependencias en el coacutedigo fuentebull Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 26
www6sosorg
Conclusiones
bull Desarrollar aplicaciones duales- Vaacutelidas para cualquier tipo de nodo y para comunicarse con
cualquier aplicacioacuten utilizando IPv4 o IPv6- Intentar la comunicacioacuten con cada una de las direcciones IP
obtenidas a traveacutes de las funciones de resolucioacutenbull Usar FQDN
- Eliminar las direcciones IP cableadas del coacutedigobull No almacenar direcciones IPbull Las direcciones ldquoIPv4-mapped IPv6 addressesrdquo no
siempre funcionan- No siempre estaacuten implementadas- En algunos nodos estaacuten deshabilitadas por seguridad
Iacutendice
Arquitectura de transicioacuten
Arquitectura de transicioacuten
Arquitectura de transicioacuten
Arquitectura de transicioacuten
Iacutendice
De aplicaciones v4 a aplicaciones IPv6
2 De aplicaciones IPv4 a aplicaciones duales
3 Transicioacuten gradual
Iacutendice
Aplicaciones IPv4 en nodos duales
BISBIA
2 Aplicaciones IPv6 en nodos duales
Aplicacioacuten servidor IPv6 en nodo dual
Aplicacioacuten cliente IPv6 en nodo dual
3 Aplicaciones duales en nodos duales
4 Aplicaciones duales en nodos soacutelo IPv4
Iacutendice
Formato de presentacioacuten de direcciones IP
2 Resolucioacuten de nombres
3 API de la capa de transporte
Estructuras de datos
4 Otras dependencias especiacuteficas
Iacutendice
Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 15
www6sosorg
Aplicacioacuten servidor IPv6 en nodo dual
TCP UDP
Nivel enlace
IPv4
TCP UDP
IPv4 IPv6
Direccioacuten IPv4-mapped IPv6 FFFFabcd
Direccioacuten IPv6xxxxxxxx
Cliente IPv4Cliente IPv4
TCP UDP
IPv6
Cliente IPv6Cliente IPv6 Servidor IPv6escucha en 00
Servidor IPv6escucha en 00
Nivel enlace
IPv4
Nivel enlace
IPv6
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 16
www6sosorg
Aplicacioacuten cliente IPv6 en nodo dual
TCP UDP
IPv4 IPv6
Direccioacuten IPv4-mapped IPv6 FFFFabcd
Direccioacuten IPv6xxxxxxxx
Cliente IPv6Cliente IPv6
Nivel enlace
TCP UDP
IPv6
Servidor IPv6Servidor IPv6
Nivel enlace
IPv6
TCP UDP
Nivel enlace
IPv4
Servidor IPv4Servidor IPv4
IPv4
Direccioacuten IPv4abcd
Direccioacuten IPv6xxxxxxxx
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 17
www6sosorg
3 Aplicaciones duales en nodos duales
bull Aplicaciones vaacutelidas para redes IPv4 e IPv6
- Implementacioacuten de aplicaciones clienteResolver nombre de maacutequina del servidor a las posibles direcciones IP Intentar conectar primero usando IPv6 y si fallaprobar con IPv4
- Implementaciones de aplicaciones servidor1 Mantener conexiones diferentes de forma expliacutecita para IPv4 e
IPv6 o2 Desarrollar una aplicacioacuten servidor IPv6 y confiar en las
direcciones IPv4-mapped IPv6 para los clientes IPv4
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 18
www6sosorg
4 Aplicaciones duales en nodos soacutelo IPv4
bull Las aplicaciones duales deberiacutean funcionar en los nodos soacutelo IPv4 para evitar tener varias versiones de la misma aplicacioacuten
REQUISITObull Desarrollar el coacutedigo fuente para que nodos que
no tengan soporte del protocolo IPv6 puedan ejecutar dichas aplicaciones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 19
www6sosorg
Iacutendice
bull Arquitectura de transicioacutenbull Evolucioacuten de aplicacionesbull Escenarios de transicioacuten de aplicacionesbull Dependencias en el coacutedigo fuente
1 Formato de presentacioacuten de las direcciones IP2 Resolucioacuten de nombres3 API de la capa de transporte4 Otras dependencias especiacuteficas
bull Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 20
www6sosorg
1 Formato de presentacioacuten de direcciones IP
bull El formato de presentacioacuten es una cadena que contiene la direccioacuten IP Diferentes en IPv4 e IPv6
IPv4 ldquoabcdrdquoIPv6 ldquoxxxxxxxxrdquo
bull El formato de presentacioacuten en IPv6 necesita maacutes memoria
bull Los analizadores sintaacutecticos de direcciones deben ser revisados para adecuarse al nuevo formato
bull Ambiguumledad con el caraacutecter ldquordquo en URLs (RFC 2732) - http[DireccioacutenIPv6]puerto
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 21
www6sosorg2 Resolucioacuten de nombres
bull Tipos de resolucioacuten- Directa
a partir del nombre de la maacutequina obtener su direccioacuten IP- Inversa
a partir de la direccioacuten IP obtener el nombre de maacutequina
bull Utilizar FQDNbull Las consultasrespuestas de DNS se enviacutean usando
IPv4IPv6 independientemente del tipo de registros que se soliciten
bull RECOMENDACIOacuteN- Usar las funciones de resolucioacuten independientes de
protocolo
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 22
www6sosorg
3 API de la capa de transporte
En el caso concreto del API de sockets existen las siguientes dependencias
- Estructuras de datos para las direcciones IPsockaddr_in sockaddr_in6 sockaddr_storage
- Funciones del API de comunicacionessocket() bind() connect() read()write() hellip
- Funciones de conversioacuten de direccionesentre el formato de presentacioacuten y las estructuras de datos de direcciones
- Opciones de configuracioacuten de red
bull RECOMENDACIOacuteN- Desarrollar aplicaciones independientes de la versioacuten IP
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 23
www6sosorg
Estructuras de datossockaddr sockaddr_in
Port Number
Flow Info
IPv6 Address(128 bits)
Scope ID
FamilyAlign
Padding
Familysockaddr_storagesockaddr_in6
FamilyFamilyPort Number
Data
IPv4 Address(32 bits)
Unused
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 24
www6sosorg
4 Otras dependencias especiacuteficas
bull Seleccioacuten de la direccioacuten IP- Los nodos automaacuteticamente resuelven el problema de la
seleccioacuten de la direccioacuten de origen siguiendo una serie de reglas predefinidas (RFC 3484)
bull Fragmentacioacuten a nivel de aplicacioacuten - Caacutelculo del tamantildeo del fragmento para que no haya
degradacioacuten de prestaciones por fragmentacioacuten a nivel IP
bull Almacenamiento de direcciones IP - No almacenar direcciones IP pueden cambiar Si es necesario
almacenar nombres y solicitar la resolucioacuten en el momento que se necesiten
bull RECOMENDACIOacuteN- Revisar el coacutedigo exhaustivamente
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 25
www6sosorg
Iacutendice
bull Arquitectura de transicioacutenbull Evolucioacuten de aplicacionesbull Escenarios de transicioacuten de aplicacionesbull Dependencias en el coacutedigo fuentebull Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 26
www6sosorg
Conclusiones
bull Desarrollar aplicaciones duales- Vaacutelidas para cualquier tipo de nodo y para comunicarse con
cualquier aplicacioacuten utilizando IPv4 o IPv6- Intentar la comunicacioacuten con cada una de las direcciones IP
obtenidas a traveacutes de las funciones de resolucioacutenbull Usar FQDN
- Eliminar las direcciones IP cableadas del coacutedigobull No almacenar direcciones IPbull Las direcciones ldquoIPv4-mapped IPv6 addressesrdquo no
siempre funcionan- No siempre estaacuten implementadas- En algunos nodos estaacuten deshabilitadas por seguridad
Iacutendice
Arquitectura de transicioacuten
Arquitectura de transicioacuten
Arquitectura de transicioacuten
Arquitectura de transicioacuten
Iacutendice
De aplicaciones v4 a aplicaciones IPv6
2 De aplicaciones IPv4 a aplicaciones duales
3 Transicioacuten gradual
Iacutendice
Aplicaciones IPv4 en nodos duales
BISBIA
2 Aplicaciones IPv6 en nodos duales
Aplicacioacuten servidor IPv6 en nodo dual
Aplicacioacuten cliente IPv6 en nodo dual
3 Aplicaciones duales en nodos duales
4 Aplicaciones duales en nodos soacutelo IPv4
Iacutendice
Formato de presentacioacuten de direcciones IP
2 Resolucioacuten de nombres
3 API de la capa de transporte
Estructuras de datos
4 Otras dependencias especiacuteficas
Iacutendice
Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 16
www6sosorg
Aplicacioacuten cliente IPv6 en nodo dual
TCP UDP
IPv4 IPv6
Direccioacuten IPv4-mapped IPv6 FFFFabcd
Direccioacuten IPv6xxxxxxxx
Cliente IPv6Cliente IPv6
Nivel enlace
TCP UDP
IPv6
Servidor IPv6Servidor IPv6
Nivel enlace
IPv6
TCP UDP
Nivel enlace
IPv4
Servidor IPv4Servidor IPv4
IPv4
Direccioacuten IPv4abcd
Direccioacuten IPv6xxxxxxxx
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 17
www6sosorg
3 Aplicaciones duales en nodos duales
bull Aplicaciones vaacutelidas para redes IPv4 e IPv6
- Implementacioacuten de aplicaciones clienteResolver nombre de maacutequina del servidor a las posibles direcciones IP Intentar conectar primero usando IPv6 y si fallaprobar con IPv4
- Implementaciones de aplicaciones servidor1 Mantener conexiones diferentes de forma expliacutecita para IPv4 e
IPv6 o2 Desarrollar una aplicacioacuten servidor IPv6 y confiar en las
direcciones IPv4-mapped IPv6 para los clientes IPv4
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 18
www6sosorg
4 Aplicaciones duales en nodos soacutelo IPv4
bull Las aplicaciones duales deberiacutean funcionar en los nodos soacutelo IPv4 para evitar tener varias versiones de la misma aplicacioacuten
REQUISITObull Desarrollar el coacutedigo fuente para que nodos que
no tengan soporte del protocolo IPv6 puedan ejecutar dichas aplicaciones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 19
www6sosorg
Iacutendice
bull Arquitectura de transicioacutenbull Evolucioacuten de aplicacionesbull Escenarios de transicioacuten de aplicacionesbull Dependencias en el coacutedigo fuente
1 Formato de presentacioacuten de las direcciones IP2 Resolucioacuten de nombres3 API de la capa de transporte4 Otras dependencias especiacuteficas
bull Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 20
www6sosorg
1 Formato de presentacioacuten de direcciones IP
bull El formato de presentacioacuten es una cadena que contiene la direccioacuten IP Diferentes en IPv4 e IPv6
IPv4 ldquoabcdrdquoIPv6 ldquoxxxxxxxxrdquo
bull El formato de presentacioacuten en IPv6 necesita maacutes memoria
bull Los analizadores sintaacutecticos de direcciones deben ser revisados para adecuarse al nuevo formato
bull Ambiguumledad con el caraacutecter ldquordquo en URLs (RFC 2732) - http[DireccioacutenIPv6]puerto
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 21
www6sosorg2 Resolucioacuten de nombres
bull Tipos de resolucioacuten- Directa
a partir del nombre de la maacutequina obtener su direccioacuten IP- Inversa
a partir de la direccioacuten IP obtener el nombre de maacutequina
bull Utilizar FQDNbull Las consultasrespuestas de DNS se enviacutean usando
IPv4IPv6 independientemente del tipo de registros que se soliciten
bull RECOMENDACIOacuteN- Usar las funciones de resolucioacuten independientes de
protocolo
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 22
www6sosorg
3 API de la capa de transporte
En el caso concreto del API de sockets existen las siguientes dependencias
- Estructuras de datos para las direcciones IPsockaddr_in sockaddr_in6 sockaddr_storage
- Funciones del API de comunicacionessocket() bind() connect() read()write() hellip
- Funciones de conversioacuten de direccionesentre el formato de presentacioacuten y las estructuras de datos de direcciones
- Opciones de configuracioacuten de red
bull RECOMENDACIOacuteN- Desarrollar aplicaciones independientes de la versioacuten IP
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 23
www6sosorg
Estructuras de datossockaddr sockaddr_in
Port Number
Flow Info
IPv6 Address(128 bits)
Scope ID
FamilyAlign
Padding
Familysockaddr_storagesockaddr_in6
FamilyFamilyPort Number
Data
IPv4 Address(32 bits)
Unused
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 24
www6sosorg
4 Otras dependencias especiacuteficas
bull Seleccioacuten de la direccioacuten IP- Los nodos automaacuteticamente resuelven el problema de la
seleccioacuten de la direccioacuten de origen siguiendo una serie de reglas predefinidas (RFC 3484)
bull Fragmentacioacuten a nivel de aplicacioacuten - Caacutelculo del tamantildeo del fragmento para que no haya
degradacioacuten de prestaciones por fragmentacioacuten a nivel IP
bull Almacenamiento de direcciones IP - No almacenar direcciones IP pueden cambiar Si es necesario
almacenar nombres y solicitar la resolucioacuten en el momento que se necesiten
bull RECOMENDACIOacuteN- Revisar el coacutedigo exhaustivamente
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 25
www6sosorg
Iacutendice
bull Arquitectura de transicioacutenbull Evolucioacuten de aplicacionesbull Escenarios de transicioacuten de aplicacionesbull Dependencias en el coacutedigo fuentebull Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 26
www6sosorg
Conclusiones
bull Desarrollar aplicaciones duales- Vaacutelidas para cualquier tipo de nodo y para comunicarse con
cualquier aplicacioacuten utilizando IPv4 o IPv6- Intentar la comunicacioacuten con cada una de las direcciones IP
obtenidas a traveacutes de las funciones de resolucioacutenbull Usar FQDN
- Eliminar las direcciones IP cableadas del coacutedigobull No almacenar direcciones IPbull Las direcciones ldquoIPv4-mapped IPv6 addressesrdquo no
siempre funcionan- No siempre estaacuten implementadas- En algunos nodos estaacuten deshabilitadas por seguridad
Iacutendice
Arquitectura de transicioacuten
Arquitectura de transicioacuten
Arquitectura de transicioacuten
Arquitectura de transicioacuten
Iacutendice
De aplicaciones v4 a aplicaciones IPv6
2 De aplicaciones IPv4 a aplicaciones duales
3 Transicioacuten gradual
Iacutendice
Aplicaciones IPv4 en nodos duales
BISBIA
2 Aplicaciones IPv6 en nodos duales
Aplicacioacuten servidor IPv6 en nodo dual
Aplicacioacuten cliente IPv6 en nodo dual
3 Aplicaciones duales en nodos duales
4 Aplicaciones duales en nodos soacutelo IPv4
Iacutendice
Formato de presentacioacuten de direcciones IP
2 Resolucioacuten de nombres
3 API de la capa de transporte
Estructuras de datos
4 Otras dependencias especiacuteficas
Iacutendice
Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 17
www6sosorg
3 Aplicaciones duales en nodos duales
bull Aplicaciones vaacutelidas para redes IPv4 e IPv6
- Implementacioacuten de aplicaciones clienteResolver nombre de maacutequina del servidor a las posibles direcciones IP Intentar conectar primero usando IPv6 y si fallaprobar con IPv4
- Implementaciones de aplicaciones servidor1 Mantener conexiones diferentes de forma expliacutecita para IPv4 e
IPv6 o2 Desarrollar una aplicacioacuten servidor IPv6 y confiar en las
direcciones IPv4-mapped IPv6 para los clientes IPv4
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 18
www6sosorg
4 Aplicaciones duales en nodos soacutelo IPv4
bull Las aplicaciones duales deberiacutean funcionar en los nodos soacutelo IPv4 para evitar tener varias versiones de la misma aplicacioacuten
REQUISITObull Desarrollar el coacutedigo fuente para que nodos que
no tengan soporte del protocolo IPv6 puedan ejecutar dichas aplicaciones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 19
www6sosorg
Iacutendice
bull Arquitectura de transicioacutenbull Evolucioacuten de aplicacionesbull Escenarios de transicioacuten de aplicacionesbull Dependencias en el coacutedigo fuente
1 Formato de presentacioacuten de las direcciones IP2 Resolucioacuten de nombres3 API de la capa de transporte4 Otras dependencias especiacuteficas
bull Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 20
www6sosorg
1 Formato de presentacioacuten de direcciones IP
bull El formato de presentacioacuten es una cadena que contiene la direccioacuten IP Diferentes en IPv4 e IPv6
IPv4 ldquoabcdrdquoIPv6 ldquoxxxxxxxxrdquo
bull El formato de presentacioacuten en IPv6 necesita maacutes memoria
bull Los analizadores sintaacutecticos de direcciones deben ser revisados para adecuarse al nuevo formato
bull Ambiguumledad con el caraacutecter ldquordquo en URLs (RFC 2732) - http[DireccioacutenIPv6]puerto
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 21
www6sosorg2 Resolucioacuten de nombres
bull Tipos de resolucioacuten- Directa
a partir del nombre de la maacutequina obtener su direccioacuten IP- Inversa
a partir de la direccioacuten IP obtener el nombre de maacutequina
bull Utilizar FQDNbull Las consultasrespuestas de DNS se enviacutean usando
IPv4IPv6 independientemente del tipo de registros que se soliciten
bull RECOMENDACIOacuteN- Usar las funciones de resolucioacuten independientes de
protocolo
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 22
www6sosorg
3 API de la capa de transporte
En el caso concreto del API de sockets existen las siguientes dependencias
- Estructuras de datos para las direcciones IPsockaddr_in sockaddr_in6 sockaddr_storage
- Funciones del API de comunicacionessocket() bind() connect() read()write() hellip
- Funciones de conversioacuten de direccionesentre el formato de presentacioacuten y las estructuras de datos de direcciones
- Opciones de configuracioacuten de red
bull RECOMENDACIOacuteN- Desarrollar aplicaciones independientes de la versioacuten IP
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 23
www6sosorg
Estructuras de datossockaddr sockaddr_in
Port Number
Flow Info
IPv6 Address(128 bits)
Scope ID
FamilyAlign
Padding
Familysockaddr_storagesockaddr_in6
FamilyFamilyPort Number
Data
IPv4 Address(32 bits)
Unused
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 24
www6sosorg
4 Otras dependencias especiacuteficas
bull Seleccioacuten de la direccioacuten IP- Los nodos automaacuteticamente resuelven el problema de la
seleccioacuten de la direccioacuten de origen siguiendo una serie de reglas predefinidas (RFC 3484)
bull Fragmentacioacuten a nivel de aplicacioacuten - Caacutelculo del tamantildeo del fragmento para que no haya
degradacioacuten de prestaciones por fragmentacioacuten a nivel IP
bull Almacenamiento de direcciones IP - No almacenar direcciones IP pueden cambiar Si es necesario
almacenar nombres y solicitar la resolucioacuten en el momento que se necesiten
bull RECOMENDACIOacuteN- Revisar el coacutedigo exhaustivamente
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 25
www6sosorg
Iacutendice
bull Arquitectura de transicioacutenbull Evolucioacuten de aplicacionesbull Escenarios de transicioacuten de aplicacionesbull Dependencias en el coacutedigo fuentebull Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 26
www6sosorg
Conclusiones
bull Desarrollar aplicaciones duales- Vaacutelidas para cualquier tipo de nodo y para comunicarse con
cualquier aplicacioacuten utilizando IPv4 o IPv6- Intentar la comunicacioacuten con cada una de las direcciones IP
obtenidas a traveacutes de las funciones de resolucioacutenbull Usar FQDN
- Eliminar las direcciones IP cableadas del coacutedigobull No almacenar direcciones IPbull Las direcciones ldquoIPv4-mapped IPv6 addressesrdquo no
siempre funcionan- No siempre estaacuten implementadas- En algunos nodos estaacuten deshabilitadas por seguridad
Iacutendice
Arquitectura de transicioacuten
Arquitectura de transicioacuten
Arquitectura de transicioacuten
Arquitectura de transicioacuten
Iacutendice
De aplicaciones v4 a aplicaciones IPv6
2 De aplicaciones IPv4 a aplicaciones duales
3 Transicioacuten gradual
Iacutendice
Aplicaciones IPv4 en nodos duales
BISBIA
2 Aplicaciones IPv6 en nodos duales
Aplicacioacuten servidor IPv6 en nodo dual
Aplicacioacuten cliente IPv6 en nodo dual
3 Aplicaciones duales en nodos duales
4 Aplicaciones duales en nodos soacutelo IPv4
Iacutendice
Formato de presentacioacuten de direcciones IP
2 Resolucioacuten de nombres
3 API de la capa de transporte
Estructuras de datos
4 Otras dependencias especiacuteficas
Iacutendice
Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 18
www6sosorg
4 Aplicaciones duales en nodos soacutelo IPv4
bull Las aplicaciones duales deberiacutean funcionar en los nodos soacutelo IPv4 para evitar tener varias versiones de la misma aplicacioacuten
REQUISITObull Desarrollar el coacutedigo fuente para que nodos que
no tengan soporte del protocolo IPv6 puedan ejecutar dichas aplicaciones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 19
www6sosorg
Iacutendice
bull Arquitectura de transicioacutenbull Evolucioacuten de aplicacionesbull Escenarios de transicioacuten de aplicacionesbull Dependencias en el coacutedigo fuente
1 Formato de presentacioacuten de las direcciones IP2 Resolucioacuten de nombres3 API de la capa de transporte4 Otras dependencias especiacuteficas
bull Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 20
www6sosorg
1 Formato de presentacioacuten de direcciones IP
bull El formato de presentacioacuten es una cadena que contiene la direccioacuten IP Diferentes en IPv4 e IPv6
IPv4 ldquoabcdrdquoIPv6 ldquoxxxxxxxxrdquo
bull El formato de presentacioacuten en IPv6 necesita maacutes memoria
bull Los analizadores sintaacutecticos de direcciones deben ser revisados para adecuarse al nuevo formato
bull Ambiguumledad con el caraacutecter ldquordquo en URLs (RFC 2732) - http[DireccioacutenIPv6]puerto
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 21
www6sosorg2 Resolucioacuten de nombres
bull Tipos de resolucioacuten- Directa
a partir del nombre de la maacutequina obtener su direccioacuten IP- Inversa
a partir de la direccioacuten IP obtener el nombre de maacutequina
bull Utilizar FQDNbull Las consultasrespuestas de DNS se enviacutean usando
IPv4IPv6 independientemente del tipo de registros que se soliciten
bull RECOMENDACIOacuteN- Usar las funciones de resolucioacuten independientes de
protocolo
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 22
www6sosorg
3 API de la capa de transporte
En el caso concreto del API de sockets existen las siguientes dependencias
- Estructuras de datos para las direcciones IPsockaddr_in sockaddr_in6 sockaddr_storage
- Funciones del API de comunicacionessocket() bind() connect() read()write() hellip
- Funciones de conversioacuten de direccionesentre el formato de presentacioacuten y las estructuras de datos de direcciones
- Opciones de configuracioacuten de red
bull RECOMENDACIOacuteN- Desarrollar aplicaciones independientes de la versioacuten IP
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 23
www6sosorg
Estructuras de datossockaddr sockaddr_in
Port Number
Flow Info
IPv6 Address(128 bits)
Scope ID
FamilyAlign
Padding
Familysockaddr_storagesockaddr_in6
FamilyFamilyPort Number
Data
IPv4 Address(32 bits)
Unused
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 24
www6sosorg
4 Otras dependencias especiacuteficas
bull Seleccioacuten de la direccioacuten IP- Los nodos automaacuteticamente resuelven el problema de la
seleccioacuten de la direccioacuten de origen siguiendo una serie de reglas predefinidas (RFC 3484)
bull Fragmentacioacuten a nivel de aplicacioacuten - Caacutelculo del tamantildeo del fragmento para que no haya
degradacioacuten de prestaciones por fragmentacioacuten a nivel IP
bull Almacenamiento de direcciones IP - No almacenar direcciones IP pueden cambiar Si es necesario
almacenar nombres y solicitar la resolucioacuten en el momento que se necesiten
bull RECOMENDACIOacuteN- Revisar el coacutedigo exhaustivamente
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 25
www6sosorg
Iacutendice
bull Arquitectura de transicioacutenbull Evolucioacuten de aplicacionesbull Escenarios de transicioacuten de aplicacionesbull Dependencias en el coacutedigo fuentebull Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 26
www6sosorg
Conclusiones
bull Desarrollar aplicaciones duales- Vaacutelidas para cualquier tipo de nodo y para comunicarse con
cualquier aplicacioacuten utilizando IPv4 o IPv6- Intentar la comunicacioacuten con cada una de las direcciones IP
obtenidas a traveacutes de las funciones de resolucioacutenbull Usar FQDN
- Eliminar las direcciones IP cableadas del coacutedigobull No almacenar direcciones IPbull Las direcciones ldquoIPv4-mapped IPv6 addressesrdquo no
siempre funcionan- No siempre estaacuten implementadas- En algunos nodos estaacuten deshabilitadas por seguridad
Iacutendice
Arquitectura de transicioacuten
Arquitectura de transicioacuten
Arquitectura de transicioacuten
Arquitectura de transicioacuten
Iacutendice
De aplicaciones v4 a aplicaciones IPv6
2 De aplicaciones IPv4 a aplicaciones duales
3 Transicioacuten gradual
Iacutendice
Aplicaciones IPv4 en nodos duales
BISBIA
2 Aplicaciones IPv6 en nodos duales
Aplicacioacuten servidor IPv6 en nodo dual
Aplicacioacuten cliente IPv6 en nodo dual
3 Aplicaciones duales en nodos duales
4 Aplicaciones duales en nodos soacutelo IPv4
Iacutendice
Formato de presentacioacuten de direcciones IP
2 Resolucioacuten de nombres
3 API de la capa de transporte
Estructuras de datos
4 Otras dependencias especiacuteficas
Iacutendice
Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 19
www6sosorg
Iacutendice
bull Arquitectura de transicioacutenbull Evolucioacuten de aplicacionesbull Escenarios de transicioacuten de aplicacionesbull Dependencias en el coacutedigo fuente
1 Formato de presentacioacuten de las direcciones IP2 Resolucioacuten de nombres3 API de la capa de transporte4 Otras dependencias especiacuteficas
bull Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 20
www6sosorg
1 Formato de presentacioacuten de direcciones IP
bull El formato de presentacioacuten es una cadena que contiene la direccioacuten IP Diferentes en IPv4 e IPv6
IPv4 ldquoabcdrdquoIPv6 ldquoxxxxxxxxrdquo
bull El formato de presentacioacuten en IPv6 necesita maacutes memoria
bull Los analizadores sintaacutecticos de direcciones deben ser revisados para adecuarse al nuevo formato
bull Ambiguumledad con el caraacutecter ldquordquo en URLs (RFC 2732) - http[DireccioacutenIPv6]puerto
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 21
www6sosorg2 Resolucioacuten de nombres
bull Tipos de resolucioacuten- Directa
a partir del nombre de la maacutequina obtener su direccioacuten IP- Inversa
a partir de la direccioacuten IP obtener el nombre de maacutequina
bull Utilizar FQDNbull Las consultasrespuestas de DNS se enviacutean usando
IPv4IPv6 independientemente del tipo de registros que se soliciten
bull RECOMENDACIOacuteN- Usar las funciones de resolucioacuten independientes de
protocolo
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 22
www6sosorg
3 API de la capa de transporte
En el caso concreto del API de sockets existen las siguientes dependencias
- Estructuras de datos para las direcciones IPsockaddr_in sockaddr_in6 sockaddr_storage
- Funciones del API de comunicacionessocket() bind() connect() read()write() hellip
- Funciones de conversioacuten de direccionesentre el formato de presentacioacuten y las estructuras de datos de direcciones
- Opciones de configuracioacuten de red
bull RECOMENDACIOacuteN- Desarrollar aplicaciones independientes de la versioacuten IP
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 23
www6sosorg
Estructuras de datossockaddr sockaddr_in
Port Number
Flow Info
IPv6 Address(128 bits)
Scope ID
FamilyAlign
Padding
Familysockaddr_storagesockaddr_in6
FamilyFamilyPort Number
Data
IPv4 Address(32 bits)
Unused
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 24
www6sosorg
4 Otras dependencias especiacuteficas
bull Seleccioacuten de la direccioacuten IP- Los nodos automaacuteticamente resuelven el problema de la
seleccioacuten de la direccioacuten de origen siguiendo una serie de reglas predefinidas (RFC 3484)
bull Fragmentacioacuten a nivel de aplicacioacuten - Caacutelculo del tamantildeo del fragmento para que no haya
degradacioacuten de prestaciones por fragmentacioacuten a nivel IP
bull Almacenamiento de direcciones IP - No almacenar direcciones IP pueden cambiar Si es necesario
almacenar nombres y solicitar la resolucioacuten en el momento que se necesiten
bull RECOMENDACIOacuteN- Revisar el coacutedigo exhaustivamente
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 25
www6sosorg
Iacutendice
bull Arquitectura de transicioacutenbull Evolucioacuten de aplicacionesbull Escenarios de transicioacuten de aplicacionesbull Dependencias en el coacutedigo fuentebull Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 26
www6sosorg
Conclusiones
bull Desarrollar aplicaciones duales- Vaacutelidas para cualquier tipo de nodo y para comunicarse con
cualquier aplicacioacuten utilizando IPv4 o IPv6- Intentar la comunicacioacuten con cada una de las direcciones IP
obtenidas a traveacutes de las funciones de resolucioacutenbull Usar FQDN
- Eliminar las direcciones IP cableadas del coacutedigobull No almacenar direcciones IPbull Las direcciones ldquoIPv4-mapped IPv6 addressesrdquo no
siempre funcionan- No siempre estaacuten implementadas- En algunos nodos estaacuten deshabilitadas por seguridad
Iacutendice
Arquitectura de transicioacuten
Arquitectura de transicioacuten
Arquitectura de transicioacuten
Arquitectura de transicioacuten
Iacutendice
De aplicaciones v4 a aplicaciones IPv6
2 De aplicaciones IPv4 a aplicaciones duales
3 Transicioacuten gradual
Iacutendice
Aplicaciones IPv4 en nodos duales
BISBIA
2 Aplicaciones IPv6 en nodos duales
Aplicacioacuten servidor IPv6 en nodo dual
Aplicacioacuten cliente IPv6 en nodo dual
3 Aplicaciones duales en nodos duales
4 Aplicaciones duales en nodos soacutelo IPv4
Iacutendice
Formato de presentacioacuten de direcciones IP
2 Resolucioacuten de nombres
3 API de la capa de transporte
Estructuras de datos
4 Otras dependencias especiacuteficas
Iacutendice
Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 20
www6sosorg
1 Formato de presentacioacuten de direcciones IP
bull El formato de presentacioacuten es una cadena que contiene la direccioacuten IP Diferentes en IPv4 e IPv6
IPv4 ldquoabcdrdquoIPv6 ldquoxxxxxxxxrdquo
bull El formato de presentacioacuten en IPv6 necesita maacutes memoria
bull Los analizadores sintaacutecticos de direcciones deben ser revisados para adecuarse al nuevo formato
bull Ambiguumledad con el caraacutecter ldquordquo en URLs (RFC 2732) - http[DireccioacutenIPv6]puerto
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 21
www6sosorg2 Resolucioacuten de nombres
bull Tipos de resolucioacuten- Directa
a partir del nombre de la maacutequina obtener su direccioacuten IP- Inversa
a partir de la direccioacuten IP obtener el nombre de maacutequina
bull Utilizar FQDNbull Las consultasrespuestas de DNS se enviacutean usando
IPv4IPv6 independientemente del tipo de registros que se soliciten
bull RECOMENDACIOacuteN- Usar las funciones de resolucioacuten independientes de
protocolo
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 22
www6sosorg
3 API de la capa de transporte
En el caso concreto del API de sockets existen las siguientes dependencias
- Estructuras de datos para las direcciones IPsockaddr_in sockaddr_in6 sockaddr_storage
- Funciones del API de comunicacionessocket() bind() connect() read()write() hellip
- Funciones de conversioacuten de direccionesentre el formato de presentacioacuten y las estructuras de datos de direcciones
- Opciones de configuracioacuten de red
bull RECOMENDACIOacuteN- Desarrollar aplicaciones independientes de la versioacuten IP
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 23
www6sosorg
Estructuras de datossockaddr sockaddr_in
Port Number
Flow Info
IPv6 Address(128 bits)
Scope ID
FamilyAlign
Padding
Familysockaddr_storagesockaddr_in6
FamilyFamilyPort Number
Data
IPv4 Address(32 bits)
Unused
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 24
www6sosorg
4 Otras dependencias especiacuteficas
bull Seleccioacuten de la direccioacuten IP- Los nodos automaacuteticamente resuelven el problema de la
seleccioacuten de la direccioacuten de origen siguiendo una serie de reglas predefinidas (RFC 3484)
bull Fragmentacioacuten a nivel de aplicacioacuten - Caacutelculo del tamantildeo del fragmento para que no haya
degradacioacuten de prestaciones por fragmentacioacuten a nivel IP
bull Almacenamiento de direcciones IP - No almacenar direcciones IP pueden cambiar Si es necesario
almacenar nombres y solicitar la resolucioacuten en el momento que se necesiten
bull RECOMENDACIOacuteN- Revisar el coacutedigo exhaustivamente
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 25
www6sosorg
Iacutendice
bull Arquitectura de transicioacutenbull Evolucioacuten de aplicacionesbull Escenarios de transicioacuten de aplicacionesbull Dependencias en el coacutedigo fuentebull Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 26
www6sosorg
Conclusiones
bull Desarrollar aplicaciones duales- Vaacutelidas para cualquier tipo de nodo y para comunicarse con
cualquier aplicacioacuten utilizando IPv4 o IPv6- Intentar la comunicacioacuten con cada una de las direcciones IP
obtenidas a traveacutes de las funciones de resolucioacutenbull Usar FQDN
- Eliminar las direcciones IP cableadas del coacutedigobull No almacenar direcciones IPbull Las direcciones ldquoIPv4-mapped IPv6 addressesrdquo no
siempre funcionan- No siempre estaacuten implementadas- En algunos nodos estaacuten deshabilitadas por seguridad
Iacutendice
Arquitectura de transicioacuten
Arquitectura de transicioacuten
Arquitectura de transicioacuten
Arquitectura de transicioacuten
Iacutendice
De aplicaciones v4 a aplicaciones IPv6
2 De aplicaciones IPv4 a aplicaciones duales
3 Transicioacuten gradual
Iacutendice
Aplicaciones IPv4 en nodos duales
BISBIA
2 Aplicaciones IPv6 en nodos duales
Aplicacioacuten servidor IPv6 en nodo dual
Aplicacioacuten cliente IPv6 en nodo dual
3 Aplicaciones duales en nodos duales
4 Aplicaciones duales en nodos soacutelo IPv4
Iacutendice
Formato de presentacioacuten de direcciones IP
2 Resolucioacuten de nombres
3 API de la capa de transporte
Estructuras de datos
4 Otras dependencias especiacuteficas
Iacutendice
Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 21
www6sosorg2 Resolucioacuten de nombres
bull Tipos de resolucioacuten- Directa
a partir del nombre de la maacutequina obtener su direccioacuten IP- Inversa
a partir de la direccioacuten IP obtener el nombre de maacutequina
bull Utilizar FQDNbull Las consultasrespuestas de DNS se enviacutean usando
IPv4IPv6 independientemente del tipo de registros que se soliciten
bull RECOMENDACIOacuteN- Usar las funciones de resolucioacuten independientes de
protocolo
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 22
www6sosorg
3 API de la capa de transporte
En el caso concreto del API de sockets existen las siguientes dependencias
- Estructuras de datos para las direcciones IPsockaddr_in sockaddr_in6 sockaddr_storage
- Funciones del API de comunicacionessocket() bind() connect() read()write() hellip
- Funciones de conversioacuten de direccionesentre el formato de presentacioacuten y las estructuras de datos de direcciones
- Opciones de configuracioacuten de red
bull RECOMENDACIOacuteN- Desarrollar aplicaciones independientes de la versioacuten IP
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 23
www6sosorg
Estructuras de datossockaddr sockaddr_in
Port Number
Flow Info
IPv6 Address(128 bits)
Scope ID
FamilyAlign
Padding
Familysockaddr_storagesockaddr_in6
FamilyFamilyPort Number
Data
IPv4 Address(32 bits)
Unused
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 24
www6sosorg
4 Otras dependencias especiacuteficas
bull Seleccioacuten de la direccioacuten IP- Los nodos automaacuteticamente resuelven el problema de la
seleccioacuten de la direccioacuten de origen siguiendo una serie de reglas predefinidas (RFC 3484)
bull Fragmentacioacuten a nivel de aplicacioacuten - Caacutelculo del tamantildeo del fragmento para que no haya
degradacioacuten de prestaciones por fragmentacioacuten a nivel IP
bull Almacenamiento de direcciones IP - No almacenar direcciones IP pueden cambiar Si es necesario
almacenar nombres y solicitar la resolucioacuten en el momento que se necesiten
bull RECOMENDACIOacuteN- Revisar el coacutedigo exhaustivamente
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 25
www6sosorg
Iacutendice
bull Arquitectura de transicioacutenbull Evolucioacuten de aplicacionesbull Escenarios de transicioacuten de aplicacionesbull Dependencias en el coacutedigo fuentebull Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 26
www6sosorg
Conclusiones
bull Desarrollar aplicaciones duales- Vaacutelidas para cualquier tipo de nodo y para comunicarse con
cualquier aplicacioacuten utilizando IPv4 o IPv6- Intentar la comunicacioacuten con cada una de las direcciones IP
obtenidas a traveacutes de las funciones de resolucioacutenbull Usar FQDN
- Eliminar las direcciones IP cableadas del coacutedigobull No almacenar direcciones IPbull Las direcciones ldquoIPv4-mapped IPv6 addressesrdquo no
siempre funcionan- No siempre estaacuten implementadas- En algunos nodos estaacuten deshabilitadas por seguridad
Iacutendice
Arquitectura de transicioacuten
Arquitectura de transicioacuten
Arquitectura de transicioacuten
Arquitectura de transicioacuten
Iacutendice
De aplicaciones v4 a aplicaciones IPv6
2 De aplicaciones IPv4 a aplicaciones duales
3 Transicioacuten gradual
Iacutendice
Aplicaciones IPv4 en nodos duales
BISBIA
2 Aplicaciones IPv6 en nodos duales
Aplicacioacuten servidor IPv6 en nodo dual
Aplicacioacuten cliente IPv6 en nodo dual
3 Aplicaciones duales en nodos duales
4 Aplicaciones duales en nodos soacutelo IPv4
Iacutendice
Formato de presentacioacuten de direcciones IP
2 Resolucioacuten de nombres
3 API de la capa de transporte
Estructuras de datos
4 Otras dependencias especiacuteficas
Iacutendice
Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 22
www6sosorg
3 API de la capa de transporte
En el caso concreto del API de sockets existen las siguientes dependencias
- Estructuras de datos para las direcciones IPsockaddr_in sockaddr_in6 sockaddr_storage
- Funciones del API de comunicacionessocket() bind() connect() read()write() hellip
- Funciones de conversioacuten de direccionesentre el formato de presentacioacuten y las estructuras de datos de direcciones
- Opciones de configuracioacuten de red
bull RECOMENDACIOacuteN- Desarrollar aplicaciones independientes de la versioacuten IP
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 23
www6sosorg
Estructuras de datossockaddr sockaddr_in
Port Number
Flow Info
IPv6 Address(128 bits)
Scope ID
FamilyAlign
Padding
Familysockaddr_storagesockaddr_in6
FamilyFamilyPort Number
Data
IPv4 Address(32 bits)
Unused
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 24
www6sosorg
4 Otras dependencias especiacuteficas
bull Seleccioacuten de la direccioacuten IP- Los nodos automaacuteticamente resuelven el problema de la
seleccioacuten de la direccioacuten de origen siguiendo una serie de reglas predefinidas (RFC 3484)
bull Fragmentacioacuten a nivel de aplicacioacuten - Caacutelculo del tamantildeo del fragmento para que no haya
degradacioacuten de prestaciones por fragmentacioacuten a nivel IP
bull Almacenamiento de direcciones IP - No almacenar direcciones IP pueden cambiar Si es necesario
almacenar nombres y solicitar la resolucioacuten en el momento que se necesiten
bull RECOMENDACIOacuteN- Revisar el coacutedigo exhaustivamente
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 25
www6sosorg
Iacutendice
bull Arquitectura de transicioacutenbull Evolucioacuten de aplicacionesbull Escenarios de transicioacuten de aplicacionesbull Dependencias en el coacutedigo fuentebull Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 26
www6sosorg
Conclusiones
bull Desarrollar aplicaciones duales- Vaacutelidas para cualquier tipo de nodo y para comunicarse con
cualquier aplicacioacuten utilizando IPv4 o IPv6- Intentar la comunicacioacuten con cada una de las direcciones IP
obtenidas a traveacutes de las funciones de resolucioacutenbull Usar FQDN
- Eliminar las direcciones IP cableadas del coacutedigobull No almacenar direcciones IPbull Las direcciones ldquoIPv4-mapped IPv6 addressesrdquo no
siempre funcionan- No siempre estaacuten implementadas- En algunos nodos estaacuten deshabilitadas por seguridad
Iacutendice
Arquitectura de transicioacuten
Arquitectura de transicioacuten
Arquitectura de transicioacuten
Arquitectura de transicioacuten
Iacutendice
De aplicaciones v4 a aplicaciones IPv6
2 De aplicaciones IPv4 a aplicaciones duales
3 Transicioacuten gradual
Iacutendice
Aplicaciones IPv4 en nodos duales
BISBIA
2 Aplicaciones IPv6 en nodos duales
Aplicacioacuten servidor IPv6 en nodo dual
Aplicacioacuten cliente IPv6 en nodo dual
3 Aplicaciones duales en nodos duales
4 Aplicaciones duales en nodos soacutelo IPv4
Iacutendice
Formato de presentacioacuten de direcciones IP
2 Resolucioacuten de nombres
3 API de la capa de transporte
Estructuras de datos
4 Otras dependencias especiacuteficas
Iacutendice
Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 23
www6sosorg
Estructuras de datossockaddr sockaddr_in
Port Number
Flow Info
IPv6 Address(128 bits)
Scope ID
FamilyAlign
Padding
Familysockaddr_storagesockaddr_in6
FamilyFamilyPort Number
Data
IPv4 Address(32 bits)
Unused
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 24
www6sosorg
4 Otras dependencias especiacuteficas
bull Seleccioacuten de la direccioacuten IP- Los nodos automaacuteticamente resuelven el problema de la
seleccioacuten de la direccioacuten de origen siguiendo una serie de reglas predefinidas (RFC 3484)
bull Fragmentacioacuten a nivel de aplicacioacuten - Caacutelculo del tamantildeo del fragmento para que no haya
degradacioacuten de prestaciones por fragmentacioacuten a nivel IP
bull Almacenamiento de direcciones IP - No almacenar direcciones IP pueden cambiar Si es necesario
almacenar nombres y solicitar la resolucioacuten en el momento que se necesiten
bull RECOMENDACIOacuteN- Revisar el coacutedigo exhaustivamente
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 25
www6sosorg
Iacutendice
bull Arquitectura de transicioacutenbull Evolucioacuten de aplicacionesbull Escenarios de transicioacuten de aplicacionesbull Dependencias en el coacutedigo fuentebull Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 26
www6sosorg
Conclusiones
bull Desarrollar aplicaciones duales- Vaacutelidas para cualquier tipo de nodo y para comunicarse con
cualquier aplicacioacuten utilizando IPv4 o IPv6- Intentar la comunicacioacuten con cada una de las direcciones IP
obtenidas a traveacutes de las funciones de resolucioacutenbull Usar FQDN
- Eliminar las direcciones IP cableadas del coacutedigobull No almacenar direcciones IPbull Las direcciones ldquoIPv4-mapped IPv6 addressesrdquo no
siempre funcionan- No siempre estaacuten implementadas- En algunos nodos estaacuten deshabilitadas por seguridad
Iacutendice
Arquitectura de transicioacuten
Arquitectura de transicioacuten
Arquitectura de transicioacuten
Arquitectura de transicioacuten
Iacutendice
De aplicaciones v4 a aplicaciones IPv6
2 De aplicaciones IPv4 a aplicaciones duales
3 Transicioacuten gradual
Iacutendice
Aplicaciones IPv4 en nodos duales
BISBIA
2 Aplicaciones IPv6 en nodos duales
Aplicacioacuten servidor IPv6 en nodo dual
Aplicacioacuten cliente IPv6 en nodo dual
3 Aplicaciones duales en nodos duales
4 Aplicaciones duales en nodos soacutelo IPv4
Iacutendice
Formato de presentacioacuten de direcciones IP
2 Resolucioacuten de nombres
3 API de la capa de transporte
Estructuras de datos
4 Otras dependencias especiacuteficas
Iacutendice
Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 24
www6sosorg
4 Otras dependencias especiacuteficas
bull Seleccioacuten de la direccioacuten IP- Los nodos automaacuteticamente resuelven el problema de la
seleccioacuten de la direccioacuten de origen siguiendo una serie de reglas predefinidas (RFC 3484)
bull Fragmentacioacuten a nivel de aplicacioacuten - Caacutelculo del tamantildeo del fragmento para que no haya
degradacioacuten de prestaciones por fragmentacioacuten a nivel IP
bull Almacenamiento de direcciones IP - No almacenar direcciones IP pueden cambiar Si es necesario
almacenar nombres y solicitar la resolucioacuten en el momento que se necesiten
bull RECOMENDACIOacuteN- Revisar el coacutedigo exhaustivamente
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 25
www6sosorg
Iacutendice
bull Arquitectura de transicioacutenbull Evolucioacuten de aplicacionesbull Escenarios de transicioacuten de aplicacionesbull Dependencias en el coacutedigo fuentebull Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 26
www6sosorg
Conclusiones
bull Desarrollar aplicaciones duales- Vaacutelidas para cualquier tipo de nodo y para comunicarse con
cualquier aplicacioacuten utilizando IPv4 o IPv6- Intentar la comunicacioacuten con cada una de las direcciones IP
obtenidas a traveacutes de las funciones de resolucioacutenbull Usar FQDN
- Eliminar las direcciones IP cableadas del coacutedigobull No almacenar direcciones IPbull Las direcciones ldquoIPv4-mapped IPv6 addressesrdquo no
siempre funcionan- No siempre estaacuten implementadas- En algunos nodos estaacuten deshabilitadas por seguridad
Iacutendice
Arquitectura de transicioacuten
Arquitectura de transicioacuten
Arquitectura de transicioacuten
Arquitectura de transicioacuten
Iacutendice
De aplicaciones v4 a aplicaciones IPv6
2 De aplicaciones IPv4 a aplicaciones duales
3 Transicioacuten gradual
Iacutendice
Aplicaciones IPv4 en nodos duales
BISBIA
2 Aplicaciones IPv6 en nodos duales
Aplicacioacuten servidor IPv6 en nodo dual
Aplicacioacuten cliente IPv6 en nodo dual
3 Aplicaciones duales en nodos duales
4 Aplicaciones duales en nodos soacutelo IPv4
Iacutendice
Formato de presentacioacuten de direcciones IP
2 Resolucioacuten de nombres
3 API de la capa de transporte
Estructuras de datos
4 Otras dependencias especiacuteficas
Iacutendice
Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 25
www6sosorg
Iacutendice
bull Arquitectura de transicioacutenbull Evolucioacuten de aplicacionesbull Escenarios de transicioacuten de aplicacionesbull Dependencias en el coacutedigo fuentebull Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 26
www6sosorg
Conclusiones
bull Desarrollar aplicaciones duales- Vaacutelidas para cualquier tipo de nodo y para comunicarse con
cualquier aplicacioacuten utilizando IPv4 o IPv6- Intentar la comunicacioacuten con cada una de las direcciones IP
obtenidas a traveacutes de las funciones de resolucioacutenbull Usar FQDN
- Eliminar las direcciones IP cableadas del coacutedigobull No almacenar direcciones IPbull Las direcciones ldquoIPv4-mapped IPv6 addressesrdquo no
siempre funcionan- No siempre estaacuten implementadas- En algunos nodos estaacuten deshabilitadas por seguridad
Iacutendice
Arquitectura de transicioacuten
Arquitectura de transicioacuten
Arquitectura de transicioacuten
Arquitectura de transicioacuten
Iacutendice
De aplicaciones v4 a aplicaciones IPv6
2 De aplicaciones IPv4 a aplicaciones duales
3 Transicioacuten gradual
Iacutendice
Aplicaciones IPv4 en nodos duales
BISBIA
2 Aplicaciones IPv6 en nodos duales
Aplicacioacuten servidor IPv6 en nodo dual
Aplicacioacuten cliente IPv6 en nodo dual
3 Aplicaciones duales en nodos duales
4 Aplicaciones duales en nodos soacutelo IPv4
Iacutendice
Formato de presentacioacuten de direcciones IP
2 Resolucioacuten de nombres
3 API de la capa de transporte
Estructuras de datos
4 Otras dependencias especiacuteficas
Iacutendice
Conclusiones
Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 26
www6sosorg
Conclusiones
bull Desarrollar aplicaciones duales- Vaacutelidas para cualquier tipo de nodo y para comunicarse con
cualquier aplicacioacuten utilizando IPv4 o IPv6- Intentar la comunicacioacuten con cada una de las direcciones IP
obtenidas a traveacutes de las funciones de resolucioacutenbull Usar FQDN
- Eliminar las direcciones IP cableadas del coacutedigobull No almacenar direcciones IPbull Las direcciones ldquoIPv4-mapped IPv6 addressesrdquo no
siempre funcionan- No siempre estaacuten implementadas- En algunos nodos estaacuten deshabilitadas por seguridad