나를 보자 하려고 조금 더가 처음 보일 수 있음을 복잡 때문에,이 대답 할 수 있습니다.
당신은 이미 기본 작동을 알고있는 것 같지만 traceroute
다른 것보다 전에는 매우 작은 요약이 있습니다.
traceroute
호스트에서 대상 호스트까지의 모든 중간 단계 또는 호스트에서 대상 호스트까지의 거리, 즉 홉 수를 결정합니다. 이를 위해 "랜덤"대상 포트 번호와 1부터 시작하여 계속 증가하는 TTL을 사용하여 대상 호스트로 패킷을 보내기 시작합니다.
그 사이의 각 라우터는 TTL을 1 씩 줄입니다. 따라서 TTL이 0에 도달하면 (실제로 0으로 줄이려는 라우터가 그 전에 오류를 생성하므로 실제로는 그렇지 않습니다) 라우터는 ICMP를 반환합니다 캡처 시간 파일의 패킷 번호 24 와 같은 " Time-to-live 초과 "오류 메시지 당신이 얻는 것은 목적지가 멀어지고 TTL을 계속 늘리는 이유입니다.
패킷에 대상에 도달하기에 충분히 큰 TTL이 있으면 다른 ICMP 오류 메시지가 나타납니다. " 대상에 연결할 수 없음 (포트에 연결할 수 없음) "(예 : 캡처 파일의 패킷 번호 208) . 여기서 얻은 것은 마지막으로 사용한 TTL이 실제로 사용자와 대상 노드 사이의 홉 수라는 것입니다. 오류가 발생하는 이유는 단순히 대상 노드가 수신하지 않는 "임의"포트로 메시지를 보내기 때문입니다.
이제 캡처 파일에 대한 세부 사항을 살펴보십시오
. 매뉴얼 페이지에서 각 TTL이 3 번 (옵션 '-q') 사용되고 기본 프로토콜이 UDP (옵션 '-P') traceroute
임을 알 수 있습니다 . 처음 3 개의 UDP 패킷, 즉 패킷 8-9-10 을 검사하면 실제로 TTL이 1 임을 알 수 있습니다 . 다음 3, 즉 11-12-13 은 TTL 2 등을 갖 습니다. 소스 관점에서 보면 모든 것이 잘되는 것처럼 보입니다.
그런 다음 네트워크 지연에 따라 일정 시간이 지나면 예상되는 오류 메시지가 나타납니다. 따라서 24-24-26 패킷 은 " Time to live over over "오류 패킷이므로 대상이 더 멀리 있다는 것을 알 수 있습니다.
이 시도와 오류의 연속은 마지막으로 패킷 208 과 계속해서 " Port Unreachable "오류 메시지를 볼 수 있을 때까지 계속 됩니다.
전송 한 패킷과 응답을 세면 실제로 TTL이 실제로 작동했지만 지루한 작업을 추적 할 수 있습니다. :)
도움이 되었으면하는 희망