Primeira conexão TCP lenta [fechada]

2

Considere esta comunicação TCP via ncat no host local em uma máquina com Windows 7:

Terminal A

>ncat -4kvvl 127.0.0.1 5001
Ncat: Version 7.12 ( https://nmap.org/ncat )
Ncat: Listening on 127.0.0.1:5001
Ncat: Connection from 127.0.0.1.
Ncat: Connection from 127.0.0.1:52840.
BAM
NCAT DEBUG: Closing connection.

Terminal B

>echo BAM | ncat -4vv 127.0.0.1 5001
Ncat: Version 7.12 ( https://nmap.org/ncat )
NCAT DEBUG: Using trusted CA certificates from ...
libnsock nsock_iod_new2(): nsock_iod_new (IOD #1)
libnsock nsock_connect_tcp(): TCP connection requested to 127.0.0.1:5001 (IOD #1) EID 8
libnsock nsock_trace_handler_callback(): Callback: CONNECT SUCCESS for EID 8 [127.0.0.1:5001]
Ncat: Connected to 127.0.0.1:5001.
libnsock nsock_iod_new2(): nsock_iod_new (IOD #2)
libnsock nsock_read(): Read request from IOD #1 [127.0.0.1:5001] (timeout: -1ms) EID 18
libnsock nsock_readbytes(): Read request for 0 bytes from IOD #2 [peer unspecified] EID 26
libnsock nsock_trace_handler_callback(): Callback: READ SUCCESS for EID 26 [peer unspecified] (6 bytes): BAM ..
libnsock nsock_write(): Write request for 6 bytes to IOD #1 EID 35 [127.0.0.1:5001]
libnsock nsock_trace_handler_callback(): Callback: WRITE SUCCESS for EID 35 [127.0.0.1:5001]
libnsock nsock_readbytes(): Read request for 0 bytes from IOD #2 [peer unspecified] EID 42
libnsock nsock_trace_handler_callback(): Callback: READ EOF for EID 42 [peer unspecified]
libnsock nsock_trace_handler_callback(): Callback: READ EOF for EID 18 [(null):-1]
close: Result too large

Na primeira vez que eu executo ncat no Terminal B, ele fica pendurado por aproximadamente 1s em TCP connection requested to 127.0.0.1:5001 . Os soquetes estão nos estados SYN_SENT e SYN_RCVD ( screenshot ).

Em execuções subseqüentes (ncat -k no Terminal A continua ouvindo), a conexão se acumula imediatamente, que é o que eu espero e também vejo em outros sistemas Windows 7 e Linux.

Sinto que esse atraso na criação de conexões TCP está tornando o software mais lento (por exemplo, um console do IPython conectado a um kernel na mesma máquina).

O que está acontecendo?

Informação adicional:

  • O Firewall do Windows está desativado.
  • Desativando todos os adaptadores de rede no controle painel não ajuda.
  • Eu vejo isto, por exemplo nos meus programas em Python ao usar tomadas; Eu estou usando o ncat como o teste mais básico.
por chriddy 28.09.2016 / 16:04

0 respostas