We are very familiar with UDP. Here we will introduce the UDT protocol. The two protocols are easy to confuse in terms of abbreviations. You must first distinguish them clearly. Next, let's compare and differentiate this part of content.
1. Introduction
With the increase of network bandwidth latency products (BDP), the TCP protocol is usually becoming inefficient. This is because its AIMDadditive increase multiplicative decrease) algorithm completely reduces TCP congestion windows, but cannot quickly restore available bandwidth. Theoretically, the traffic analysis shows that TCP is vulnerable to packet loss attacks when BDP increases to a high level.
In addition, the unfair RTT inherited from TCP congestion control has become a serious problem in distributed data-intensive programs. Concurrent TCP streams with different RTTs will share bandwidth unevenly. Although the common TCP implementation is used in a small BDP network for relatively equal bandwidth sharing, in a network with a large number of BDP, generally, TCP-based programs must bear serious unfair issues. The RTT-based algorithm severely limits its efficiency in Wan distributed computing, such as grid computing on the internet.
Up till today, the improvement of standard TCP has never been satisfactory in terms of efficiency and fairness in the high BDP environment, especially the RTT-based problem ). For example: TCP modification, RFC1423 High Performance extension), RFC2018SACK), RFC2582New Reno), RFC2883D-SACK), and RFC2988RTO computing) are more or less improve the efficiency, however, the most fundamental AIMD algorithm is not solved. Hs tcprfc 3649) by fundamentally changing the TCP congestion control algorithm to achieve high bandwidth utilization in the high BDP network, but the fairness problem still exists.
Considering the above background, a transmission protocol that supports high-performance data transmission in the high BDP network is required. We recommend an application-level transmission protocol, called UDT or UDP-based data transmission protocol, with a plug-in control algorithm.
This article describes two orthogonal parts, UDP protocol and UDT congestion control algorithm. An application-level protocol, located on top of UDP, uses other congestion algorithms. However, the algorithms described in this article can also be implemented in other protocols, such as TCP.
The reference implementation of a protocol is called [UDT]. detailed performance analysis of the congestion control algorithm can be found in [GHG04.
2. design objectives
UDT is mainly used to share rich bandwidth with a small number of bulk sources. The most typical example is Grid Computing Based on Fiber wide area networks, some research institutes run their distributed data-intensive programs on such networks, such as remote access to instruments, distributed data mining, and high-resolution Multimedia Streams.
The main objective of UDT is efficiency, fairness, and stability. A single or a small number of UDT protocol streams should use the available bandwidth provided by all high-speed connections, even if the bandwidth changes dramatically. At the same time, all concurrent streams must share the bandwidth fairly without relying on different bandwidth bottlenecks, start time, And RTT. Stability requires that the packet sending rate always converge and the available bandwidth is very fast, and congestion collision must be avoided.
UDT is not used to replace TCP when the bottle strength bandwidth is relatively small and a large number of short file streams.
UDT mainly as a friend of TCP, and TCP coexist, the bandwidth allocated by the UDT protocol should not exceed the maximum and minimum fair share principle according to the MAX-MIN rules. Note: The maximum and minimum rules allow the UDT to allocate available bandwidth that cannot be used by TCP under a high BDP connection ).