Fact-checked by Grok 2 weeks ago

Pragmatic General Multicast

Pragmatic General Multicast () is a reliable transport for applications that require ordered or unordered, duplicate-free data delivery from multiple sources to multiple receivers over networks. It ensures that receivers either obtain all transmitted data packets, including any repairs, or detect any unrecoverable loss, emphasizing simplicity and scalability without maintaining explicit group membership. PGM achieves reliability primarily through negative acknowledgments (NAKs), where receivers report missing data rather than confirming receipt, thereby avoiding the acknowledgment implosion problem common in other schemes. Key mechanisms include periodic Source Path Messages (SPMs) to establish and maintain awareness, NAK Confirmations (NCFs) to suppress redundant repair requests, and support for Designated Local Repairers (DLRs) that enable localized retransmissions to reduce . Optional features encompass (FEC) for proactive loss recovery and congestion control options, such as receiver feedback or router assistance, to manage efficiently in large-scale deployments. Specified in RFC 3208 as an experimental protocol, was developed by a team including Tony Speakman, Dino Farinacci, and Steven Lin at Cisco Systems and others, and published by the (IETF) in December 2001. It has been implemented in various platforms, including Windows for scalable applications like data distribution and real-time feeds, and Cisco IOS for router-assisted operations. 's design prioritizes "pragmatic" reliability, allowing applications to handle detected losses as needed, making it suitable for scenarios such as financial data dissemination, software updates, and multimedia streaming where full end-to-end guarantees are not always required.

History

Origins and Development

Development of Pragmatic General Multicast (PGM) was initiated in the mid-1990s by a team led by Tony Speakman at Cisco Systems, in collaboration with and other contributors including Dino Farinacci (Cisco/Procket Networks), Steven Lin (), and Jim Gemmell (). The first IETF specification draft was published in September 1996. This effort sought to overcome the inherent limitations of the unreliable protocol defined in 1112, which provided no built-in mechanisms for loss recovery or ordered delivery. Specifically, PGM was designed to deliver TCP-like reliability in multicast scenarios while eliminating the need for positive acknowledgments from each receiver, thereby preventing the feedback implosion that could overwhelm networks with large receiver groups. Early work on addressed the challenges of scalable group communications, building on prior research and aiming to provide reliable delivery over without the limitations of basic UDP-based schemes. Prototypes were developed and tested in controlled laboratory environments to evaluate their performance in real-world-like conditions. These initial implementations focused on applications such as distributed simulations, where synchronized data delivery across multiple nodes is critical, and streaming, which benefits from efficient loss recovery in bandwidth-constrained settings. A core innovation in these early prototypes was the adoption of negative acknowledgments (NAKs), allowing receivers to report only missing data rather than confirming receipt of all packets, which significantly reduced protocol overhead. Complementing this, source-path messaging was introduced to maintain of receiver states and facilitate efficient of repair information without requiring a dedicated . These features laid the conceptual for PGM's pragmatic approach to reliability, balancing robustness with minimal network intrusion.

Standardization and Adoption

Pragmatic General () was formally specified in RFC 3208, published in December 2001 by T. Speakman and collaborators. The document defines as a reliable transport protocol operating over , utilizing protocol number 113 to provide ordered or unordered, duplicate-free data delivery from multiple sources to multiple receivers, with mechanisms to detect unrecoverable losses. As an experimental protocol at the time of publication, was positioned for further evaluation and potential advancement within the IETF standards process, focusing on its applicability to scalable, reliable scenarios without aiming for universal reliability guarantees. Early adoption of PGM began shortly after its specification, with integration into major operating systems and network equipment. incorporated PGM support into upon its release in October 2001, enabling developers to use the Winsock API for reliable multicast programming, particularly when (MSMQ) 3.0 was installed. This allowed applications to leverage PGM for scalable data distribution over multicast-enabled networks. Cisco Systems provided hardware support through its IOS software, introducing PGM Router Assist functionality as early as IOS release 11.2(11) in 1998 to assist in handling PGM traffic at the network layer, with broader enhancements in subsequent versions like 12.0(5)T. By 2003, had seen deployment in specialized domains, including financial data distribution for real-time market feeds, where its reliability over addressed needs for efficient, low-latency dissemination to multiple recipients. Applications in systems, such as those explored for bandwidth-efficient data delivery, further demonstrated its utility in high-stakes environments requiring robust . remained an experimental protocol without advancement to standards track. Implementations persisted in Windows (e.g., via Winsock in Server 2003 and later) and open-source projects like OpenPGM. As of 2025, usage is niche, primarily in legacy financial data distribution and , though security vulnerabilities in Windows have been reported periodically. However, widespread adoption remained limited due to challenges in deploying infrastructure across diverse networks, including router configuration complexities and variable support in ISP backbones.

