Subject: Question about cwnd

From: "Rajib Sarkar" <[email-masked]>
Date: Fri, 23 May 2003 15:10:03 -0700

Hi,
	I have a question about data retransmission and congestion
avoidance.
	The RFC says "Whenever cwnd is greater than zero, the endpoint is
allowed to have cwnd bytes of data outstanding on that transport address".
Lets say my cwnd = 2400 and bytes outstanding = 1200 at certain time, with
MTU=1200. In case 7.2.3 (RFC 2960) says that for T3-rtx timer cwnd = 1200.
At this point am I allowed to do retransmission?
	Any help will be highly appreciated.
Thanks
Rajib

---

From: [email-masked]
Date: Mon, 26 May 2003 16:17:23 +0300

Hi Rajib!

> Hi,
> 	I have a question about data retransmission and congestion avoidance.
> 	The RFC says "Whenever cwnd is greater than zero, the endpoint is allowed to have cwnd bytes of data outstanding on that transport address". Lets say my cwnd = 2400 and bytes outstanding = 1200 at certain time, with MTU=1200. In case 7.2.3 (RFC 2960) says that for T3-rtx timer cwnd = 1200. At this point am I allowed to do retransmission?

	Well, not only you are allowed, that's precisely what you are supposed to do. When the T3 expires you always retransmit at least the first (older) packet that was outstanding on that address. Hmm... remember that when the T3 timer expires for one address, *you don't have any more outstanding data on that address*. I.e., in your case, cwnd will be 1200, but bytes outstanding will be 0... The TSNs marked for retransmission are not considered as being outstanding (they are considered lost).

	Also, remember that when you retransmit, you take into account the cwnd of the address to which you retransmit the packets (if the peer is single-homed then it will be the same, otherwise you should try a different destination address).

	And one last thing, remember that you are always allowed to have CWND + MTU - 1 bytes in flight (see the Implementer's Guide, section 2.7).

	I hope this helped!

	BR Iván Arias Rodríguez