Red de conocimiento informático - Material del sitio web - Cómo implementar el mecanismo de retransmisión de tiempo de espera de Java udp (similar a tcp)

Cómo implementar el mecanismo de retransmisión de tiempo de espera de Java udp (similar a tcp)

Para una conexión, si conoce el tiempo de ida y vuelta (RTT) entre los puntos finales, puede configurar un RTO apropiado según el RTT.

Evidentemente, el RTT de una conexión en un momento dado es aleatorio y no se puede predecir de antemano.

TCP obtiene una estimación del RTT actual de la conexión a través de la medición y utiliza la estimación de RTT como base para establecer el RTO actual.

Para recopilar suficientes datos para estimar con precisión el RTT actual, TCP registra la hora en que se envía cada mensaje y la hora en que se recibe el acuse de recibo. Para cada par (hora de envío, hora de confirmación), se puede calcular una muestra de medición RTT. Este valor es el promedio ponderado de los dos RTT para la conexión durante el período anterior y es la estimación de TCP del valor RTT real actual para la conexión. Actualizar las estimaciones de RTT. Diferentes algoritmos o parámetros de actualización pueden producir características diferentes.

Los primeros TCP utilizaban una fórmula muy simple para estimar el estado actual de la red, que es la siguiente

Rlt;-aR (1-a)MRTP=Rb, donde a es 0,1 El coeficiente empírico de b suele ser 2. Esta fórmula significa que el antiguo RTT(R) y el nuevo RTT(M) se combinan para considerar el tamaño del nuevo RTT(R). Sin embargo, se puede ver que en el caso de grandes cambios en la red, esta estimación no puede "responder" en absoluto, por lo que se necesita la siguiente corrección:

Err=M-AAlt;-A gErrDlt;-D h(|Err|-D)RTO=A 4D, que es una fórmula recursiva que incluso excluye el concepto de varianza en estadística. Además, cabe señalar que la actualización de estos dos conjuntos de fórmulas solo se realiza cuando los datos se transmiten correctamente. En el caso de la retransmisión de datos, las fórmulas anteriores no se pueden utilizar para la estimación de la red. El programa ya no está en un estado normal y los datos estimados pierden su significado.