Client
TTL 1, 2, 3으로 probe를 반복 전송
TTL이 0이 된 라우터는 패킷을 버리고 ICMP Time Exceeded를 돌려줄 수 있다. traceroute는 이 반응을 이용해 목적지까지의 중간 라우터들을 순서대로 드러낸다.
TTL 1, 2, 3으로 probe를 반복 전송
TTL 1 probe를 폐기하고 Time Exceeded 응답
TTL 2 probe가 여기서 만료되어 주소가 노출
응답하면 경유지, 침묵하면 별표로 표시 가능
목적지 응답이 오면 탐색 종료
R1이 ICMP Time Exceeded를 보내면 hop 1로 기록한다.
R2의 응답 시간은 왕복 지연의 힌트이지 순수 링크 지연은 아니다.
ICMP 차단과 rate limit 때문에 중간 홉이 보이지 않을 수 있다.
UDP는 Port Unreachable, ICMP는 Echo Reply, TCP는 SYN-ACK/RST가 단서다.
1 192.168.0.1 1.3 ms 2 10.20.0.1 7.8 ms 3 * * * no reply 4 203.0.113.8 31.4 ms
방화벽이 ICMP를 다르게 취급하면 결과가 달라질 수 있다.
옵션으로 ICMP Echo나 TCP SYN probe를 선택할 수 있다.
라우터가 데이터는 전달하면서 ICMP 응답만 제한할 수 있다.
표시된 시간은 probe와 응답의 왕복 경로 영향을 함께 받는다.
TTL 만료 응답을 이용한다는 원리를 알면, 중간에 별표가 있어도 곧장 장애로 단정하지 않게 된다. 목적지까지 실제 트래픽이 되는지, 어떤 probe 방식인지, ICMP 정책이 무엇인지까지 함께 봐야 한다.