나는 TCP 프로토콜 자체가 연결 시 바이트가 손실되지 않도록 보장할 것이라고 생각합니다. 이에 대한 관점은 다음을 참고하세요.
https://stackoverflow.com/questions/23841896/will-tcp-connection-lose-packets
나를 혼란스럽게 하는 것은 mtr(TCP 프로토콜을 사용하여 실행)이 손실을 어떻게 계산합니까? TCP에는 패킷이 아닌 세그먼트만 있습니다. 그렇다면 "Snt"는 무엇을 의미합니까?
[root@ ~]# mtr --report --tcp --port=443 stackoverflow.com
여기서 일부 중간 호스트가 전혀 응답을 원하지 않아 Loss% = 100.0이고 일부 호스트가 ACK로 응답하므로 Loss% = 0.0인 경우 점프 #14 loss% = 25.0%를 설명하는 방법은 무엇입니까?
답변1
분석하다
mtr
문서와 구글링을 통해 수집한 내용에 따르면 트래픽을 보내 패킷 손실 자체를 추적한 다음 네트워크 정체로 인해 발생하는 손실을 추적하는 것처럼 보입니다 .
예를 들어 Linode 튜토리얼의 제목은 다음과 같습니다.MTR을 사용하여 네트워크 문제 진단성명은 다음과 같습니다 :
옵션
i
플래그는 보고서를 더 빠르게 실행하여 네트워크 정체 기간에만 발생할 수 있는 패킷 손실을 표시합니다. 이 플래그는 MTR에 n초마다 패킷을 보내도록 지시합니다. 기본값은 1초이므로 1초 미만(0.1, 0.2 등)으로 설정하는 것이 도움이 되는 경우가 많습니다.
이 트래픽의 핵심은 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.
이러한 손실 측정 방법으로 인해 손실이 발생할 수 있습니다. mtr
TCP는 손실을 측정하는 데 사용되지 않지만 ICMP가 사용되며 ICMP에서는 패킷이 삭제되거나 시간 초과될 수 있으며 실제로 발생합니다.
세인트는 어떻습니까?
이 열은 Snt
"전송"된 ICMP ECHO 패킷 수를 알려줍니다.