1 / 110

PTMF

PTMF. Protocolo de Transporte Multicast Fiable. Exposición:. Introducción Especificación Protocolo Control del Grupo Local (CGL) Control de la Fiabilidad Implementación FTPMulticast ChatMulticast. Multicast.

marcie
Download Presentation

PTMF

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. PTMF Protocolo de Transporte Multicast Fiable

  2. Exposición: • Introducción • Especificación Protocolo • Control del Grupo Local (CGL) • Control de la Fiabilidad • Implementación • FTPMulticast • ChatMulticast

  3. Multicast • Técnica que permite que copias de un solo paquete se transfieran a un subconjunto seleccionado de todos los posibles destinos

  4. MBone • Red con capacidad multicast

  5. IP Multicast (host) • Dirección IP de Clase D 224.0.0.0 – 239.255.255.255

  6. IP Multicast (routers) • IGMP • Protocolo de encaminamiento Multicast para direcciones IP Multicast • DVMRP, PIM (PIM-DM , PIM-SM) • IGMP

  7. LANE Informática (150.214.142.0) MBone laboratorio Subred transparente “PTMF”: 150.214.142.128 Máscara: 255.255.255.224 Subred: 150.214.142.136 Máscara: 255.255.255.248 Broadcast: 150.214.143 Subred: 150.214.142.128 Máscara: 255.255.255.248 Broadcast: 150.214.142.135 Proxy ARP .131 .132 .133 .134 .139 .140 .141 .142 150.214.142.160 150.214.142.129 150.214.142.137 LabtecMR1 150.214.142.130 150.214.142.138 LabtecMR2 LabtecMR3 150.214.142.145 150.214.142.153 .146 .147 .148 .149 .150 .154 .155 .156 .157 .158 Subred: 150.214.142.144 Máscara: 255.255.255.248 Broadcast: 150.214.142.151 Subred: 150.214.142.152 Máscara: 255.255.255.248 Broadcast: 150.214.142.159 Laboratorio de Tecnología Electrónica

  8. Ventajas de utilizar Multicast: • Transmitir información a múltiples receptores sin duplicar la información enviada para cada uno de ellos. • Reducción del Ancho de Banda

  9. Reducción del Ancho de Banda (18 receptores)

  10. Reducción del Tiempo de tx.

  11. Aplicaciones para uso Multicast • Todo tipo de aplicaciones que necesite transferir la misma información a más de un receptor.

  12. Aplicaciones Multicast • Videoconferencia (NxN) • Multidifusión de video (1xN) • Multidifusión de audio (1xN) • Transferencia de ficheros • Multidifusión de mensajes (chat) • ...

  13. Situación Actual • Aplicaciones Multicast que realizan: • control de la fiabilidad • control de flujo • control de la congestión Características propias de un protocolo del nivel de transporte

  14. Campo abierto de investigación: • Protocolos de Transporte Multicast Fiable • Ej: RMTP, TMTP, LGC. Muchos de estos protocolo presentan limitaciones en cuanto a escalabilidad, incorporación de nuevos miembros a una comunicación en curso, rendimiento, ...

  15. PTMF PTMF recoge ideas importantes de otros protocolos precursores y aporta otras nuevas e innovadoras.

  16. Características de PTMF: • Nivel de transporte (nivel 4 OSI) • Uso de IP Multicast en el nivel de red

  17. Características de PTMF • Escalabilidad utilizando técnicas basadas en Grupos Locales jerárquicos. • Control de Errores Distribuido. • Control de Fiabilidad Híbrido (orientado al emisor y al receptor). • Control de Flujo. • Control de la Congestión. • Seguridad mediante criptografía de los TPDUs

  18. Características de PTMF • Incorporación de nuevos miembros a la conexión en curso. • Posibilidad de múltiples unidades de transferencia en una conexión. • Parametrizable. • Capacidad NxN (muchos a muchos). • Asentimientos Multicast y Unicast. • Retransmisiones Multicast y Unicast

  19. Direccionamiento • PTMF utiliza un TSAP o puerto de 16 bits para demultiplexar varias conexiones Multicast. • Pueden existir 65.536 procesos en una misma máquina utilizando PTMF

  20. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Puerto Multicast Puerto Unicast ID_GRUPO_LOCAL (4 bytes primeros) ID_GRUPO_LOCAL (2 bytes últimos) Longitud Cheksum V Tipo TPDU PTMF

  21. Situación Multicast típica

  22. Estrategias para el Control de la Fiabilidad • Orientada al Emisor el control de la fiabilidad recae en el Emisor, este suele utilizar técnicas basadas en el uso de asentimientos positivos (ACK). • Orientada al Receptor el control de la fiabilidad recae en el receptor, este suele utilizar técnicas basadas en el uso de asentimientos negativos (NACK).

  23. Problemas “orientada al emisor” • Reducción del Ancho de Banda por el excesivo nº de ACKs • Sobrecarga del Emisor por el procesamiento de todos estos ACKs Problema conocido como:“Implosión de ACKs”

  24. Implosión de ACKs

  25. Problemas “orientada al receptor” • a.El emisor debe de mantener los TPDUs enviados en memoria para posibles retransmisiones durante un tiempo indeterminado, pues no hay mecanismos que indiquen la correcta recepción de los datos por parte de los receptores y que permita así liberar memoria al emisor.

  26. PTMF resuelve utilizando: • El Protocolo CGL Que organiza a los participantes en la comunicación Multicast de forma que el proceso de asentimiento sea más eficaz.

  27. PTMF resuelve utilizando: • Estrategia de Control de Fiabilidad Híbrida. Lo mejor de ambas aproximaciones: Orientada al Emisor + Orientada al Receptor

  28. Exposición: • Introducción • Especificación Protocolo • Control del Grupo Local (CGL) • Control de la Fiabilidad • Implementación • FTPMulticast • ChatMulticast

  29. CGL  Control del Grupo Local

  30. Grupo Local Un conjunto de sockets presentes en un determinado Canal Multicast y Ámbito que cooperan entre sí para garantizar la fiabilidad del protocolo PTMF y conseguir con su organización una mayor eficacia del proceso de asentimientos.

  31. Identificador de Grupo Local (IDGL) IDGL = IPv4 + Puerto Unicast

  32. Función de CGL Organizar los SocketsPTMF presentes en un determinado Canal Multicast y Ámbito en Grupos Locales establecidos de forma jerárquica para que el Control de la Fiabilidad se realice de forma eficiente.

  33. Organizar en Grupos Locales

  34. Misión del Controlador de Grupo (CG) Actuar como si fuese el emisor e informar a sus CG superiores en el árbol o al emisor en última instancia, de la correcta recepción de los datos dentro del grupo local (retransmisiones, control de los receptores, ...) enviando: • Asentimientos positivos jerárquicos (HACK)

  35. Grupos Locales jerárquicos

  36. Se consigue: • Reservar lo máximo posible el Ancho de Banda de las líneas de comunicación. • Evitar la saturacióndel Emisor por procesamiento de la avalancha de ACKs evitando el “cuello de botella” en el lado del emisor por procesamiento de ACKs

  37. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Puerto Multicast Puerto Unicast ID_GRUPO_LOCAL (4 bytes primeros) ID_GRUPO_LOCAL (2 bytes últimos) Longitud Cheksum V 0 0 Subtipo TTL Métrica IP N_SECUENCIA Nº Ids Nº MAX de Sockets/GL Nº de Sockets en GL Cabecera Común TPDU PTMF Cabecera Común subtipo CGL Cabecera común TPDUs CGL

  38. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Puerto Multicast Puerto Unicast ID_GRUPO_LOCAL (4 bytes primeros) ID_GRUPO_LOCAL (2 bytes últimos) Longitud Cheksum V 0 0 Subtipo TTL Métrica IP=0 N_SECUENCIA Nº Ids Nº MAX de Sockets/GL Nº de Sockets en GL ID_GRUPO_LOCAL 1 (32 primeros bis) ID_GRUPO_LOCAL 1 (16 bits últimos) TTL VECINO 1 ID_GRUPO_LOCAL 2 (16 bits primeros) ID_GRUPO_LOCAL 2 (32 bits últimos) TTL VECINO 2 .... TPDU CGL ( IP = 0 )

  39. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Puerto Multicast Puerto Unicast ID_GRUPO_LOCAL (4 bytes primeros) ID_GRUPO_LOCAL (2 bytes últimos) Longitud Cheksum V 0 0 Subtipo TTL Métrica IP=1 N_SECUENCIA Nº Ids Nº MAX de Sockets/GL Nº de Sockets en GL IP 1 Puerto Unicast 1 IP N (2 primeros bytes) IP N (2 bytes últimos) Puerto Unicast N TPDU CGL ( IP = 1)

  40. Descubrir Grupos Locales 4 BUSCAR_GRUPO_LOCAL TTL = 1

  41. Notificar Grupo Local Si el GL no supera MAX_Sockets_GL: 4 1 2 3 GL GRUPO_LOCAL {Lista de IDGLs a los que alcanza}

  42. Unirse a un Grupo Local 4 1 2 3 GL UNIRSE_A_GRUPO_LOCAL {ID_Socket emisor}

  43. Aceptación de un Socket en el GL 4 1 2 3 GL SOCKET_ACEPTADO_EN_GRUPO_LOCAL {ID_Socket petición, lista de ID_Sockets miembros del GL}

  44. Miembro del GL 4 1 2 3 GL

  45. Creación de un Grupo Local IDGL = IPv4 + Puerto Unicast 5 GRUPO_LOCAL {TTL = 1 Nuevo IDGL}

  46. Dejar el Grupo Local 4 DEJAR_GRUPO_LOCAL {ID_Socket saliente, Lista de ID_Sockets del GL}

  47. Eliminación de un Grupo Local El último miembro del GL envía: 1 ELIMINACION_GRUPO_LOCAL

  48. Búsqueda de GL “Vecinos” Los GL “vecinos” se descubren mediante un proceso de “Expansión en Anillo” 1 BUSCAR_GRUPO_LOCAL_VECINO TTL = 1 TTL = 2 TTL = 4 ...

  49. Finalización búsqueda GL “vecinos” •  Recibido un TPDU GRUPO_LOCAL_VECINO • Se aumenta el “anillo de expansión” hasta llegar al TTL de la sesión

More Related