Tengo el siguiente problema: cuando recupero una página de Hackage , recibo un gran retraso (unos 30 segundos). Las solicitudes adicionales son rápidas, pero si no me conecto durante un par de minutos, el problema vuelve.
Lo interesante de este problema es:
- es específico de este sitio en particular (Hackage): no tengo un problema similar con ningún otro sitio (y visito bastantes);
- parece ser específico para mi ISP: cuando me conecto desde otros lugares, no hay tal problema;
no está relacionado con DNS o problemas de conectividad; de hecho, la conexión TCP se establece rápidamente; es la respuesta HTTP que tarda demasiado, como se puede ver en la siguiente captura de paquetes de muestra:
1 0.000000000 192.168.1.101 -> 66.193.37.204 TCP 66 41518 > http [SYN] Seq=0 Win=13600 Len=0 MSS=1360 SACK_PERM=1 WS=16 2 0.205708000 66.193.37.204 -> 192.168.1.101 TCP 66 http > 41518 [SYN, ACK] Seq=0 Ack=1 Win=5840 Len=0 MSS=1440 SACK_PERM=1 WS=128 3 0.205759000 192.168.1.101 -> 66.193.37.204 TCP 54 41518 > http [ACK] Seq=1 Ack=1 Win=13600 Len=0 4 0.205846000 192.168.1.101 -> 66.193.37.204 HTTP 158 GET /packages/hackage.html HTTP/1.1 5 0.406461000 66.193.37.204 -> 192.168.1.101 TCP 54 http > 41518 [ACK] Seq=1 Ack=105 Win=5888 Len=0 6 28.433860000 66.193.37.204 -> 192.168.1.101 TCP 1494 [TCP segment of a reassembled PDU] 7 28.433904000 192.168.1.101 -> 66.193.37.204 TCP 54 41518 > http [ACK] Seq=105 Ack=1441 Win=16480 Len=0 8 28.434211000 66.193.37.204 -> 192.168.1.101 HTTP 1404 HTTP/1.1 200 OK (text/html) 9 28.434228000 192.168.1.101 -> 66.193.37.204 TCP 54 41518 > http [ACK] Seq=105 Ack=2791 Win=19360 Len=0 10 28.434437000 192.168.1.101 -> 66.193.37.204 TCP 54 41518 > http [FIN, ACK] Seq=105 Ack=2791 Win=19360 Len=0 11 28.635146000 66.193.37.204 -> 192.168.1.101 TCP 54 http > 41518 [FIN, ACK] Seq=2791 Ack=106 Win=5888 Len=0 12 28.635191000 192.168.1.101 -> 66.193.37.204 TCP 54 41518 > http [ACK] Seq=106 Ack=2792 Win=19360 Len=0
( captura de paquetes en formato pcap-ng ). Esta captura muestra lo que sucede durante un simple
curl http://hackage.haskell.org/packages/hackage.html
.
Tampoco importa que esté detrás de un enrutador; es lo mismo cuando me conecto directamente. El tipo de conexión es PPPoE.
Reproduje el problema en 3 computadoras que ejecutan Linux y Windows.
¿Cómo diagnosticar tal problema?