UDP Usage Guidelines

The User Datagram Protocol (UDP) provides a minimal message-passing transport that has no inherent congestion control mechanisms. This document provides guidelines on the use of UDP for the designers of applications, tunnels, and other protocols that use UDP. Congestion control guidelines are a primary focus, but the document also provides guidance on other topics, including message sizes, reliability, checksums, middlebox traversal, the use of Explicit Congestion Notification (ECN), Differentiated Services Code Points (DSCPs), and ports. Because congestion control is critical to the stable operation of the Internet, applications and other protocols that choose to use UDP as an Internet transport must employ mechanisms to prevent congestion collapse and to establish some degree of fairness with concurrent traffic. They may also need to implement additional mechanisms, depending on how they use UDP. Some guidance is also applicable to the design of other protocols (e.g., protocols layered directly on IP or via IP-based tunnels), especially when these protocols do not themselves provide congestion control. This document obsoletes RFC 5405 and adds guidelines for multicast UDP usage.

[1]  Brad Cain,et al.  Source-Specific Multicast for IP , 2006, RFC.

[2]  Joseph D. Touch Recommendations on Using Assigned Transport Port Numbers , 2015, RFC.

[3]  Russ Housley,et al.  Cryptographic Message Syntax (CMS) , 2002, RFC.

[4]  Stephen E. Deering,et al.  Host extensions for IP multicasting , 1986, RFC.

[5]  Jonathan D. Rosenberg,et al.  Middlebox communication architecture and framework , 2002, RFC.

[6]  John Linn,et al.  Generic Security Service Application Program Interface, Version 2 , 1997, RFC.

[7]  Vincent Roca,et al.  FLUTE - File Delivery over Unidirectional Transport , 2012, RFC.

[8]  Mark Allman,et al.  Notes on burst mitigation for transport protocols , 2005, CCRV.

[9]  Joseph D. Touch,et al.  The TIME-WAIT state in TCP and its effect on busy servers , 1999, IEEE INFOCOM '99. Conference on Computer Communications. Proceedings. Eighteenth Annual Joint Conference of the IEEE Computer and Communications Societies. The Future is Now (Cat. No.99CH36320).

[10]  Forum UPnP,et al.  Internet Gateway Device (IGD) Standardized Device Control Protocol V1.0 , 2001 .

[11]  Corporate Ieee,et al.  Information Technology-Portable Operating System Interface , 1990 .

[12]  Ari Keränen,et al.  Interactive Connectivity Establishment (ICE): A Protocol for Network Address Translator (NAT) Traversal , 2018, RFC.

[13]  Henning Schulzrinne,et al.  RTP: A Transport Protocol for Real-Time Applications , 1996, RFC.

[14]  Bryan Ford Application Design Guidelines for Traversal through Network Address Translators , 2007 .