Design Principles

Reliability and Ordering

Pragmatic General (PGM) provides exactly-once delivery semantics for both ordered and unordered data streams in environments, ensuring that receivers obtain all transmitted packets without duplicates or losses within the protocol's transmit window. This reliability is achieved through the use of sequence numbers embedded in data packets, which allow receivers to detect gaps indicating missing packets and identify duplicates for suppression. Unlike protocols such as , PGM supports group-to-group (many-to-many) scenarios where senders do not need prior knowledge of all receivers, enabling scalable data distribution across diverse network topologies. Error detection in PGM relies on checksums in packet headers to verify and on sequence number gaps to identify losses, with receivers maintaining state to track expected packet sequences. PGM includes built-in repair mechanisms using negative acknowledgments (NAKs) to recover lost data up to the current transmit window position or to detect unrecoverable loss. Applications tolerant of occasional losses, such as streaming, may forgo requesting or applying repairs, effectively using the protocol in a best-effort manner that prioritizes low . Ordering is maintained through monotonically increasing Global Sequence Numbers (GSNs), which provide a for packets within a single transport session identified by the Transport Session Identifier (TSI). The TSI uniquely binds packets to a specific source-receiver session, allowing receivers to reconstruct ordered streams by buffering and reassembling data based on GSN continuity, even in the presence of out-of-order arrivals. For unordered delivery, applications can process packets as they arrive without enforcing sequence reconstruction, offering flexibility for non-strict timing requirements. This approach ensures that multicast streams preserve sender-intended sequence integrity at each receiver independently.

Scalability and Efficiency

Pragmatic General Multicast (PGM) addresses the challenge of negative acknowledgment (NAK) implosion in large receiver groups by employing Designated Local Repairers (DLRs), which are upstream elements or hosts that transmitted and provide local repairs to downstream receivers. Instead of allowing all NAKs to flood back to the source, DLRs intercept and respond to repair requests within their scope, caching packets in the transmit window and forwarding repairs to affected subgroups, thereby preventing exponential feedback growth and reducing source load. This hierarchical mechanism ensures that only aggregated or redirected NAKs propagate further upstream when local repairs are insufficient. The protocol's pragmatic approach enhances efficiency by granting applications control over repair scope and reliability trade-offs, particularly in high-loss or large-scale environments. Receivers can dynamically join or leave without source notification, with reliability limited to the current transmit window, allowing selective acknowledgment of critical data while discarding others to conserve resources. This flexibility avoids over-provisioning for perfect delivery, enabling tuned operation where applications prioritize efficiency over exhaustive recovery. PGM achieves bandwidth efficiency by leveraging IP multicast distribution trees established via IGMP or MLD, confining repairs to loss-affected branches rather than global retransmissions. PGM's network utilization is limited to approximately 97% due to header overhead. Optional integration of (FEC), such as Reed-Solomon codes, further reduces overhead by proactively transmitting parity packets, which can recover losses without NAK-based requests; simulations indicate it can cut repair bandwidth by up to 87% compared to pure ARQ, improving utilization to around 86% in large groups. While scales to groups of thousands of receivers through these mechanisms, its performance can degrade in very high- or partitioned networks without , as repeated NAKs and delayed repairs increase latency beyond the transmit . Network elements must manage state for outstanding NAKs, imposing memory limits that constrain scalability in extreme cases, such as requiring hundreds of megabytes for high-speed, long-duration sessions.

Protocol Operation

Core Message Types

