UDT - Re: UDP based data xfer protocols

Zenaan Harkness zen at freedbms.net
Mon Oct 28 05:16:14 PDT 2019


> https://en.wikipedia.org/wiki/UDP-based_Data_Transfer_Protocol

UDT began in 2001 as a successful attempt to overcome TCP protocol
overhead problems, especially over high speed networks.

UDT is built on top of User Datagram Protocol (UDP), adding
congestion control and reliability control mechanisms. UDT is an
application level, connection oriented, duplex protocol that supports
both reliable data streaming and partial reliable messaging.

In October, 2003, the NCDM achieved a 6.8 gigabits per second
transfer from Chicago, United States to Amsterdam, Netherlands.
During the 30-minute test they transmitted approximately 1.4
terabytes of data.

Initially, UDT was a UDP stream + a TCP control stream,
later, TCP stream was removed, with control messages sent over the
UDP data stream.

In UDT3 (2006), congestion control was improved to support "normal
internet" UDT connections (improved low bandwidth support), and
significant reduction in CPU and RAM needs.

UDT4 is designed to support concurrent UDT streams (through the same
port) and firewall traversing (rendezvous/ hole punching).


UDT uses periodic ACKs and NACKs - reducing traffic control traffic
(so ACKS are proportional to time, not to xfer volume).


AIMD with decreasing increase

UDT uses an AIMD (additive increase multiplicative decrease) style
congestion control algorithm. The increase parameter is inversely
proportional to the available bandwidth (estimated using the packet
pair technique), thus UDT can probe high bandwidth rapidly and can
slow down for better stability when it approaches maximum bandwidth.
The decrease factor is a random number between 1/8 and 1/2. This
helps reduce the negative impact of loss synchronization.

In UDT, packet transmission is limited by both rate control and
window control. The sending rate is updated by the AIMD algorithm
described above. The congestion window, as a secondary control
mechanism, is set according to the data arrival rate on the receiver
side.



More information about the cypherpunks mailing list