Velocity Reviews

Velocity Reviews (http://www.velocityreviews.com/forums/index.php)
-   Python (http://www.velocityreviews.com/forums/f43-python.html)
-   -   Re: ANN: PyDTLS (http://www.velocityreviews.com/forums/t956363-re-ann-pydtls.html)

rbit 01-09-2013 08:04 PM

Re: ANN: PyDTLS
 
Neal,

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
error
concealment strategy of the application. Any sort of audio and/or
video
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,
transmitting
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.

Ray


On Wed, Jan 9, 2013 at 7:08 AM, Neal Becker <ndbecker2@gmail.com> 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.
>
> --
> http://mail.python.org/mailman/listinfo/python-list
>




All times are GMT. The time now is 05:58 AM.

Powered by vBulletin®. Copyright ©2000 - 2014, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.