2017-11-04 21 views
-1

Traceroute의 작동 방식에 대해 혼란 스럽습니다. Traceroute는 ICMP 메시지와 TTL 필드를 IP 헤더에서 사용하여 작은 TTL 값으로 패킷을 전송한다고 온라인에서 읽습니다. 경로 추적 < "도메인">traceroute 왜 ICMP ECHO가 작동합니까?

경로 추적이 최종 목적지

시험 2 매핑 할 수 없었어 :

나는

테스트 1

했다 경로 추적 -I - IP ICMP < "도메인">

최종 목적지가 매핑되었지만이 모든 것이 혼란 스럽습니까? Traceroute는 이미 ICMP를 사용하고 있다고 생각했습니다.

+0

사용 된 traceroute 응용 프로그램에 따라 다릅니다. 그들은 다르다. –

답변

0

다른 tracroute 구현은 다른 패킷을 사용합니다. TCP traceroute가 있지만 일반적으로 UDP 또는 ICMP입니다.

아마도 UDP 구현을 사용했을 것입니다.

0

Traceroute는 패킷이 재전송을 중지하기 전에 취할 수있는 홉 수인 TTL (time-to-live) 기능을 이용하여 작동합니다. TTL은 패킷이 통과하는 각 홉마다 1 씩 감소합니다. TTL이 0에 도달하면 라우터가 0에 도달하면 라우터는 패킷을 다시 전송하지 않고 ICMP Time Exceeded 패킷을 소스로 되돌려 보냅니다. 원본 (즉, 귀하)은 원본 패킷의 TTL이 0에 도달 한 라우터에서이 패킷을 수신하므로 패킷이 실패한 IP 주소를 알 수 있습니다. Traceroute는 연속적으로 더 큰 TTL을 사용하여 대상을 향해 패킷을 보내 작업합니다. 이렇게하면 각 홉에서 패킷이 0의 TTL에 도달하게되므로 사용자와 대상 간의 경로에있는 각 홉에 대해 ICMP 시간 초과 패킷이 생성됩니다. 이제 패킷을 보내는 데 사용하는 프로토콜에 대해 언급하지 않습니다. TTL은 사용중인 프로토콜에 대한 패킷을 캡슐화하는 IP 헤더에 있습니다. 따라서 tracerouting 할 때 원하는 프로토콜을 사용할 수 있습니다.

traceroute 홉이 일부 프로토콜에서 해결되는 이유는 다른 라우터, 통과 가능성이있는 방화벽 및 통과하는 라우터의 정책 때문입니다. 일부 라우터는 ICMP에 응답하지 않도록 우선 순위를 지정하거나 ICMP를 사용하지 않도록 설정합니다. 특정 프로토콜이 다른 프로토콜보다 더 잘 작동하는 데는 여러 가지 이유가 있습니다.