Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

TCP Slow Start

Pessoal boa noite, para eu testar se o meu servidor inicia o TCP Slow Start em uma janela de 4 ou com uma janela inicial de 10 segmentos, eu preciso realmente verificar com o pessoal da administração da rede? Ou é possível obter essa informação no Devtools, Webpagetest...

Desde já agradeço a atenção!

2 respostas
solução!

Oi Jefferson,

A janela inicial do TCP, por definição, não é anunciada pro cliente. No seu server vc pode apenas olhar a configuracao do kernel e saber, mas como cliente é mais dificil.

O que dá pra fazer é usar algum inspecionador de pacotes TCP e estimar essa janela a partir dos pacotes transmitidos.

Pra enxergar esse tipo de informação, precisamos analisar os pacotes TCP e isso é um pouco mais dificil. As ferramentas de alto nivel tipo devtools e webpagetest nao fazem.

A mais usada (apesar de não muito simples) é o wireshark: https://www.wireshark.org

Você instala o wireshark, clica em gravar e ele grava todos os pacotes de rede transmitidos e recebidos pela sua máquina. Aí tem um campo filtro que permite ver só os que você tem interesse. Por exemplo esse teste abrindo a globo:

1) Cliquei em gravar no wireshark e abri www.globo.com no meu navegador

2) Ele gravou um monte de pacotes mas aí filtrei só os que chegaram da globo: ip.src_host contains www.globo.com

3) Observando os tempos de chegada de cada pacote você consegue ver que a primeira leva de de pacotes (TCP segment) tem 10 segmentos (pacotes 263 a 272 na imagem). É só ver que a diferença de tempo entre esses primeiros 10 é relativamente nula. Aí depois desses 10 tem um aumento significativo no tempo, indicando que ele esperou os ACK desses 10 antes de mandar os próximos.

Ou seja, nesse caso a gente pode chutar com bastante probabilidade que a janela inicial do TCP está em 10 segmentos.

Muito obrigado pelo feedback Ségio, e por detalhar os passos do Wireshark, eu não conhecia. Irei instalar e dar dar procedimento nos conhecimentos. Obrigado novamente.