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.

Reply via email to