traceroute / tracert
: 목적지까지의 경로를 추적하기 위해 사용하는 프로그램
TTL(Time to Live)
- 해당 패킷이 몇 번의 홉(hop) 동안 유효한지 명시하는 ICMP 헤더 필드
- TTL 값은 한 라우터를 거칠 때마다 1씩 감소
- 목적지에 도달하기 전에 TTL값이 0이 될 경우 해당 패킷 전송자에게 “시간 초과” ICMP 메시지를 보내고 해당 패킷을 폐기
동작 원리
- 명령어 실행 시 목적지 IP 주소나 도메인 이름을 지정
- 프로그램 시작 시 첫 패킷의 초기 TTL값을 1로 설정
- 첫번째 패킷을 전송한다. 이때 패킷은 첫번째 라우터에 도달하고 TTL값이 1 감소
- 첫번째 라우터에서 TTL 값이 0이 된 패킷은 폐기되고 송신자에게 시간 초과 ICMP 메시지를 전송
- 송신자는 4번에서 받은 ICMP 메시지를 통해 첫번째 라우터의 IP 주소와 응답 시간을 기록
- TTL 값을 1씩 증가시키며 패킷을 목적지로 전송하는 과정을 반복, 패킷에 도달하거나 사용자가 설정한 최대 TTL 값에 도달하면 반복을 멈춤
사용 목적
- 목적지까지의 경로 추적 가능
- 네트워크 상 각 라우터의 지연 시간 파악 후 네트워크 경로 문제 식별 가능