Knowledge (XXG)

UDP-based Data Transfer Protocol

Source 📝

348:(PCL). This approach is modular, comprising a separate proof of each protocol section and providing insight into the network environment in which each section can be reliably employed. Moreover, the proof holds for a variety of failure recovery strategies and other implementation and configuration options. They derive their technique from the PCL on TLS and Kerberos in the literature. They work on developing and validating its security architecture by using rewrite systems and automata. 268:(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. 256:) to confirm packet delivery, while negative ACKs (loss reports) are used to report packet loss. Periodic ACKs help to reduce control traffic on the reverse path when the data transfer speed is high, because in these situations, the number of ACKs is proportional to time, rather than the number of data packets. 290:
simultaneously, that is, they both connect to one another. Therefore, both parties must use the same port for connection, and both parties are role-equivalent (in contrast to listener/caller roles in traditional setup). Rendezvous is widely used for firewall traversing when both peers are behind firewalls.
328:
UDT is considered a state-of-the-art protocol, addressing infrastructure requirements for transmitting data in high-speed networks. Its development, however, creates new vulnerabilities because like many other protocols, it relies solely on the existing security mechanisms for current protocols such
150:
Initial versions were developed and tested on very high-speed networks (1 Gbit/s, 10 Gbit/s, etc.); however, recent versions of the protocol have been updated to support the commodity Internet as well. For example, the protocol now supports rendezvous connection setup, which is a desirable
280:
The UDT implementation exposes a set of variables related to congestion control in a C++ class and allows users to define a set of callback functions to manipulate these variables. Thus, users can redefine the control algorithm by overriding some or all of these callback functions. Most TCP control
379:
At SC06 (Tampa, FL), the team transferred an astronomy dataset at 8 Gbit/s disk-to-disk from Chicago, IL to Tampa, FL using UDT. At SC08 (Austin, TX), the team demonstrated the use of UDT in a complex high-speed data transfer involving various distributed applications over a 120-node system,
204:
SABUL was later renamed to UDT starting with version 2.0, which was released in 2004. UDT2 removed the TCP control connection in SABUL and used UDP for both data and control information. UDT2 also introduced a new congestion control algorithm that allowed the protocol to run "fairly and friendly"
177:
The UDT project started in 2001, when inexpensive optical networks became popular and triggered a wider awareness of TCP efficiency problems over high-speed wide area networks. The first version of UDT, also known as SABUL (Simple Available Bandwidth Utility Library), was designed to support bulk
223:
Moreover, since the absence of a security feature for UDT has been an issue with its initial implementation in a commercial environment, Bernardo (2011) has developed a security architecture for UDT as part of his PhD studies. This architecture however is undergoing enhancement to support UDT in
208:
UDT3 (2006) extended the usage of the protocol to the commodity Internet. Congestion control was tuned to support relatively low bandwidth as well. UDT3 also significantly reduced the use of system resources (CPU and memory). Additionally, UDT3 allows users to easily define and install their own
289:
Beside the traditional client/server connection setup (AKA caller/listener, where a listener waits for connection and potentially accepts multiple connecting callers), UDT supports also a new rendezvous connection setup mode. In this mode both sides listen on their port and connect to the peer
271:
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.
416:
Bernardo, D.V and Hoang, D. B; "Empirical Survey: Experimentation and Implementations of High Speed Protocol Data Transfer for GRID " Proceedings of IEEE 25th International Conference on Advance Information Networking and Application Workshops, March 2011,
340:
focusing on practical experiments on UDT using their proposed security mechanisms and exploring the use of other existing security mechanisms used on TCP/UDP for UDT, gained interesting reviews in various network and security scientific communities.
212:
UDT4 (2007) introduced several new features to better support high concurrency and firewall traversing. UDT4 allowed multiple UDT connections to bind to the same UDP port and it also supported rendezvous connection setup for easier
351:
The result of their work, which is first in the literature, is a more robust theoretical and practical representation of a security architecture of UDT, viable to work with other high-speed network protocols.
473: 220:
A fifth version of the protocol is currently in the planning stage. Possible features include the ability to support multiple independent sessions over a single connection.
420:
Yunhong Gu and Robert L. Grossman, UDT: UDP-based Data Transfer for High-Speed Wide Area Networks, Computer Networks (Elsevier). Volume 51, Issue 7. May 2007.
462: 528: 178:
data transfer for scientific data movement over private networks. SABUL used UDP for data transfer and a separate TCP connection for control messages.
380:
across four data centers in Baltimore, Chicago (2), and San Diego. At SC09 (Portland, OR), a collaborative team from NCDM, Naval Research Lab, and
538: 162:. It is one of the most popular solutions for supporting high-speed data transfer and is part of many research projects and commercial products. 344:
To analyze the security mechanisms, they carry out a formal proof of correctness to assist them in determining their applicability by using
316:
Because UDT is purely based on UDP, it has also been used in many situations where TCP is at a disadvantage to UDP. These scenarios include
523: 373: 171: 333: 451: 337: 144: 59: 533: 241: 36: 139:), is a high-performance data transfer protocol designed for transferring large volumetric datasets over high-speed 345: 299: 174:
in the laboratory of Dr. Robert Grossman. Dr. Gu continues to maintain and improve the protocol after graduation.
361: 398: 233: 152: 170:
UDT was developed by Yunhong Gu during his PhD studies at the National Center for Data Mining (NCDM) of
309:
Over the commodity Internet, UDT has been used in many commercial products for fast file transfer over
438: 393: 96: 376:, the world's premier conference for high-performance computing, networking, storage, and analysis. 91: 306:, a popular data transfer tool in grid computing, has UDT available as a data transfer protocol. 237: 364:
project, which uses the transmission reliability for live video streaming over public internet.
310: 214: 140: 103: 381: 372:
The UDT team has won the prestigious Bandwidth Challenge three times during the annual
240:
and reliability control mechanisms. UDT is an application level, connection oriented,
517: 281:
algorithms can be implemented using this feature with fewer than 100 lines of code.
244:
protocol that supports both reliable data streaming and partial reliable messaging.
317: 508: 194: 159: 108: 503: 22: 384:
showcased UDT-powered wide area data intensive cloud computing applications.
253: 190: 498: 198: 302:
to support high-speed data transfer over optical networks. For example,
65: 303: 186: 182: 493: 474:
Open Cloud Testbed Wins Bandwidth Challenge at SC09, December 8, 2009
463:
UIC Groups Win Bandwidth Challenge Award, HPCWire, November 20, 2008
84: 143:. Such settings are typically disadvantageous for the more common 452:
NCDM Wins Bandwidth Challenge at SC06, HPCWire, November 24, 2006
404: 265: 197:. During the 30-minute test they transmitted approximately 1.4 488: 320:
applications, video and audio communication, and many others.
119: 158:
UDT has an open source implementation which can be found on
332:
Research conducted by Dr. Danilo Valeros Bernardo of the
499:
UdtSharp: .NET library written in 100% managed code (C#)
224:
various network environments (i.e., optical networks).
494:
UDT.Net wrapper around the native UDT protocol library
329:
as the Transmission Control Protocol (TCP) and UDP.
114: 102: 90: 80: 58: 35: 21: 8: 16: 151:feature for traversing NAT firewalls using 504:IETF Draft from October 12, 2010 (expired) 324:Evaluation of feasible security mechanisms 181:In October, 2003, the NCDM achieved a 6.8 15: 430: 509:run HTTP over UDP in Node.js with UDT 42:4.11 / February 23, 2013 7: 252:UDT uses periodic acknowledgments ( 205:with concurrent UDT and TCP flows. 374:ACM/IEEE Supercomputing Conference 14: 172:University of Illinois at Chicago 360:UDT project has been a base for 133:UDP-based Data Transfer Protocol 529:Free software programmed in C++ 334:University of Technology Sydney 276:Configurable congestion control 209:congestion control algorithms. 539:Software using the BSD license 1: 338:Australian Technology Network 260:AIMD with decreasing increase 524:Application layer protocols 285:Rendezvous connection setup 555: 489:UDT Project on SourceForge 346:protocol composition logic 300:high-performance computing 185:per second transfer from 54: 31: 399:Fast and Secure Protocol 232:UDT is built on top of 298:UDT is widely used in 234:User Datagram Protocol 228:Protocol architecture 394:Tsunami UDP Protocol 97:Protocol (computing) 189:, United States to 18: 534:Internet protocols 336:, a member of the 311:wide area networks 238:congestion control 141:wide area networks 215:UDP hole punching 130: 129: 546: 476: 471: 465: 460: 454: 449: 443: 442: 435: 356:Derivative works 126: 123: 121: 76: 73: 71: 69: 67: 49: 47: 19: 554: 553: 549: 548: 547: 545: 544: 543: 514: 513: 485: 480: 479: 472: 468: 461: 457: 450: 446: 437: 436: 432: 427: 413: 390: 370: 358: 326: 296: 287: 278: 262: 250: 230: 168: 118: 64: 50: 45: 43: 12: 11: 5: 552: 550: 542: 541: 536: 531: 526: 516: 515: 512: 511: 506: 501: 496: 491: 484: 483:External links 481: 478: 477: 466: 455: 444: 429: 428: 426: 423: 422: 421: 418: 412: 409: 408: 407: 402: 396: 389: 386: 369: 366: 357: 354: 325: 322: 295: 292: 286: 283: 277: 274: 261: 258: 249: 246: 236:(UDP), adding 229: 226: 167: 164: 128: 127: 116: 112: 111: 106: 100: 99: 94: 88: 87: 82: 78: 77: 62: 56: 55: 52: 51: 41: 39: 37:Stable release 33: 32: 29: 28: 25: 13: 10: 9: 6: 4: 3: 2: 551: 540: 537: 535: 532: 530: 527: 525: 522: 521: 519: 510: 507: 505: 502: 500: 497: 495: 492: 490: 487: 486: 482: 475: 470: 467: 464: 459: 456: 453: 448: 445: 440: 434: 431: 424: 419: 415: 414: 410: 406: 403: 400: 397: 395: 392: 391: 387: 385: 383: 377: 375: 367: 365: 363: 355: 353: 349: 347: 342: 339: 335: 330: 323: 321: 319: 314: 312: 307: 305: 301: 294:Use scenarios 293: 291: 284: 282: 275: 273: 269: 267: 259: 257: 255: 248:Acknowledging 247: 245: 243: 239: 235: 227: 225: 221: 218: 216: 210: 206: 202: 200: 196: 192: 188: 184: 179: 175: 173: 165: 163: 161: 156: 154: 148: 146: 142: 138: 134: 125: 117: 113: 110: 107: 105: 101: 98: 95: 93: 89: 86: 83: 79: 75: 63: 61: 57: 53: 40: 38: 34: 30: 26: 24: 20: 469: 458: 447: 439:"Yunhong Gu" 433: 378: 371: 359: 350: 343: 331: 327: 318:peer-to-peer 315: 308: 297: 288: 279: 270: 264:UDT uses an 263: 251: 231: 222: 219: 211: 207: 203: 180: 176: 169: 157: 149: 136: 132: 131: 122:.sourceforge 23:Developer(s) 195:Netherlands 160:SourceForge 109:BSD License 66:sourceforge 518:Categories 425:References 417:Singapore. 411:Literature 166:Background 147:protocol. 81:Written in 60:Repository 46:2013-02-23 27:Yunhong Gu 201:of data. 199:terabytes 191:Amsterdam 70:/projects 388:See also 183:gigabits 304:GridFTP 187:Chicago 115:Website 104:License 44: ( 401:(FASP) 368:Awards 242:duplex 382:iCAIR 405:QUIC 266:AIMD 124:.net 92:Type 72:/udt 68:.net 362:SRT 254:ACK 153:UDP 145:TCP 137:UDT 120:udt 85:C++ 17:UDT 520:: 313:. 217:. 193:, 155:. 441:. 135:( 74:/ 48:)

Index

Developer(s)
Stable release
Repository
sourceforge.net/projects/udt/
C++
Type
Protocol (computing)
License
BSD License
udt.sourceforge.net
wide area networks
TCP
UDP
SourceForge
University of Illinois at Chicago
gigabits
Chicago
Amsterdam
Netherlands
terabytes
UDP hole punching
User Datagram Protocol
congestion control
duplex
ACK
AIMD
high-performance computing
GridFTP
wide area networks
peer-to-peer

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.