Pragmatic General Multicast ( PGM ) es un protocolo de transporte de red de computadora de multidifusión confiable . PGM proporciona una secuencia confiable de paquetes a múltiples destinatarios simultáneamente, lo que lo hace adecuado para aplicaciones como la transferencia de archivos de múltiples receptores .
La multidifusión es unmétodo de direccionamiento de red para la entrega de información a un grupo de destinos simultáneamente utilizando la estrategia más eficiente para entregar los mensajes a través de cada enlace de la red solo una vez, creando copias solo cuando los enlaces a los múltiples destinos se dividen (típicamente conmutadores de red y enrutadores ). Sin embargo, al igual que el Protocolo de datagramas de usuario , la multidifusión no garantiza la entrega de un flujo de mensajes. Los mensajes pueden descartarse, entregarse varias veces o entregarse fuera de servicio. Unprotocolo de multidifusión confiable , como PGM, agrega la capacidad para que los receptores detecten mensajes perdidos y / o desordenados y tomen medidas correctivas (similar en principio aTCP ), lo que da como resultado un flujo de mensajes en orden y sin interrupciones.
Mientras que TCP usa ACK para reconocer grupos de paquetes enviados (algo que sería antieconómico sobre la multidifusión), PGM usa el concepto de reconocimientos negativos (NAK). Un NAK se envía unidifusión de vuelta al host a través de un procedimiento definido salto a salto de la capa de red siempre que se detecte la pérdida de datos de una secuencia específica. Como PGM depende en gran medida de los NAK para su integridad, cuando se envía un NAK, se envía una confirmación de NAK (NCF) a través de multidifusión para cada salto hacia atrás. Los datos de reparación (RDATA) se envían desde la fuente o desde un reparador local designado (DLR) en algún punto más cercano al destino.
PGM es un protocolo experimental IETF . Aún no es un estándar, pero se ha implementado en algunos dispositivos de red y sistemas operativos , incluidos Windows XP y versiones posteriores de Microsoft Windows , así como en bibliotecas de terceros para Linux , Windows y Solaris .
enlaces externos
- https://tools.ietf.org/html/rfc3208
- https://github.com/steve-o/openpgm/
- https://web.archive.org/web/20110111200232/http://www.cisco.com/en/US/docs/ios/12_0t/12_0t5/feature/guide/pgmscale.html