Resumen

  • RFC 9937 convierte PRR en una regla Standards Track para regular cuántos bytes puede emitir un extremo durante la recuperación rápida.
  • La regla usa estimaciones del emisor y un objetivo ssthresh de otro algoritmo; no certifica que el cuello de botella, el receptor o el servicio hayan recuperado su estado.

La frase «ya está recuperado» suele aparecer antes de que la evidencia la sostenga. Un gráfico muestra ACKs, menos datos en vuelo y un nuevo envío. Cada uno es un hecho acotado; juntos pueden ser una señal para seguir investigando, no un veredicto sobre toda la ruta.

RFC 9937 especifica Proportional Rate Reduction (PRR) y sustituye RFC 6937. PRR regula el tráfico enviado durante la recuperación rápida para que el tamaño de vuelo efectivo termine lo más cerca posible de ssthresh. Ese umbral lo determina el algoritmo de control de congestión. PRR recibe el objetivo y organiza la transición; no demuestra que el objetivo represente capacidad disponible ni que otros flujos lo acepten.

El emisor conserva DeliveredData, inflight y RecoverFS como sus mejores estimaciones. Con el ACK, SafeACK y los contadores de recuperación calcula SndCnt, el número de bytes que debe enviar. Si el vuelo supera ssthresh, el cálculo es proporcional. Si está por debajo, PRR aplica una cota conservadora y, cuando el progreso parece bueno, una cota algo menos restrictiva. Al terminar, fija cwnd a ssthresh; el RFC recomienda pacing porque puede haber una ráfaga.

Lo que no viaja dentro del ACK

SACK ayuda a que la contabilidad sea más precisa, pero PRR no lo exige. La detección de pérdidas puede variar; PRR solo necesita sus cifras de entregas y pérdidas. Para el caso sin SACK, el texto limita la forma en que ACKs duplicados anómalos pueden inflar DeliveredData. La especificación reconoce, por diseño, que la entrada es una vista de extremo, no una inspección completa de cada cola, policía, enlace o aplicación.

También delimita el despliegue: basta cambiar la implementación de transporte del emisor; no exige cambios en receptores ni redes. Puede usarse con Reno o CUBIC, pero la equidad depende del algoritmo de congestión. Por tanto, una mejora de PRR no adquiere la potestad de declarar libre un recurso común.

Un recibo de recuperación debería guardar versión del controlador, ssthresh, ACK/SACK, señales de pérdida, estimaciones, SndCnt, retransmisiones, pacing y límites de ventana o aplicación. Después debe quedar una observación independiente del tramo y del resultado que importa. Es la diferencia entre documentar que el emisor hizo lo permitido y afirmar, sin base, que el camino cumplió.

La lectura de Heng Lu es directa: el código en ejecución tiene primacía para los hechos locales que puede verificar, no para transformar una estimación en una autoridad sobre consecuencias ajenas.

Fuentes