Como o MTR (executado com o protocolo TCP) calcula a taxa de perda?

1

Eu pensei que o próprio protocolo TCP garantirá não perder nenhum byte durante a conexão. Sobre este ponto de vista, por favor, consulte

link

O que me intrigou foi como o mtr (executado com o protocolo TCP) calcula a perda? O TCP só tem segmento em vez de pacotes. Então, o que 'Snt' significa?

[root@ ~]# mtr --report --tcp --port=443  stackoverflow.com

aqui, se alguns dos hosts intermediários não quiserem responder, portanto,% de Perda = 100.0, alguns deles respondem ACK, portanto, Perda% = 0.0, então como explicar a perda de lúpulo # 14% = 25.0%?

    
por Daniel Mo 16.08.2018 / 03:47

1 resposta

0

Análise

Do que eu posso encontrar olhando os documentos & via Google, parece que mtr está acompanhando a própria perda de pacotes enviando tráfego e, em seguida, acompanhando as quedas que ocorrem devido ao congestionamento da rede.

Por exemplo, o tutorial Linode intitulado: Como diagnosticar problemas de rede com o MTR declara o seguinte:

The i option flag runs the report at a faster rate to reveal packet loss that can occur only during network congestion. This flag instructs MTR to send one packet every n seconds. The default is 1 second, so setting it to a few tenths of a second (0.1, 0.2, etc.) is generally helpful.

A natureza desse tráfego é a solicitação do ICMP ECHO.

-i SECONDS
--interval SECONDS

  Use this option to specify the positive number of seconds between ICMP ECHO
  requests. The default value for this parameter is one second.

E esse método de medir a perda é porque você pode ter perda. mtr não está usando o TCP para medir qualquer perda, está usando o ICMP, que pode e tem pacotes que são descartados ou esgotados.

E quanto a Snt?

A coluna Snt está informando quantos pacotes ICMP ECHO foram "enviados".

    
por 16.08.2018 / 06:11