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

Post on 03-Oct-2018

217 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

Transcript

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

www6sosorg

Porte de aplicaciones y servicios a IPv6Eva M Castro evagsycesceturjcesGrupo de Sistemas y Comunicaciones (GSyC)Universidad Rey Juan Carlos (URJC)

Este proyecto ha sidocofinanciado por PROFIT

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

www6sosorg

Iacutendice

bull Arquitectura de transicioacuten- Red- Nodos finales - Aplicaciones

bull Evolucioacuten de aplicacionesbull Escenarios de transicioacuten de aplicacionesbull Dependencias en el coacutedigo fuentebull Conclusiones

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

www6sosorg

Arquitectura de transicioacutenbull Redbull Nodos finalesbull Aplicaciones

RedEncaminamientoDireccionamiento

IP

TCPUDP

Nivel enlace

AplApl

IP

TCPUDP

Nivel enlace

AplAplAplicacioacuten Aplicacioacuten

Nodo final

Nodofinal

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

www6sosorg

Arquitectura de transicioacutenbull Redbull Nodos finalesbull Aplicaciones

bull Red soacutelo IPv4bull Red soacutelo IPv6bull Red dualbull Red heterogeacutenea

RedEncaminamientoDireccionamiento

IP

TCPUDP

Nivel enlace

AplApl

IP

TCPUDP

Nivel enlace

AplAplAplicacioacuten Aplicacioacuten

Nodo final

Nodofinal

Instalar mecanismos de transicioacuten

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

www6sosorg

Arquitectura de transicioacutenbull Redbull Nodos finalesbull Aplicaciones

