Top Banner
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

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

Oct 03, 2018

Download

Documents

doandan
Welcome message from author
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
Page 1: 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

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 Nodo soacutelo IPv4bull Nodo soacutelo IPv6bull Nodo con doble pila

RedEncaminamientoDireccionamiento

IP

TCPUDP

Nivel enlace

AplApl

IP

TCPUDP

Nivel enlace

AplAplAplicacioacuten Aplicacioacuten

Nodo final

Nodofinal

Modificar pila IP

Modificar pila IP

Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 6

www6sosorg

Arquitectura de transicioacutenbull Redbull Nodos finalesbull Aplicaciones

bull Aplicacioacuten soacutelo IPv4bull Aplicacioacuten soacutelo IPv6bull Aplicacioacuten dual

RedEncaminamientoDireccionamiento

IP

TCPUDP

Nivel enlace

AplApl

IP

TCPUDP

Nivel enlace

AplAplModificar

coacutedigo fuente

Modificar coacutedigo fuente

Aplicacioacuten Aplicacioacuten

Nodo final

Nodofinal

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

AAntildentildeadir adir soporte IPv4soporte IPv4VENTAJAS

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

bull RECOMENDACIOacuteN- Utilizar FQDN (Fully Qualified Domain Name)

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
Page 2: 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

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 Nodo soacutelo IPv4bull Nodo soacutelo IPv6bull Nodo con doble pila

RedEncaminamientoDireccionamiento

IP

TCPUDP

Nivel enlace

AplApl

IP

TCPUDP

Nivel enlace

AplAplAplicacioacuten Aplicacioacuten

Nodo final

Nodofinal

Modificar pila IP

Modificar pila IP

Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 6

www6sosorg

Arquitectura de transicioacutenbull Redbull Nodos finalesbull Aplicaciones

bull Aplicacioacuten soacutelo IPv4bull Aplicacioacuten soacutelo IPv6bull Aplicacioacuten dual

RedEncaminamientoDireccionamiento

IP

TCPUDP

Nivel enlace

AplApl

IP

TCPUDP

Nivel enlace

AplAplModificar

coacutedigo fuente

Modificar coacutedigo fuente

Aplicacioacuten Aplicacioacuten

Nodo final

Nodofinal

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

AAntildentildeadir adir soporte IPv4soporte IPv4VENTAJAS

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

bull RECOMENDACIOacuteN- Utilizar FQDN (Fully Qualified Domain Name)

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
Page 3: 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

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 Nodo soacutelo IPv4bull Nodo soacutelo IPv6bull Nodo con doble pila

RedEncaminamientoDireccionamiento

IP

TCPUDP

Nivel enlace

AplApl

IP

TCPUDP

Nivel enlace

AplAplAplicacioacuten Aplicacioacuten

Nodo final

Nodofinal

Modificar pila IP

Modificar pila IP

Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 6

www6sosorg

Arquitectura de transicioacutenbull Redbull Nodos finalesbull Aplicaciones

bull Aplicacioacuten soacutelo IPv4bull Aplicacioacuten soacutelo IPv6bull Aplicacioacuten dual

RedEncaminamientoDireccionamiento

IP

TCPUDP

Nivel enlace

AplApl

IP

TCPUDP

Nivel enlace

AplAplModificar

coacutedigo fuente

Modificar coacutedigo fuente

Aplicacioacuten Aplicacioacuten

Nodo final

Nodofinal

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

AAntildentildeadir adir soporte IPv4soporte IPv4VENTAJAS

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

bull RECOMENDACIOacuteN- Utilizar FQDN (Fully Qualified Domain Name)

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
Page 4: 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

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 Nodo soacutelo IPv4bull Nodo soacutelo IPv6bull Nodo con doble pila

RedEncaminamientoDireccionamiento

IP

TCPUDP

Nivel enlace

AplApl

IP

TCPUDP

Nivel enlace

AplAplAplicacioacuten Aplicacioacuten

Nodo final

Nodofinal

Modificar pila IP

Modificar pila IP

Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 6

www6sosorg

Arquitectura de transicioacutenbull Redbull Nodos finalesbull Aplicaciones

bull Aplicacioacuten soacutelo IPv4bull Aplicacioacuten soacutelo IPv6bull Aplicacioacuten dual

RedEncaminamientoDireccionamiento

IP

TCPUDP

Nivel enlace

AplApl

IP

TCPUDP

Nivel enlace

AplAplModificar

coacutedigo fuente

Modificar coacutedigo fuente

Aplicacioacuten Aplicacioacuten

Nodo final

Nodofinal

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

AAntildentildeadir adir soporte IPv4soporte IPv4VENTAJAS

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

