DCCP Progresses

A lot of things were implemented since my latest entry here, let me mention some:

  • setsockopt and getsockopt for the packet size, that is used in the CCID3 transmit rate calculations and tested it using ttcp patched to support DCCP
  • mucho ccid3 polishing (timeval, usecs divisions, etc)
  • moved the loss interval code from ccid3 to loss_interval.c
  • moved the TFRC equation used to determine the sending rate according to RFC 3448 (TCP Friendly Rate Control) to tfrc_equation.c
  • moved more packet history code to packet_history.c
  • created a new module, dccp_tfrc_lib.ko, that for now is used only by ccid3.c but will be used to implement other CCIDs, such as the CCID3 VoIP variant
  • implemented dccp_poll, and tested it with netcat patched to support DCCP
  • implemented dccp_get_info, now its possible to get information such as the rcv and send RTT, etc using iproute2

I also setup a test network here at home with a router between the two machines where I run DCCP clients and servers, ttcp mostly so far and in the router I use the netem qdisc to induce packet loss and delay, I’m really liking netem so far, very handy.

The behaviour of this stack is very promising, with good results, mostly matching what is expected, interested readers can take a look at some OSTRA callgraphs and plottings, such as the one for the sending rate under high packet loss.

This entry somehow disappeared from my MySQL wordpress tables, so I restored it from google cache, unfortunately there were some comments in this entry but I didn’t took the time of restoring it from the cache, I’m sorry…

Post a comment or leave a trackback: Trackback URL.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: