Many protocols must detect packet loss for various reasons (e.g., to
ensure reliability using retransmissions or to understand the level
of congestion along a network path). While many mechanisms have been
designed to detect loss, ultimately, protocols can only count on the
passage of time without delivery confirmation to declare a packet
"lost". Each implementation of a time-based loss detection mechanism
represents a balance between correctness and timeliness; therefore,
no implementation suits all situations. This document provides
high-level requirements for time-based loss detectors appropriate for
general use in unicast communication across the Internet. Within the
requirements, implementations have latitude to define particulars
that best address each situation.