Tahoe TCP assumes a packet has been lost (due to congestion)
when it observes NUMDUPACKS (defined in tcp.h, currently 3)
duplicate ACKs, or when a retransmission timer expires.
In either case, Tahoe TCP reacts by setting ssthresh_ to half
of the current window size (the minimum of cwnd_ and window_)
or 2, whichever is larger.
It then initializes cwnd_ back to the value of
windowInit_. This will typically cause the TCP to
enter slow-start.
Tom Henderson
2011-11-05