Pragmatic General () employs a set of core message types to facilitate reliable communication over unreliable networks. These messages include Source Path Messages (SPMs), Original Data (ODATA), Repair Data (RDATA), and Negative Acknowledgments (NAKs), each serving distinct roles in data transmission, synchronization, and loss recovery. All PGM messages share a common header structure that ensures consistency and integrity across the protocol. The Source Path Message (SPM) is a periodic transmitted by the sender to synchronize receiver states and enable . It contains the Transport Session Identifier (TSI), which uniquely identifies the session; the Group Sequence Number (GSN) for tracking sequence information; and path details to establish awareness. SPMs also include trailing and leading sequence numbers to delineate the sender's transmit window, allowing receivers to detect gaps in data delivery. This mechanism supports receiver join and leave operations without explicit signaling. Original Data (ODATA) packets carry the primary application from the sender to receivers, ensuring ordered through embedded GSNs. Each ODATA includes the TSI for session , the GSN for sequencing, and the data itself, with optional options to initialize receiver state upon joining a session. These messages form the core of the forward data flow in , to all group members. Repair Data (RDATA) messages provide retransmissions of lost ODATA packets, triggered by NAKs from receivers. Similar in structure to ODATA, RDATA includes the TSI, GSN of the repaired packet, and the original , with optional (FEC) parity data to reduce repair requests in high-loss environments. This allows efficient recovery without requiring full acknowledgments from all receivers. Negative Acknowledgment (NAK) messages are sent by receivers to request repairs for missing data, flowing upstream toward the sender. NAKs include the TSI, GSN of the missing packet, and group information, often using option lists such as OPT_NAK_LIST to batch multiple repair requests for discrete sequence numbers efficiently. NAK Confirmations (NCFs) are separate messages used to acknowledge NAK reception and suppress redundancies. The common header in all PGM messages consists of fields like the protocol version for compatibility, message type to distinguish SPM, ODATA, RDATA, or NAK, the TSI (combining a global source ID and port), the source ID (a unique identifier such as an MD5 hash of the sender's address), and a checksum for integrity verification. These fields, typically 8-12 octets long, precede message-specific payloads and options.

Negative Acknowledgment Process

In the Pragmatic General Multicast (PGM) protocol, the negative acknowledgment (NAK) process enables receivers to detect and report efficiently while minimizing overhead. Receivers identify packets by monitoring the Sequence Number (GSN) embedded in Source Path Messages (SPM) or Original Data (ODATA) packets, comparing it against the expected leading edge of contiguous data or the SPM's lead sequence number to detect gaps. Upon detection, a receiver generates a NAK message specifying the sequence number(s) of the using NAK_TSI (Transport Session Identifier) and NAK_SQN (Sequence Number), with optional OPT_NAK_LIST for multiple discrete missing packets. This NAK is initially to the adjacent downstream PGM element, ensuring targeted loss notification without flooding the multicast group. To prevent NAK —where multiple simultaneously report the same loss— employs a suppression . defer NAK transmission by a random backoff interval, governed by the NAK_BO_IVL timer, which incorporates to desynchronize transmissions and is adaptively tuned based on network conditions (with defaults like NAK_BO_IVL_DEFAULT and bounds such as NAK_BO_IVL_MIN and NAK_BO_IVL_MAX). During this backoff period, the listens on the designated for NAKs (NAK_GRP, typically derived from the group's Address or NLA) for identical NAKs from other or for a NAK Confirm (NCF) . If such a is detected, the suppresses its own NAK, avoiding redundant transmissions and promoting . This probabilistic suppression balances responsiveness with reduced overhead, particularly in large sets. NAKs propagate upstream toward the source along the reverse distribution path in a hop-by-hop manner. Each intermediate PGM network element processes the incoming NAK, either forwarding it to the next upstream element or generating a Route NAK subtype to request network-layer repairs if applicable, ensuring the loss report reaches capable repair points without unnecessary traversal to the source. The receiver retransmits its NAK periodically until confirmation is received, with intervals controlled by configurable timers like NAK_RND for initial and subsequent repeats. Confirmation of NAK receipt occurs via the NCF message, which is by the source or an intermediate repair-capable network element to the entire group upon processing a NAK. The NCF matches the NAK's TSI and SQN parameters, signaling that repairs are underway or the loss has been acknowledged, thereby instructing all relevant receivers to cease further NAKs for that sequence range. This confirmation efficiently silences the group, preventing prolonged NAK storms. Overall, the process is timed by parameters such as the JOIN timer for late-joining receivers to assess initial data gaps and the REPAIR timer (e.g., NAK_RDATA_IVL) to bound wait times for repair responses, ensuring the remains responsive without excessive or use. These mechanisms collectively provide reliable loss detection while scaling to wide-area networks.

Repair Mechanisms

