Hello,
I am currently working on mathematical analysis of TCP Cubic and have been
digging through ns2-2.33 code in tcp/linux/src to try to understand exactly
how the congestion control of Cubic works. To trace the internal variables I
added the following line
printf("%lu %lu %lu %llu %lu
%lu\n",tcp_time_stamp,t,ca->bic_K,offs,delta,bic_target);
to bictcp_update function just after this bit of code
/* cubic function - calc bictcp_cnt*/
if (bic_target > cwnd) {
ca->cnt = cwnd / (bic_target - cwnd);
} else {
ca->cnt = 100 * cwnd; /* very small increment*/
}
Tracing the value of bic_target I noticed that under some circumstances it
becomes extremely large, on the order of 10^19. Here is a little snippet of
the resulting output to illustrate this point
3772 248 0 248 0 3
3822 300 0 300 0 3
3881 360 0 360 0 3
4133 59 0 59 0 4
4334 59 0 59 0 4
4813 59 2641850 2641791 13224665 18446744073696326953
4863 110 2641850 2641740 12826499 18446744073696725119
4872 119 2641850 2641731 12756236 18446744073696795382
4922 171 2641850 2641679 12350281 18446744073697201337
4939 188 2641850 2641662 12217569 18446744073697334049
5401 59 0 59 0 5
5434 93 0 93 0 5
5888 59 2641850 2641791 13224665 18446744073696326953
5938 110 2641850 2641740 12826499 18446744073696725119
5947 119 2641850 2641731 12756236 18446744073696795382
5997 171 2641850 2641679 12350281 18446744073697201337
6014 188 2641850 2641662 12217569 18446744073697334049
6173 59 1388 1329 0 6
6207 94 1388 1294 0 6
My question is: Is this normal behavior for Cubic or am I missing something?
Grateful for your help!
Dan
--
View this message in context:
http://www.nabble.com/Strange-TCP-Cubic-behavior-%28maybe%29-tp24635268p24635268.html
Sent from the ns-users mailing list archive at Nabble.com.