bull RECOMENDACIOacuteN- Utilizar FQDN (Fully Qualified Domain Name)

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
Page 5: 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

Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 5

www6sosorg

Arquitectura de transicioacutenbull Redbull Nodos finalesbull Aplicaciones

bull Nodo soacutelo IPv4bull Nodo soacutelo IPv6bull Nodo con doble pila

RedEncaminamientoDireccionamiento

IP

TCPUDP

Nivel enlace

AplApl

IP

TCPUDP

Nivel enlace

AplAplAplicacioacuten Aplicacioacuten

Nodo final

Nodofinal

Modificar pila IP

Modificar pila IP

Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 6

www6sosorg

Arquitectura de transicioacutenbull Redbull Nodos finalesbull Aplicaciones

bull Aplicacioacuten soacutelo IPv4bull Aplicacioacuten soacutelo IPv6bull Aplicacioacuten dual

RedEncaminamientoDireccionamiento

IP

TCPUDP

Nivel enlace

AplApl

IP

TCPUDP

Nivel enlace

AplAplModificar

coacutedigo fuente

Modificar coacutedigo fuente

Aplicacioacuten Aplicacioacuten

Nodo final

Nodofinal

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

AAntildentildeadir adir soporte IPv4soporte IPv4VENTAJAS

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

bull RECOMENDACIOacuteN- Utilizar FQDN (Fully Qualified Domain Name)

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
Page 6: 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

Porte de aplicaciones y servicios a IPv6 ndash Eva M Castro 6

www6sosorg

Arquitectura de transicioacutenbull Redbull Nodos finalesbull Aplicaciones

bull Aplicacioacuten soacutelo IPv4bull Aplicacioacuten soacutelo IPv6bull Aplicacioacuten dual

RedEncaminamientoDireccionamiento

IP

TCPUDP

Nivel enlace

AplApl

IP

TCPUDP

Nivel enlace

AplAplModificar

coacutedigo fuente

Modificar coacutedigo fuente

Aplicacioacuten Aplicacioacuten

Nodo final

Nodofinal

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

AAntildentildeadir adir soporte IPv4soporte IPv4VENTAJAS

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

bull RECOMENDACIOacuteN- Utilizar FQDN (Fully Qualified Domain Name)

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
Page 7: 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

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

AAntildentildeadir adir soporte IPv4soporte IPv4VENTAJAS

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

bull RECOMENDACIOacuteN- Utilizar FQDN (Fully Qualified Domain Name)

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
Page 8: 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

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

AAntildentildeadir adir soporte IPv4soporte IPv4VENTAJAS

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

bull RECOMENDACIOacuteN- Utilizar FQDN (Fully Qualified Domain Name)

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
Page 9: 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

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

AAntildentildeadir adir soporte IPv4soporte IPv4VENTAJAS

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

bull RECOMENDACIOacuteN- Utilizar FQDN (Fully Qualified Domain Name)

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
Page 10: 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

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

AAntildentildeadir adir soporte IPv4soporte IPv4VENTAJAS

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

bull RECOMENDACIOacuteN- Utilizar FQDN (Fully Qualified Domain Name)

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
Page 11: 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

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

bull RECOMENDACIOacuteN- Utilizar FQDN (Fully Qualified Domain Name)

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
Page 12: 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

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

bull RECOMENDACIOacuteN- Utilizar FQDN (Fully Qualified Domain Name)

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
Page 13: 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

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

bull RECOMENDACIOacuteN- Utilizar FQDN (Fully Qualified Domain Name)

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
Page 14: 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

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

bull RECOMENDACIOacuteN- Utilizar FQDN (Fully Qualified Domain Name)

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
Page 15: 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

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

bull RECOMENDACIOacuteN- Utilizar FQDN (Fully Qualified Domain Name)

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
Page 16: 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

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

bull RECOMENDACIOacuteN- Utilizar FQDN (Fully Qualified Domain Name)

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
Page 17: 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

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

bull RECOMENDACIOacuteN- Utilizar FQDN (Fully Qualified Domain Name)

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
Page 18: 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

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

bull RECOMENDACIOacuteN- Utilizar FQDN (Fully Qualified Domain Name)

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
Page 19: 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

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

bull RECOMENDACIOacuteN- Utilizar FQDN (Fully Qualified Domain Name)

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
Page 20: 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

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

bull RECOMENDACIOacuteN- Utilizar FQDN (Fully Qualified Domain Name)

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
Page 21: 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

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
Page 22: 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

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
Page 23: 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

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
Page 24: 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

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
Page 25: 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

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
Page 26: 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

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