In Pragmatic General Multicast (), repair mechanisms ensure reliable data delivery by providing retransmissions for lost packets detected via negative acknowledgments (NAKs), with processes layered to minimize source overhead and . These mechanisms prioritize local and network-level repairs before falling back to the source, leveraging elected repairers and router assistance to localize retransmissions within affected sub-trees. Local repair is handled by Designated Local Repairers (DLRs), which are elected nodes within a local network that cache transmitted data and respond directly to NAKs from receivers, thereby reducing the load on the source by offloading retransmissions to proximity-based nodes. DLRs are elected through a polling process where network elements send POLL messages with the PGM_POLL_DLR subtype to discover available repairers, and potential DLRs respond with POLR messages indicating their willingness and address for redirection; this heartbeat-like polling ensures dynamic selection based on and availability, typically favoring nodes closest to receivers. Once elected, a DLR intercepts NAKs redirected to it via prior POLR announcements, validates them using sequence numbers, and multicasts repair data (RDATA) back to the affected group segment or unicasts to upstream parents if off-tree. At the network layer, PGM Router Assist enables routers to intercept and process NAKs without full termination, caching repair data along the tree and constraining RDATA forwarding to only the interfaces leading to NAK-originating sub-trees. This assist uses NAK patterns to define repair scopes, allowing routers to generate negative confirmations (NCFs) that suppress duplicate NAKs and confirm receipt of repairs, thus preventing NAK while providing localized retransmissions from tree caches. If local DLRs or router assists fail to respond within a configured interval (NAK_RPT_IVL), NAKs propagate upstream toward the source. As a fallback, the source provides repair when no intermediate repairer responds, multicasting RDATA packets to the entire group for NAKed sequence numbers within its transmit window, ensuring all receivers can recover losses while adhering to 's ordered, duplicate-free delivery guarantees. To handle spurious NAKs—such as those generated by delayed or misordered packets—PGM employs sequence number validation in NAK processing and NCF confirmations, where repairers or the source issue NCFs to downstream elements upon fulfilling a NAK, enabling validation and suppression of redundant requests to avoid unnecessary retransmissions. Optionally, PGM integrates (FEC) using Reed-Solomon codes to provide proactive loss protection, where sources transmit parity packets over defined transmission groups alongside original data, allowing receivers to reconstruct lost packets without NAK-based repairs; this is configured per session via options like FEC_GROUP_SIZE and reduces bandwidth demands for repairs in high-loss environments, though it increases initial transmission overhead.

Implementations and Support

Software and API Integrations

Microsoft provides native support for the Pragmatic General Multicast (PGM) protocol in Windows Server 2003 and later versions through the Windows Sockets API. Developers create PGM sockets using the socket() function with the SOCK_DGRAM type and IPPROTO_PGM protocol, enabling reliable, scalable communications. To join a session, applications invoke WSAJoinLeaf(), which establishes leaf node connections, exchanges session data, and negotiates parameters. This implementation supports receiver-driven reliability, where receivers detect packet loss and request repairs without sender acknowledgments. The socket in Windows is particularly suited for applications requiring efficient group communications, such as distribution, where it delivers ordered, duplicate-free data streams to multiple recipients. is handled through standard setsockopt() calls for general options like receive buffer sizes (SO_RCVBUF) and PGM-specific flags, such as enabling verification with PGM_USE_PGM_CHECKSUM. Advanced parameters, including (FEC) thresholds and repair request timeouts, can be tuned via protocol-level options to optimize performance in lossy networks. As of 2025, the Windows PGM implementation remains present but has seen security updates addressing vulnerabilities like CVE-2025-21307. OpenPGM offers an open-source implementation of PGM as a portable C library, compatible with Linux, Unix-like systems, FreeBSD, and Windows. It provides a BSD sockets-compatible interface, where pgm_socket() creates transport endpoints for reliable multicast over IP or UDP encapsulation, supporting both IPv4 and IPv6 addressing. The library emphasizes scalability for large receiver groups and includes APIs for sending (pgm_sendmsg()) and receiving (pgm_recvmsg()) messages, with built-in handling for negative acknowledgments and repairs. OpenPGM is licensed under LGPL 2.1, allowing static linking, and continues to receive maintenance releases on GitHub, with active packaging in distributions like those from openSUSE and Fedora for embedded and high-performance computing environments. For cross-platform Java development, third-party bindings such as provide a native implementation of the protocol, wrapping core functionality into classes for socket creation, session management, and data transmission. These wrappers enable integration into JVM-based applications, offering methods analogous to but with PGM's reliability features, including loss detection and retransmission requests. Javapgm supports building via and is suitable for networked simulations or distributed systems requiring efficiency. As of 2025, software integrations remain available in Windows kernels and open-source libraries like OpenPGM, which continue to receive updates in select distributions for specialized use cases such as financial trading systems and scientific simulations. However, broader adoption has waned due to challenges in deployment, including limited router support and the preference for unicast-based alternatives in modern cloud-native architectures.

