Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 7 Dec 2006 10:42:59 +0100
From:      Michael Tuexen <Michael.Tuexen@lurchi.franken.de>
To:        Andre Oppermann <andre@freebsd.org>
Cc:        gnn@freebsd.org, maillist ifiaas <maillist.ifiaas@gmail.com>, freebsd-net@freebsd.org
Subject:   Re: Urel, a TCP option for Unreliable Streaming. Need your help.
Message-ID:  <2786D1DE-E8FA-490C-AFF7-E458E262AEF7@lurchi.franken.de>
In-Reply-To: <4577D858.4010300@freebsd.org>
References:  <161d69110612060709n3bf99bd4y47d94b021b8f1d02@mail.gmail.com> <m21wncv66z.wl%gnn@neville-neil.com> <4577D858.4010300@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi Andre,

see my comments in-line.

Best regards
Michael

On Dec 7, 2006, at 10:01 AM, Andre Oppermann wrote:

> gnn@freebsd.org wrote:
>> At Wed, 6 Dec 2006 23:09:39 +0800,
>> maillist ifiaas wrote:
>>> Hi friends,
>>>
>>> This is one of my research project. Our purpose is to modify TCP to
>>> support unreliable but congestion controlled streaming. The
>>> motivation is pretty similar to the one of DCCP CCID2.  We have
>>> implemented a prototype on FreeBSD 5.4, and the the modifications
>>> are limited mostly in tcp_input.c and tcp_output.c.  Source code, a
>>> paper about the design (under submission), and an Iperf modification
>>> to test out TCP Urel, is provided on the following page:
>>> www.comp.nus.edu.sg/~malin/
>>>
>>> Our current stage is changing Urel into a single directional
>>> streaming protocol, so taht it could be abosolutely fair with
>>> default TCP Sack, in FreeBSD.  But we found after all the
>>> modifications (on single directional streaming), Urel generates less
>>> ACK than normal Sack, making it under utilized when competing to TCP
>>> Sack. About only 3 out of 10 tries, Urel take the same throughput as
>>> Sack.  The reason seems to lying in the Delay ACK code, in
>>> tcp_input.c.  Because, when we turn off the Delay ACK option, using
>>> sysctl command, Urel and Sack play fairly.  However after days of
>>> looking at the code, we failed to find the secret... Therefore, I
>>> turn to you, the specialists of the TCP code in FreeBSD. Hope you
>>> can help us to find the bug of our code. Any suggesion, comments, is
>>> appreciated.
>>>
>>> For details of how the code is implemented, how our experiment is
>>> conducted, you may need to spend one or two hours to browse through
>>> our paper, and the source code.
>> How is this different from the recently integrated SCTP?
>
> It doesn't try to retransmit at all. A lost segment is lost and
> resending it would be pointless for realtime content. On the other
> hand you don't want to blast the network at a fixed rate and so
> this protocol wants to use a congestion control algorithm to back
> off when bandwidth gets scarce. I haven't looked at the details
> yet but my initial guess would be that the actual TCP code isn't
> the best starting point. TCP is too obsessed with retransmitting
> if something got lost.
SCTP has a extension called PR-SCTP, which is implemented in BSD
and can be used to limit the number of retransmissions of a
DATA chunk to 0. The service you mention above is therefore available
in SCTP.
>
> -- 
> Andre
>
> _______________________________________________
> freebsd-net@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-net
> To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org"
>




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?2786D1DE-E8FA-490C-AFF7-E458E262AEF7>