bull 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

    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

      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

        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

          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

            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

              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

                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

                  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

                    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

                      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

                        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

                          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

                            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

                              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

                                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

                                  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

                                    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

                                      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

                                        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

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

                                          www6sosorg2 Resolucioacuten de nombres

                                          bull Tipos de resolucioacuten- Directa

                                          a partir del nombre de la maacutequina obtener su direccioacuten IP- Inversa

                                          a partir de la direccioacuten IP obtener el nombre de maacutequina

                                          bull Utilizar FQDNbull Las consultasrespuestas de DNS se enviacutean usando

                                          IPv4IPv6 independientemente del tipo de registros que se soliciten

                                          bull RECOMENDACIOacuteN- Usar las funciones de resolucioacuten independientes de

                                          protocolo

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

                                          www6sosorg

                                          3 API de la capa de transporte

                                          En el caso concreto del API de sockets existen las siguientes dependencias

                                          - Estructuras de datos para las direcciones IPsockaddr_in sockaddr_in6 sockaddr_storage

                                          - Funciones del API de comunicacionessocket() bind() connect() read()write() hellip

                                          - Funciones de conversioacuten de direccionesentre el formato de presentacioacuten y las estructuras de datos de direcciones

                                          - Opciones de configuracioacuten de red

                                          bull RECOMENDACIOacuteN- Desarrollar aplicaciones independientes de la versioacuten IP

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

                                          www6sosorg

                                          Estructuras de datossockaddr sockaddr_in

                                          Port Number

                                          Flow Info

                                          IPv6 Address(128 bits)

                                          Scope ID

                                          FamilyAlign

                                          Padding

                                          Familysockaddr_storagesockaddr_in6

                                          FamilyFamilyPort Number

                                          Data

                                          IPv4 Address(32 bits)

                                          Unused

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

                                          www6sosorg

                                          4 Otras dependencias especiacuteficas

                                          bull Seleccioacuten de la direccioacuten IP- Los nodos automaacuteticamente resuelven el problema de la

                                          seleccioacuten de la direccioacuten de origen siguiendo una serie de reglas predefinidas (RFC 3484)

                                          bull Fragmentacioacuten a nivel de aplicacioacuten - Caacutelculo del tamantildeo del fragmento para que no haya

                                          degradacioacuten de prestaciones por fragmentacioacuten a nivel IP

                                          bull Almacenamiento de direcciones IP - No almacenar direcciones IP pueden cambiar Si es necesario

                                          almacenar nombres y solicitar la resolucioacuten en el momento que se necesiten

                                          bull RECOMENDACIOacuteN- Revisar el coacutedigo exhaustivamente

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

                                          www6sosorg

                                          Iacutendice

                                          bull Arquitectura de transicioacutenbull Evolucioacuten de aplicacionesbull Escenarios de transicioacuten de aplicacionesbull Dependencias en el coacutedigo fuentebull Conclusiones

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

                                          www6sosorg

                                          Conclusiones

                                          bull Desarrollar aplicaciones duales- Vaacutelidas para cualquier tipo de nodo y para comunicarse con

                                          cualquier aplicacioacuten utilizando IPv4 o IPv6- Intentar la comunicacioacuten con cada una de las direcciones IP

                                          obtenidas a traveacutes de las funciones de resolucioacutenbull Usar FQDN

                                          - Eliminar las direcciones IP cableadas del coacutedigobull No almacenar direcciones IPbull Las direcciones ldquoIPv4-mapped IPv6 addressesrdquo no

                                          siempre funcionan- No siempre estaacuten implementadas- En algunos nodos estaacuten deshabilitadas por seguridad

                                          • Iacutendice
                                          • Arquitectura de transicioacuten
                                          • Arquitectura de transicioacuten
                                          • Arquitectura de transicioacuten
                                          • Arquitectura de transicioacuten
                                          • Iacutendice
                                          • De aplicaciones v4 a aplicaciones IPv6
                                          • 2 De aplicaciones IPv4 a aplicaciones duales
                                          • 3 Transicioacuten gradual
                                          • Iacutendice
                                          • Aplicaciones IPv4 en nodos duales
                                          • BISBIA
                                          • 2 Aplicaciones IPv6 en nodos duales
                                          • Aplicacioacuten servidor IPv6 en nodo dual
                                          • Aplicacioacuten cliente IPv6 en nodo dual
                                          • 3 Aplicaciones duales en nodos duales
                                          • 4 Aplicaciones duales en nodos soacutelo IPv4
                                          • Iacutendice
                                          • Formato de presentacioacuten de direcciones IP
                                          • 2 Resolucioacuten de nombres
                                          • 3 API de la capa de transporte
                                          • Estructuras de datos
                                          • 4 Otras dependencias especiacuteficas
                                          • Iacutendice
                                          • Conclusiones

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

                                            www6sosorg

                                            3 API de la capa de transporte

                                            En el caso concreto del API de sockets existen las siguientes dependencias

                                            - Estructuras de datos para las direcciones IPsockaddr_in sockaddr_in6 sockaddr_storage

                                            - Funciones del API de comunicacionessocket() bind() connect() read()write() hellip

                                            - Funciones de conversioacuten de direccionesentre el formato de presentacioacuten y las estructuras de datos de direcciones

                                            - Opciones de configuracioacuten de red

                                            bull RECOMENDACIOacuteN- Desarrollar aplicaciones independientes de la versioacuten IP

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

                                            www6sosorg

                                            Estructuras de datossockaddr sockaddr_in

                                            Port Number

                                            Flow Info

                                            IPv6 Address(128 bits)

                                            Scope ID

                                            FamilyAlign

                                            Padding

                                            Familysockaddr_storagesockaddr_in6

                                            FamilyFamilyPort Number

                                            Data

                                            IPv4 Address(32 bits)

                                            Unused

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

                                            www6sosorg

                                            4 Otras dependencias especiacuteficas

                                            bull Seleccioacuten de la direccioacuten IP- Los nodos automaacuteticamente resuelven el problema de la

                                            seleccioacuten de la direccioacuten de origen siguiendo una serie de reglas predefinidas (RFC 3484)

                                            bull Fragmentacioacuten a nivel de aplicacioacuten - Caacutelculo del tamantildeo del fragmento para que no haya

                                            degradacioacuten de prestaciones por fragmentacioacuten a nivel IP

                                            bull Almacenamiento de direcciones IP - No almacenar direcciones IP pueden cambiar Si es necesario

                                            almacenar nombres y solicitar la resolucioacuten en el momento que se necesiten

                                            bull RECOMENDACIOacuteN- Revisar el coacutedigo exhaustivamente

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

                                            www6sosorg

                                            Iacutendice

                                            bull Arquitectura de transicioacutenbull Evolucioacuten de aplicacionesbull Escenarios de transicioacuten de aplicacionesbull Dependencias en el coacutedigo fuentebull Conclusiones

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

                                            www6sosorg

                                            Conclusiones

                                            bull Desarrollar aplicaciones duales- Vaacutelidas para cualquier tipo de nodo y para comunicarse con

                                            cualquier aplicacioacuten utilizando IPv4 o IPv6- Intentar la comunicacioacuten con cada una de las direcciones IP

                                            obtenidas a traveacutes de las funciones de resolucioacutenbull Usar FQDN

                                            - Eliminar las direcciones IP cableadas del coacutedigobull No almacenar direcciones IPbull Las direcciones ldquoIPv4-mapped IPv6 addressesrdquo no

                                            siempre funcionan- No siempre estaacuten implementadas- En algunos nodos estaacuten deshabilitadas por seguridad

                                            • Iacutendice
                                            • Arquitectura de transicioacuten
                                            • Arquitectura de transicioacuten
                                            • Arquitectura de transicioacuten
                                            • Arquitectura de transicioacuten
                                            • Iacutendice
                                            • De aplicaciones v4 a aplicaciones IPv6
                                            • 2 De aplicaciones IPv4 a aplicaciones duales
                                            • 3 Transicioacuten gradual
                                            • Iacutendice
                                            • Aplicaciones IPv4 en nodos duales
                                            • BISBIA
                                            • 2 Aplicaciones IPv6 en nodos duales
                                            • Aplicacioacuten servidor IPv6 en nodo dual
                                            • Aplicacioacuten cliente IPv6 en nodo dual
                                            • 3 Aplicaciones duales en nodos duales
                                            • 4 Aplicaciones duales en nodos soacutelo IPv4
                                            • Iacutendice
                                            • Formato de presentacioacuten de direcciones IP
                                            • 2 Resolucioacuten de nombres
                                            • 3 API de la capa de transporte
                                            • Estructuras de datos
                                            • 4 Otras dependencias especiacuteficas
                                            • Iacutendice
                                            • Conclusiones

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

                                              www6sosorg

                                              Estructuras de datossockaddr sockaddr_in

                                              Port Number

                                              Flow Info

                                              IPv6 Address(128 bits)

                                              Scope ID

                                              FamilyAlign

                                              Padding

                                              Familysockaddr_storagesockaddr_in6

                                              FamilyFamilyPort Number

                                              Data

                                              IPv4 Address(32 bits)

                                              Unused

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

                                              www6sosorg

                                              4 Otras dependencias especiacuteficas

                                              bull Seleccioacuten de la direccioacuten IP- Los nodos automaacuteticamente resuelven el problema de la

                                              seleccioacuten de la direccioacuten de origen siguiendo una serie de reglas predefinidas (RFC 3484)

                                              bull Fragmentacioacuten a nivel de aplicacioacuten - Caacutelculo del tamantildeo del fragmento para que no haya

                                              degradacioacuten de prestaciones por fragmentacioacuten a nivel IP

                                              bull Almacenamiento de direcciones IP - No almacenar direcciones IP pueden cambiar Si es necesario

                                              almacenar nombres y solicitar la resolucioacuten en el momento que se necesiten

                                              bull RECOMENDACIOacuteN- Revisar el coacutedigo exhaustivamente

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

                                              www6sosorg

                                              Iacutendice

                                              bull Arquitectura de transicioacutenbull Evolucioacuten de aplicacionesbull Escenarios de transicioacuten de aplicacionesbull Dependencias en el coacutedigo fuentebull Conclusiones

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

                                              www6sosorg

                                              Conclusiones

                                              bull Desarrollar aplicaciones duales- Vaacutelidas para cualquier tipo de nodo y para comunicarse con

                                              cualquier aplicacioacuten utilizando IPv4 o IPv6- Intentar la comunicacioacuten con cada una de las direcciones IP

                                              obtenidas a traveacutes de las funciones de resolucioacutenbull Usar FQDN

                                              - Eliminar las direcciones IP cableadas del coacutedigobull No almacenar direcciones IPbull Las direcciones ldquoIPv4-mapped IPv6 addressesrdquo no

                                              siempre funcionan- No siempre estaacuten implementadas- En algunos nodos estaacuten deshabilitadas por seguridad

                                              • Iacutendice
                                              • Arquitectura de transicioacuten
                                              • Arquitectura de transicioacuten
                                              • Arquitectura de transicioacuten
                                              • Arquitectura de transicioacuten
                                              • Iacutendice
                                              • De aplicaciones v4 a aplicaciones IPv6
                                              • 2 De aplicaciones IPv4 a aplicaciones duales
                                              • 3 Transicioacuten gradual
                                              • Iacutendice
                                              • Aplicaciones IPv4 en nodos duales
                                              • BISBIA
                                              • 2 Aplicaciones IPv6 en nodos duales
                                              • Aplicacioacuten servidor IPv6 en nodo dual
                                              • Aplicacioacuten cliente IPv6 en nodo dual
                                              • 3 Aplicaciones duales en nodos duales
                                              • 4 Aplicaciones duales en nodos soacutelo IPv4
                                              • Iacutendice
                                              • Formato de presentacioacuten de direcciones IP
                                              • 2 Resolucioacuten de nombres
                                              • 3 API de la capa de transporte
                                              • Estructuras de datos
                                              • 4 Otras dependencias especiacuteficas
                                              • Iacutendice
                                              • Conclusiones

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

                                                www6sosorg

                                                4 Otras dependencias especiacuteficas

                                                bull Seleccioacuten de la direccioacuten IP- Los nodos automaacuteticamente resuelven el problema de la

                                                seleccioacuten de la direccioacuten de origen siguiendo una serie de reglas predefinidas (RFC 3484)

                                                bull Fragmentacioacuten a nivel de aplicacioacuten - Caacutelculo del tamantildeo del fragmento para que no haya

                                                degradacioacuten de prestaciones por fragmentacioacuten a nivel IP

                                                bull Almacenamiento de direcciones IP - No almacenar direcciones IP pueden cambiar Si es necesario

                                                almacenar nombres y solicitar la resolucioacuten en el momento que se necesiten

                                                bull RECOMENDACIOacuteN- Revisar el coacutedigo exhaustivamente

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

                                                www6sosorg

                                                Iacutendice

                                                bull Arquitectura de transicioacutenbull Evolucioacuten de aplicacionesbull Escenarios de transicioacuten de aplicacionesbull Dependencias en el coacutedigo fuentebull Conclusiones

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

                                                www6sosorg

                                                Conclusiones

                                                bull Desarrollar aplicaciones duales- Vaacutelidas para cualquier tipo de nodo y para comunicarse con

                                                cualquier aplicacioacuten utilizando IPv4 o IPv6- Intentar la comunicacioacuten con cada una de las direcciones IP

                                                obtenidas a traveacutes de las funciones de resolucioacutenbull Usar FQDN

                                                - Eliminar las direcciones IP cableadas del coacutedigobull No almacenar direcciones IPbull Las direcciones ldquoIPv4-mapped IPv6 addressesrdquo no

                                                siempre funcionan- No siempre estaacuten implementadas- En algunos nodos estaacuten deshabilitadas por seguridad

                                                • Iacutendice
                                                • Arquitectura de transicioacuten
                                                • Arquitectura de transicioacuten
                                                • Arquitectura de transicioacuten
                                                • Arquitectura de transicioacuten
                                                • Iacutendice
                                                • De aplicaciones v4 a aplicaciones IPv6
                                                • 2 De aplicaciones IPv4 a aplicaciones duales
                                                • 3 Transicioacuten gradual
                                                • Iacutendice
                                                • Aplicaciones IPv4 en nodos duales
                                                • BISBIA
                                                • 2 Aplicaciones IPv6 en nodos duales
                                                • Aplicacioacuten servidor IPv6 en nodo dual
                                                • Aplicacioacuten cliente IPv6 en nodo dual
                                                • 3 Aplicaciones duales en nodos duales
                                                • 4 Aplicaciones duales en nodos soacutelo IPv4
                                                • Iacutendice
                                                • Formato de presentacioacuten de direcciones IP
                                                • 2 Resolucioacuten de nombres
                                                • 3 API de la capa de transporte
                                                • Estructuras de datos
                                                • 4 Otras dependencias especiacuteficas
                                                • Iacutendice
                                                • Conclusiones

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

                                                  www6sosorg

                                                  Iacutendice

                                                  bull Arquitectura de transicioacutenbull Evolucioacuten de aplicacionesbull Escenarios de transicioacuten de aplicacionesbull Dependencias en el coacutedigo fuentebull Conclusiones

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

                                                  www6sosorg

                                                  Conclusiones

                                                  bull Desarrollar aplicaciones duales- Vaacutelidas para cualquier tipo de nodo y para comunicarse con

                                                  cualquier aplicacioacuten utilizando IPv4 o IPv6- Intentar la comunicacioacuten con cada una de las direcciones IP

                                                  obtenidas a traveacutes de las funciones de resolucioacutenbull Usar FQDN

                                                  - Eliminar las direcciones IP cableadas del coacutedigobull No almacenar direcciones IPbull Las direcciones ldquoIPv4-mapped IPv6 addressesrdquo no

                                                  siempre funcionan- No siempre estaacuten implementadas- En algunos nodos estaacuten deshabilitadas por seguridad

                                                  • Iacutendice
                                                  • Arquitectura de transicioacuten
                                                  • Arquitectura de transicioacuten
                                                  • Arquitectura de transicioacuten
                                                  • Arquitectura de transicioacuten
                                                  • Iacutendice
                                                  • De aplicaciones v4 a aplicaciones IPv6
                                                  • 2 De aplicaciones IPv4 a aplicaciones duales
                                                  • 3 Transicioacuten gradual
                                                  • Iacutendice
                                                  • Aplicaciones IPv4 en nodos duales
                                                  • BISBIA
                                                  • 2 Aplicaciones IPv6 en nodos duales
                                                  • Aplicacioacuten servidor IPv6 en nodo dual
                                                  • Aplicacioacuten cliente IPv6 en nodo dual
                                                  • 3 Aplicaciones duales en nodos duales
                                                  • 4 Aplicaciones duales en nodos soacutelo IPv4
                                                  • Iacutendice
                                                  • Formato de presentacioacuten de direcciones IP
                                                  • 2 Resolucioacuten de nombres
                                                  • 3 API de la capa de transporte
                                                  • Estructuras de datos
                                                  • 4 Otras dependencias especiacuteficas
                                                  • Iacutendice
                                                  • Conclusiones

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

                                                    www6sosorg

                                                    Conclusiones

                                                    bull Desarrollar aplicaciones duales- Vaacutelidas para cualquier tipo de nodo y para comunicarse con

                                                    cualquier aplicacioacuten utilizando IPv4 o IPv6- Intentar la comunicacioacuten con cada una de las direcciones IP

                                                    obtenidas a traveacutes de las funciones de resolucioacutenbull Usar FQDN

                                                    - Eliminar las direcciones IP cableadas del coacutedigobull No almacenar direcciones IPbull Las direcciones ldquoIPv4-mapped IPv6 addressesrdquo no

                                                    siempre funcionan- No siempre estaacuten implementadas- En algunos nodos estaacuten deshabilitadas por seguridad

                                                    • 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

                                                      top related