Network Device Support

Cisco's implementation of PGM support, known as PGM Host and Router Assist, was introduced in IOS Release 12.2. This feature enables edge routers to act as virtual PGM hosts, processing negative acknowledgments (NAKs), caching original data (ODATA) for repairs, and generating repair packets to alleviate CPU overload on end hosts during multicast sessions. Juniper Networks provided partial PGM support through its Router Assist functionality, first available in Junos OS Release 5.4 for M-series and T-series routers, which integrated with underlying protocols like PIM-SM to facilitate NAK suppression and repair overlays without full native PGM implementation. Hardware acceleration for PGM is primarily achieved through general offload in network interface cards (NICs), where vendors like and enable replication and filtering in hardware, indirectly improving PGM performance by reducing host CPU involvement in packet distribution, though PGM header parsing remains software-based. Deploying PGM in networks requires configuration of supporting protocols such as IGMPv3 for host-to-router signaling and PIM for inter-router multicast routing to establish group memberships and forward traffic efficiently. Support for PGM over is limited, as the core specification ( 3208) focuses on IPv4, and many implementations, including Microsoft's, lack full IPv6 encapsulation or scoping mechanisms, leading to compatibility issues in dual-stack environments. Network devices supporting often include monitoring tools, such as SNMP MIBs for statistics, which can track PGM-specific metrics like NAK generation rates and repair success counts to aid in and performance optimization; for example, provides CLI commands like "show pgm interface stats" that expose these details, integrable with SNMP via general MIBs.

Applications and Comparisons

Typical Use Cases

Pragmatic General Multicast (PGM) finds application in scenarios requiring efficient, reliable delivery of data to multiple recipients without the overhead of individual connections. One prominent use case is streaming, particularly in early (IPTV) trials and video-on-demand services, where PGM supports loss-tolerant yet ordered packet delivery for real-time video and audio distribution. Its negative acknowledgment mechanism ensures receivers detect and recover lost packets, making it suitable for conferencing applications that prioritize bandwidth efficiency over absolute guarantees. In financial feeds, excels at disseminating information such as quotes to numerous traders simultaneously, guaranteeing duplicate-free delivery and preventing missed updates that could impact trading decisions. This avoids the bandwidth scaling issues of protocols, enabling low-latency distribution across trading floors or data centers. For telemetry and monitoring, PGM facilitates the of distributed sensor data, as seen in NASA's avionics and software systems where it integrates with publish-subscribe models to broadcast telemetry efficiently across subsystems. Similarly, in military simulations, PGM supports group synchronization in (DIS) environments, aiding reliable data exchange in high-bandwidth, proprietary networks for training and operational scenarios. Its reliability features, such as repair mechanisms, briefly align with the ordered delivery needs in these contexts. PGM is also employed for software updates and disk , distributing large files to clusters in content delivery networks (CDNs) prior to the widespread adoption of , leveraging its scalability for one-to-many transfers without overwhelming network resources. Despite these strengths, PGM's practical deployment is limited to local area networks (LANs) and wide area networks (WANs) with robust support, as firewalls and policies often block traffic in broader environments, reducing its prevalence in public WANs. Additionally, multiple remote execution vulnerabilities in the Windows PGM , such as CVE-2023-28250 and CVE-2025-21307, have heightened concerns, further limiting its use in production environments as of 2025.

Comparison with Other Multicast Protocols

