inconsistency between delsnd timer and burstsnd timer in ns2
If we turn on delsnd timer (overhead_, random overhead in tcp) and burstsnd timer in ns2 at the same time, we will probably have inconsistency.
If overhead_ is turned on, the send_much() function only sends one burst of packets when force is set to be true. If at this time the burst-timer is pending, the packet is not sent (the whole event is canceled). Even if the burst timer is off, paced tcp can only send one packet for this burst, and suffers from another delsnd timer for the next packet. But non-paced flow can send the whole burst into the network for this delsnd expiration. So, paced flows suffer cwnd*overhead_ more delay each rtt, but non-paced flow suffer only about overhead_ delay each rtt.
The intrinsic problem is that overhead should be in IP layer. But implementation of a real delsnd requires a certain amount of buffer -- this complicates the process and ns2 makes it in tcp layer (the source).
Be careful when we turn on both of these functions.

0 Comments:
Post a Comment
<< Home