Unha captura de paquetes di TCP ZeroWindow. Antes de cambiar un parámetro do núcleo, identifique o extremo que anuncia o cero.

Ese extremo describe a súa capacidade de recepción nesa conexión TCP. Non anuncia canto ancho de banda ten o proxy completo. Unha sonda de ventá cero permite ao emisor saber se esa capacidade anunciada cambiou; as sondas por si soas non demostran perda de paquetes nin un proxy avariado.

browser  <-- TCP A -->  proxy  <-- TCP B -->  website

Son conversas TCP separadas. Supoñamos que o navegador deixa de ler unha resposta grande e anuncia cero en A. O proxy pode acabar deixando de baleirar B a medida que se enchen os seus propios búferes. Unha ventá cero posterior en B pode ser consecuencia do cliente lento e non o problema orixinal.

A situación inversa é posible durante unha subida. Se a aplicación de destino deixa de consumir datos, a súa ventá en B pode pecharse. A presión pode entón viaxar de volta cara ao cliente a través dos búferes do proxy.

Ordene as observacións

  1. Anote os extremos da conexión e a dirección da transferencia afectada.
  2. Identifique que extremo anunciou primeiro unha ventá de recepción que mingua ou chega a cero.
  3. Comprobe se a súa aplicación estaba lendo, detida noutra operación ou limitada por recursos.
  4. Compare o momento na outra conexión do proxy antes de asignar a causa orixinal.

As etiquetas de análise de ventás de Wireshark son interpretacións útiles da captura, non unha instrución de aumentar todos os búferes de recepción. O escalado de ventá tamén debe interpretarse tendo en conta a negociación da conexión.

Probar outro extremo dunha lista de proxies e ver que a transferencia se recupera é unha proba útil de que o camiño cambiou. Por si só, non demostra que a implementación TCP dun sistema operativo fose defectuosa. Manteña a explicación ligada ao proceso receptor e á conexión onde comezou a espera.

Artigos relacionados