Pragmatic General (PGM) differs from , as defined in 1112, primarily in its approach to reliability. While provides a lightweight, best-effort delivery mechanism for one-to-many communication over IP networks, it offers no built-in guarantees for packet delivery, ordering, or duplicate avoidance, making it prone to losses in unreliable environments. PGM extends this foundation by layering reliability atop IP through negative acknowledgments (NAKs) and selective repairs, ensuring receivers either obtain all data or detect irrecoverable losses, albeit at the cost of increased overhead from control messages and potential retransmissions. This suits applications needing moderate reliability without 's complete lack of error recovery, though PGM's added complexity can reduce efficiency in low-loss scenarios compared to 's minimal footprint. In contrast to Scalable Reliable Multicast (SRM), PGM employs a source-centric repair model that leverages Designated Local Repairers (DLRs) to handle retransmissions hierarchically, enhancing scalability in asymmetric groups where receivers vastly outnumber sources. SRM, a receiver-initiated , relies on NAK suppression and collaborative repairs among group members to mitigate feedback implosion, which works well for symmetric, application-level groups but can suffer from higher and use in large, heterogeneous networks due to diffused repair responsibilities. PGM's use of NAK lists and (FEC) builds on SRM's suppression techniques but centralizes repairs for better performance in one-to-many scenarios, reducing overall control traffic as group size grows. PGM avoids the inefficiencies of tunneling TCP over multicast, which requires establishing individual TCP connections per receiver—often via a central or —leading to multiplied bandwidth demands and scalability limits in true one-to-many distributions. By operating natively over without per-receiver streams, PGM achieves higher efficiency for bulk data delivery, as a single transmission serves all group members. However, unlike TCP, base PGM lacks integrated end-to-end , potentially causing network overload; extensions like PGM-CC address this by incorporating TCP-friendly rate mechanisms, such as those inspired by TFRC. Compared to emerging QUIC multicast extensions in IETF drafts, PGM remains an IP-layer protocol focused on reliability without native encryption or application-layer integrations like HTTP. QUIC multicast proposals enable efficient one-to-many streams with built-in congestion control, multiplexing, and TLS encryption, making them more suitable for modern web-scale applications over UDP, but they require QUIC's full transport stack, which introduces complexity absent in PGM's simpler, datagram-oriented design. PGM's IP-native approach, while dated since its 2001 specification, prioritizes lightweight reliability for legacy multicast infrastructures. Overall, strikes a pragmatic balance between reliability and for moderate-sized groups in reliable multicast applications, outperforming and SRM in source-dominated topologies while sidestepping tunneling's overheads. However, its adoption has declined since the amid the rise of unicast-based content delivery networks and application-layer solutions that bypass native limitations.

