I am now doing something related to the STCP (Scalable TCP). By pringking the
dynamic snd_cwnd in linux (kernel 2.6.1 ,the result puzzled me . Theoryly,
if any congestion occurs, the snd_cwnd = snd_cwnd * 0.875,but I haven't got
the result I expected. The snd_cwnd changes like this :

snd_cwnd = 1 , snd_ssthresh = 2147483647
snd_cwnd = 2 , snd_ssthresh = 2147483647
snd_cwnd = 3, snd_ssthresh = 2147483647
......
snd_cwnd = 19022, snd_ssthresh = 2147483647 // keeping this value for
several ms
snd_cwnd = 1769, snd_ssthresh = 16645 // congestion occurs
snd_cwnd = 1770, snd_ssthresh = 16645
......


From the above data. when congestion occurs , snd_ssthresh = 16645 ~=~
19022*0.875=16626 corresponds to the theory calculated result. no problems.
but what is the mean of snd_cwnd = 1770? how this value is calculated .who
(where )calculated it ?