rbit py at
Wed Jan 9 21:04:41 CET 2013


A network protocol that is unreliable (i.e., lacks retransmission of
dropped packets) and lacks congestion control will certainly never be a
common, general purpose protocol, due to the amount of work it imposes on
its user. Implementing an AIMD congestion control algorithm is burdensome
to an application, and only some use cases (like DNS) won't need congestion
control. Use of the Datagram Congestion Control Protocol is a potential way
out for applications, but DCCP (RFC 4340) isn't available on some common
platforms, like Windows.

That being said, if you find yourself in the kind of unique situation that
requires a network protocol with characteristics different from TCP (namely
prioritizing availability of data over its reliability), and you need
network security as well, then RFC 6347 is really the only reasonable game
in town over rolling your own solution.

The following are some of the main use cases that force applications into
datagram protocols:

    * Minimizing protocol overhead. TCP has relatively high overhead,
      for example, its 3-way handshake for connection establishment.
      One can see why DNS uses UDP.
    * Real-time data streaming. With this use case, it makes no sense
      to hold arrived data from the application, because prior packets are
      being recovered through retransmission. Such packets should just
      be forgotten about, especially if they fall within the margin of the
      concealment strategy of the application. Any sort of audio and/or
      transmission falls in this category. RTP is usually done over UDP (and
      is an illustrative use case for RFC 6347).
    * Anything that operates below the transport layer (layer 4 of the OSI
      model). Say you're writing a VPN at a virtual Ethernet level,
      Ethernet frames among machines. In that case, protocols that either
      implement reliability (say, HTTP over TCP) or consciously try to avoid
      it (say, RTP over UDP) sit above you, and you would neither want to
      duplicate their reliability functions, nor introduce this unwanted
      behavior, respectively. But you may want security for your VPN.

I hope this helps.


On Wed, Jan 9, 2013 at 7:08 AM, Neal Becker <ndbecker2 at> wrote:

> A bit OT, but the widespread use of rfc 6347 could have a big impact on my
> work.
> I wonder if it's likely to see widespread use?  What are likely/possible
> use
> cases?
> Thank.
> --
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the Python-list mailing list