References

  1. [1]
    RFC 3208 - PGM Reliable Transport Protocol Specification
    PGM is a reliable multicast transport protocol for applications that require ordered or unordered, duplicate-free, multicast data delivery from multiple ...
  2. [2]
    Reliable Multicast Programming (PGM) - Win32 apps - Microsoft Learn
    Jan 7, 2021 · PGM is a reliable and scalable multicast protocol that enables receivers to detect loss, request retransmission of lost data, or notify an application of ...
  3. [3]
    Chapter: Configuring PGM Host and Router Assist - IP Multicast
    Mar 19, 2015 · Pragmatic General Multicast (PGM) is a reliable multicast transport protocol for applications that require ordered, duplicate-free, multicast ...<|control11|><|separator|>
  4. [4]
  5. [5]
    [PDF] The PGM Reliable Multicast Protocol - Cornell: Computer Science
    Pragmatic General Multicast (PGM) is a reliable multicast transport protocol that runs over a best effort datagram service, such as IP multicast. PGM obtains.
  6. [6]
  7. [7]
    Reliable Multicast Transport (rmt) - IETF Datatracker
    The purpose of this WG is to standardize reliable multicast transport. Initial efforts have focused solely on the standardization of the one-to-many transport ...Missing: PGM | Show results with:PGM
  8. [8]
    Cisco Announces Support For Reliable Multicast Technology
    PGM Reliable Transport Protocol adds a layer of reliability to the multicast networks enabling business-class applications such as real-time financial data ...Missing: Pragmatic | Show results with:Pragmatic
  9. [9]
    openpgm - PgmHistory.wiki - Google Code
    2002 May. TIBCO release Rendezvous 7.0 with PGM network protocol support. Draft 2 of PGMMIB, full MIB for the PGM protocol <draft-petrova- ...
  10. [10]
    [PDF] pragmatic general multicast (pgm) for bandwidth efficient, reliable ...
    Pragmatic General Multicast (PGM), as described in RFC 3208, provides reliable, ordered data transmission over a connectionless multicast protocol. Page 3. 3.
  11. [11]
  12. [12]
  13. [13]
  14. [14]
  15. [15]
  16. [16]
  17. [17]
  18. [18]
  19. [19]
  20. [20]
  21. [21]
  22. [22]
  23. [23]
  24. [24]
  25. [25]
  26. [26]
  27. [27]
  28. [28]
  29. [29]
    OpenPGM - Google Code
    PGM is a reliable and scalable multicast protocol that enables receivers to detect loss, request retransmission of lost data, or notify an application of ...Missing: JUGM | Show results with:JUGM
  30. [30]
    net/openpgm: Implementation of the PGM reliable multicast protocol
    Jan 28, 2013 · OpenPGM is an open source implementation of the Pragmatic General Multicast (PGM) specification in RFC 3208 available at www.ietf.org.
  31. [31]
    steve-o/javapgm: Java implementation of the PGM protocol - GitHub
    May 23, 2013 · Java implementation of the PGM protocol. Building. Use Maven to build from source. The following works: mvn compile.Missing: Pragmatic JUGM
  32. [32]
    TALOS-2024-2062 || Cisco Talos Intelligence Group
    Sep 25, 2024 · SUMMARY. A memory corruption vulnerability exists in the Pragmatic General Multicast server in Microsoft Windows 10 Kernel.
  33. [33]
    libpgm - OpenEmbedded Layer Index
    OpenPGM is an open source implementation of the Pragmatic General Multicast (PGM) specification in RFC 3208 available at www.ietf.org. PGM is a reliable and ...
  34. [34]
    Configuring PGM Host and Router Assist - Cisco
    Cisco IOS IP Configuration Guide, Release 12.2 - Configuring PGM Host and Router Assist [Cisco IOS Software Releases 12.2 Mainline] - Cisco Systems.
  35. [35]
    Advanced Settings for Intel® Ethernet Adapters
    Intel® PROSet for Windows Device Manager includes an Advanced tab with Settings options and definitions: Intel PROset help for adapter configuration.
  36. [36]
    [PDF] Broadcom Ethernet Network Adapter User Guide - TechDocs
    Jun 30, 2025 · Supports hardware acceleration in Linux and VMware environments. Supports hardware acceleration in Linux environments only. Large Receive ...Missing: PGM | Show results with:PGM
  37. [37]
    [PDF] IP MULTICAST WITH APPLICATIONS TO IPTV AND MOBILE DVB-H
    • Pragmatic General Multicast (PGM) is a reliable multicast transport protocol for applications that require ordered, duplicate-free multicast data delivery.
  38. [38]
    [DOC] The PGM Reliable Multicast Protocol - Microsoft
    PGM is currently an IETF experimental RFC that has been implemented in both commercial and academic settings. KEYWORDS. Reliable multicast, scalability, ...
  39. [39]
    [PDF] Power, Avionics and Software Communication Network Architecture
    If you use multicast (e.g. PGM or Encapsulated Pragmatic General Multicast (EPGM)) the publisher will immediately put messages on the wire for anyone to receive ...
  40. [40]
    Proceedings Template - WORD - UCL Computer Science
    A small-scale proprietary WAN of high bandwidth put together exclusively for the purpose of a particular military simulation based upon the Distributed ...<|separator|>
  41. [41]
    [PDF] US Army Research Laboratory Visualization Framework Design ...
    Because of known limitations of pragmatic general multicast (PGM) within. ZeroMQ, such as being unable to communicate across the loopback device, multicast ...
  42. [42]
    IP Multicast Technology Overview - Cisco
    Pragmatic General Multicast (PGM). PGM is a reliable multicast transport protocol for applications that require ordered, duplicate-free, multicast data delivery ...
  43. [43]
    RFC 1112: Host extensions for IP multicasting
    This memo specifies the extensions required of a host implementation of the Internet Protocol (IP) to support multicasting.
  44. [44]
    A reliable multicast framework for light-weight sessions and ...
    This paper describes SRM (Scalable Reliable Multicast), a reliable multicast framework for application level framing and light-weight sessions.
  45. [45]
    [PDF] A Reliable Multicast Framework for Light-weight Sessions and ...
    —This paper describes SRM (Scalable Reliable Multicast), a reliable multicast framework for light-weight sessions and application level framing.
  46. [46]
    draft-jholland-quic-multicast-07 - Multicast Extension for QUIC
    Jul 5, 2025 · This document defines a multicast extension to QUIC to enable the efficient use of multicast-capable networks to send identical data streams to many clients at ...
  47. [47]
    draft-ietf-pim-multicast-lessons-learned-06
    This document gives a historical perspective about the design and deployment of multicast routing protocols.Missing: decline adoption post-