This document specifies the NewReno Fast Retransmit and Fast Recovery algorithms for TCP, advancing them from Experimental to Standards Track status. The main change from RFC 2582 is the specification of the "Careful" variant, which avoids unnecessary multiple Fast Retransmits after a timeout. The document also introduces a variable "recover" to track the highest sequence number transmitted, helping to distinguish between retransmitted packets and lost packets. It discusses two heuristics—ACK-based and timestamp-based—to help the sender decide whether to invoke Fast Retransmit when duplicate acknowledgments do not cover more than "recover." The document recommends the "Careful" variant for TCP connections without the Selective Acknowledgement (SACK) option, as it performs better in various scenarios, including multiple packet drops. The document also addresses implementation issues and provides simulations to illustrate the performance improvements of NewReno over Reno.This document specifies the NewReno Fast Retransmit and Fast Recovery algorithms for TCP, advancing them from Experimental to Standards Track status. The main change from RFC 2582 is the specification of the "Careful" variant, which avoids unnecessary multiple Fast Retransmits after a timeout. The document also introduces a variable "recover" to track the highest sequence number transmitted, helping to distinguish between retransmitted packets and lost packets. It discusses two heuristics—ACK-based and timestamp-based—to help the sender decide whether to invoke Fast Retransmit when duplicate acknowledgments do not cover more than "recover." The document recommends the "Careful" variant for TCP connections without the Selective Acknowledgement (SACK) option, as it performs better in various scenarios, including multiple packet drops. The document also addresses implementation issues and provides simulations to illustrate the performance improvements of NewReno over Reno.