Date: Thu, 16 Mar 2000 14:52:55 PST To: end2end-interest@ISI.EDU From: Sally Floyd Subject: a question about the deployment of SACK and NewReno TCP Bcc: Sender: floyd@elk.aciri.org If anyone had any data about the relative deployment of Reno, NewReno, and SACK TCP in the Internet, I would be very interested to hear. Research papers often use Reno TCP, and claim that Reno TCP is the dominant variant of TCP congestion control in the current Internet, and it would be nice to be able to say at some point that this is no longer true. For example, Windows 98 has always included SACK and NewReno TCP, not Reno at all, as I understand. (A stack with SACK TCP has to fall back to a non-SACK functionality when the TCP at the other end is not SACK-capable.) It should be fairly straightforward to determine what fraction of the TCP bytes/packets/flows out there are SACK-capable, given the capacity to look into TCP headers. A TCP end-node can be considered SACK-capable it it sends the "SACK-permitted" option with the SYN packet. A TCP flow can be considered SACK-capable if the "SACK-permitted" option is sent in both SYN packets, or if any packets are actually observed in that flow that use the"SACK" option to report SACK information. Has anyone done this, by any chance? Unfortunately, I don't guess it would be quite so straightforward to determine what fraction of the non-SACK TCPs use NewReno and what fraction use Reno, short of looking at the behavior when multiple packets are dropped from a window of data ... - Sally