Datagram Retransmission (DGR) is a computer program that, within certain limits, ensures the reception of each datagram transmitted under the User Datagram Protocol/Internet Protocol. [User Datagram Protocol (UDP) is considered unreliable because it does not involve a reliability- ensuring connection-initiation dialogue between sender and receiver. UDP is well suited to issuing of many small messages to many different receivers.] Unlike prior software for ensuring reception of UDP datagrams, DGR does not contribute to network congestion by retransmitting data more frequently as an ever-increasing number of messages and acknowledgements is lost. Instead, DGR does just the opposite: DGR includes an adaptive timeout- interval-computing component that provides maximum opportunity for reception of acknowledgements, minimizing retransmission. By monitoring changes in the rate at which message-transmission transactions are completed, DGR detects changes in the level of congestion and responds by imposing varying degrees of delay on the transmission of new messages. In addition, DGR maximizes throughput by not waiting for acknowledgement of a message before sending the next message. All DGR communication is asynchronous, to maximize efficient utilization of network connections. DGR manages multiple concurrent datagram transmission and acknowledgement conversations.

This program was written by Scott Burleigh of Caltech for NASA's Jet Propulsion Laboratory. For further information, access the Technical Support Package (TSP) free online at www.techbriefs.com/tsp under the Software category.

This software is available for commercial licensing. Please contact Karina Edmonds of the California Institute of Technology at (626) 395-2322. Refer to NPO-40868.



This Brief includes a Technical Support Package (TSP).
Document cover
Improving UDP/IP Transmission Without Increasing Congestiton

(reference NPO-40868) is currently available for download from the TSP library.

Don't have an account?



Magazine cover
NASA Tech Briefs Magazine

This article first appeared in the September, 2006 issue of NASA Tech Briefs Magazine (Vol. 30 No. 9).

Read more articles from the archives here.


Overview

The document titled "Improving UDP/IP Transmission Without Increasing Congestion" from NASA's Jet Propulsion Laboratory outlines a system called Datagram Retransmission (DGR), which enhances the reliability of UDP/IP datagram transmission. UDP (User Datagram Protocol) is known for its low overhead and speed, making it suitable for applications that require the transmission of small, unrelated messages to numerous receivers. However, it lacks built-in mechanisms for ensuring message delivery, which DGR aims to address.

DGR is designed to maximize communication performance while minimizing network congestion. Traditional systems for automatic retransmission of UDP datagrams often exacerbate congestion by increasing traffic in response to lost messages. In contrast, DGR incorporates congestion reduction measures, making it a "good citizen" on the network. Key features of DGR include:

  1. Adaptive Timeout Intervals: DGR employs an optimistic and "lazy" timeout interval computation, allowing for maximum acknowledgment reception and reducing unnecessary retransmissions.

  2. Congestion Detection: The system monitors the rate of message transmission and adjusts the issuance of new messages based on network congestion levels. If retransmission rates are high, indicating congestion, DGR reduces its transmission rate. Conversely, if retransmission rates are low, it increases the transmission rate to optimize resource utilization.

  3. Transmission Target Adjustment: DGR dynamically adjusts its transmission targets based on the performance of previous episodes. If the retransmission rate exceeds certain thresholds (1/32 of total bytes transmitted), the system reduces the transmission target. If the rate is below a lower threshold (1/64), it increases the target, ensuring that the transmission rate remains within a "dead band" that balances network load.

  4. Asynchronous Communication: DGR allows for multiple concurrent datagram transmissions and acknowledgments, maximizing network efficiency without waiting for individual message confirmations.

Overall, DGR represents a significant advancement in reliable UDP/IP communication, particularly for applications such as large-scale distributed simulations and mass notification systems. By effectively managing transmission rates and reducing congestion, DGR enhances the reliability of data delivery while maintaining high throughput, making it suitable for modern communication needs in various fields, including aerospace and beyond.