Traceroute의 작동 원리는 ICMP
방식으로 이루어 집니다.
Traceroute는 ICMP
의 type30으로써, TTL(Time to live) 방식을 사용합니다.
여기서 TTL은 컴퓨터나 네트워크에서 데이터의 유효기간을 나타내기 위한 방법입니다. TTL은 계수기나 타임스탬프의 형태로 데이터에 포함되며, 정해진 유효기간이 지나면 데이터는 폐기됩니다. 컴퓨터 네트워크에서 TTL은 패킷의 무한 순환을 방지하는 역할을 합니다.
여기서 사용되는 TTL은 내가 이동할 수 있는 최대 라우팅 홉을 의미합니다.
예를 들어 TTL을 1로 설정하고 패킷을 보내면, 다음 라우터에서 바로 TTL이 0이 되면서 Error를 반환합니다.
ICMP
traceroute는 TTL을 1로 시작해서 보내고, 목표 라우터에 도달할 때까지 TTL을 1씩 계속 늘려가며 패킷을 보냅니다. 그러면 가능 경로에 있는 모든 라우터들은 TTL 0 을 경험하기 때문에 ICMP
Error를 통해 본인의 라우팅 IP를 반환합니다.
간단하게 정리하면
ICMP
메세지를 받으면 , 라우팅 경로의 모든 IP를 알 수 있습니다.