[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [dccp] DCCP implementations



Em Wed, Aug 03, 2005 at 03:59:16AM -0400, Phelan, Tom escreveu:
> Hi All,
> 
> I'm trying to put together a slide on DCCP implementations for the meeting tomorrow.  Here's what I have so far:
> 
>  o  Active developments:
>    o  Lulea University for FreeBSD and ns-2
>      o  http://www.dccp.org
>    o  University of Waikato WAND group for Linux 2.4.27
>      o  Based on Lulea code
>      o  http://research.wand.net.nz/software/dccp.php
>    o  Arnaldo Carvalho de Melo for Linux 2.6
>      o  Derived from Linux TCP code and Waikato CCID3

Saying it is derived from Linux TCP code isn't "inacurate", but may mislead
people on thinking that it was a "cut'n'paste" of the TCP code initially
and has since diverged, and this is far from what is really happening, the
work I'm doing is more on reworking the Linux transport protocols
infrastructure, generalising the most mature code, TCP, so that its
complexity is reduced by means of extensive modularization, and a new
protocol can be more easily implemented this is happening for the last two
or more years, with a LLC (802.2) stack being the first guinea pig and DCCP
coming later, as it seems to be something more worth spending my time on 8)

I'm now working almost full time now on merging the refactorings done in
the dccp tree, many of them will be available when Linux 2.6.14 his the
streets.

>      o  Now cooperating with Ian McDonald at Waikato
>      o  https:/dccp.ghostprotocols.net - this URL doesn't work for me.

Try this one:

http://dccp.ghostprotocols.net:81/cgi-bin/viewcvs.cgi/dccp-2.6/

The TCP refactorings commited so far are at:

http://www.kernel.org/git/?p=linux/kernel/git/acme/net-2.6.14-3.git;a=summary

Latest developments where an almost fully generalisation of the TCP
TIME_WAIT mini sockets engine, that I'll using with DCCP, tweaking it as I
go, in the past I did the same for the syn minisockets code, with DCCP
using the exact same code as TCPv4 and v6 on linux, surviving
"REQUEST"floods (not using cookies) 8)

The syn sockets generalisation is already in Linux for a good while.

Callgraphs and plottings showing the stack at work:

callgraphs, use a CSS capable browser and go slowly over the lines and
specially the timestamps on the left:

http://dccp.ghostprotocols.net:81/dccp/ostra/dccp_ttcp_client/
http://dccp.ghostprotocols.net:81/dccp/ostra/dccp_ttcp_server/

Observe the values each connection internal state had thru its lifetime:
http://dccp.ghostprotocols.net:81/dccp/ostra/dccp_ttcp_server/changes.html

Plottings:
http://dccp.ghostprotocols.net:81/dccp/ostra/dccp_ttcp_server/hcrx_x_recv.png
http://dccp.ghostprotocols.net:81/dccp/ostra/dccp_ttcp_server/hcrx_elapsed_time.png

http://dccp.ghostprotocols.net:81/dccp/ostra/dccp_ttcp_client/hctx_x.png
http://dccp.ghostprotocols.net:81/dccp/ostra/dccp_ttcp_client/hctx_x_recv.png
http://dccp.ghostprotocols.net:81/dccp/ostra/dccp_ttcp_client/hctx_t_ipi.png
http://dccp.ghostprotocols.net:81/dccp/ostra/dccp_ttcp_client/hctx_rtt.png

Two funny ones:
http://dccp.ghostprotocols.net:81/dccp/ostra/dccp_ttcp_client/sk_state.png
http://dccp.ghostprotocols.net:81/dccp/ostra/dccp_ttcp_client/hctx_state.png
 
>  o  Inactive projects:
>    o  ICIR for Linux 2.4.20
>      o  http://www.icir.org/kohler/dcp/linux-2.4.20-dccp-modifications.tgz
>    o  Patrick McManus for Linux 2.4.18
>      o  http://www.ducksong.com:81/dccp/
>    o  Berkeley user-level DCCP
>      o  http://www.cs.ucsd.edu/~tsohn/projects/dccp/
 
> If I've missed anyone, please give me your information.  If anything I've
> included is inaccurate, please correct me.  And if you'd like additional
> information included, let me know.

Hope I helped with all the above ramblings 8)

- Arnaldo