On Jan 30, 2013, at 7:14 PM, Chris Angelico <ros...@gmail.com> wrote:

> On Thu, Jan 31, 2013 at 11:04 AM, Jorge Alberto Diaz Orozco
> <jaoro...@estudiantes.uci.cu> wrote:
>> I have restrictions in my system that does not allow me to use TCP, so I 
>> want to make a pipe over UDP imitating TCP behavior.
>> I have control over both endpoints, and I´m writing both of them.
>> I just don´t want to re-invent the wheel and I´m looking for a reliable UDP 
>> sockets implementation for Python so I can start from there.
> 
> Then... I think the place to start is here:
> 
> http://www.ietf.org/rfc/rfc793.txt
> 
> ChrisA
> -- 
> http://mail.python.org/mailman/listinfo/python-list

I think you really ought to think about this long and hard.  Although TCP 
started as a fairly simple-minded protocol designed to guarantee reliable 
delivery of packets in the order in which they were transmitted, it has evolved 
considerably over the years.  It now incorporates concepts of "fairness" and a 
very sophisticated rate control system that is constantly probing available 
network bandwidth to be sure it isn't over driving or hogging the network 
connection.  It would be easy to say: "I really don't need all that - all I'm 
doing is X." - but in reality you do, and getting reliable delivery over UDP 
really does require it all.

Now, the good news is that because UDP-based protocols all run in user memory 
space (as opposed to TCP that runs privileged in kernel space) it is relatively 
straightforward for non-privledged users to write and test UDP transport 
schemes and this has become a fairly standard CS exercise at the graduate 
level.  If I were in your shoes, I'd start Googling for the papers published on 
protocols like HURRICANE, ATAU, or even just the general subject of UDP 
transport protocols.  Two places you might start are:

  http://www.ogf.org/documents/GFD.55.pdf 

and

  http://www.ornl.gov/~webworks/cppr/y2001/rpt/121150.pdf

Most, if not all of these UDP schemes are in the public domain, have been 
written in high-level languages, and could be translated into python.

-Bill
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to