El retroceso exponencial es un tipo de algoritmo que implica una disminución gradual de la velocidad del proceso según las respuestas o los resultados. La reducción de la velocidad del proceso se realiza hasta que se alcanza un nivel adecuado.
Este algoritmo en particular se usa principalmente en redes de computadoras en forma de backoff exponencial binario, que se usa para regular un bloque de datos específico que se está transmitiendo repetidamente. El algoritmo permite un espaciado más uniforme y regular de la retransmisión de datos para evitar la congestión en el tráfico de la red.
Un ejemplo de uso de retroceso exponencial está en el protocolo Ethernet. Cuando un host intenta enviar un marco de datos, el algoritmo proporciona una forma para que el host detecte cualquier colisión o transmisión de datos por otro host. Sin un retroceso exponencial, existe el riesgo de que ambos hosts retransmitan los mismos datos una y otra vez, y resultan en colisiones repetidas en un ciclo sin fin. Al utilizar el retroceso exponencial, los dos hosts pueden seleccionar otro valor al azar dentro de un rango cómodo de su valor original y evaluar si ocurrirá una colisión.
En términos de Internet, el retroceso exponencial se utiliza para recuperar solicitudes basadas en los códigos de estado de las solicitudes del servidor. Los desarrolladores pueden usar este algoritmo para evitar solicitudes abrumadoras a un servidor que se haya procesado.