1 votos

Tcp ¿Tiempo de retransmisión en muy poco tiempo?

Tengo dos máquinas Windows 2012 R2 (122 y 115) alojadas en el mismo host VMWare. Tenemos un latido del corazón en la capa de aplicación entre esas dos máquinas, de vez en cuando habrá tcp re-transmisión. Basado en el registro de wireshark, parece que la re-transmisión ocurre en 12-45 milisegundos y la re-transmisión podría ocurrir tanto en la 122 como en la 115. Por ejemplo, uno de los últimos registros (este registro es capturado en la máquina 122) se ve así:

  1. A las 10:30:42.654764 115 envía a 122: PSH+ACK Seq=28457 Ack=26914 Win=524032 Len=59
  2. A las 10:30:42.668642 122 envía a 115: ACK Seq=26914 Ack=28516 Win=524800 Len=0
  3. A las 10:30:42.668764 115 envía a 122: [Retransmisión Tcp] PSH+ACK Seq=28457 Ack=26914 Win=524032 Len=59
  4. A las 10:30:42.668787 122 envía a 115: ACK Seq=26914 Ack=28516 Win=524800 Len=0 SLE=28457 SRE=28516

Así que parece que el 115 piensa que el 122 está agotado después de 34 milisegundos (incluso si el 122 en realidad responde un poco antes de eso) y luego intenta una re-transmisión. Traté de encontrar este tiempo de espera de retransmisión en el registro sin éxito. (Estaba buscando algo como InitialRtt) Mis preguntas:

  1. ¿34 milisegundos es una práctica estándar?
  2. ¿Podría VMWare tener algo que ver con esto?
  3. ¿Hay alguna razón por la que el 122 es lento en el ACK? (El software de ambos extremos está codificado por nosotros pero no creo que hayamos intentado ajustar este valor, podría estar equivocado en esto ya que no escribí personalmente el código).

0voto

MarkoPolo Puntos 350

Para las conexiones TCP establecidas, los tiempos de espera de retransmisión se calcularán dinámicamente en función del RTT de la conexión entre el cliente y el servidor. Básicamente, TCP intentará calcular cuánto tiempo debería esperar razonablemente para escuchar un ACK de un paquete que ha enviado. Si ese temporizador expira, activará una retransmisión.

Así que basándonos en tu ejemplo, podemos asumir que 122 recibe un paquete de 115. 122 envía un ACK para este paquete pero nunca llega a 115. 115 piensa que su paquete original nunca fue recibido por 122, así que lo retransmite después de que el temporizador de retransmisión expira. 122 recibe esta retransmisión y envía otro ACK.

Espero que eso ayude.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X