[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[dccp] Help: Tcp-like congestion control, retransmission
Hi colleagus,
I am implementing a ns2 tcl script to do congestion control over UDP flow.
The scheme is the same as DCCP (tcp-like congestion control).
However the one problem is not properly solved.
In TCP, packet that are timed out, would be retransmitted. With the ACK of the
retranmitted packet, the left border of the congestion window is moved
righthanded (forwarded). If the ACK failed to arrive (another timeout), the
RTO would be multiplied by 2, and retransmission sent again (back-off).
Before the receving of ACK, the cwnd_ should be freezed.
In one word, in TCP, timeout delay the increasing of cwnd_ for a uncertain
period (depending on the receiving of ACK).
Back to DCCP, timeout only decrease the "pipe", but doesn't delay the
increasing of cwnd_. Compared to TCP, DCCP is like a 100% retransmission
receving TCP with RTT of retransmission of "0". Hence DCCP is able to
increase its cwnd_ earlier than TCP.
In case of serverly congested channel, where TCP could lost its
retransmission packet again and again, my simulation shows
DCCP takes more than its fair than TCP does.
Does this sounds natrual to you? Or maybe there is something else
I didn't really understand. Any comments are welcomed.
Best regards,
Ma Lin
School of Computing,
National University of Singapore.