tracert, traceroute란? (사용 방법과 목적)

tracert 또는 traceroute는 네트워크 연결 상태를 구체적으로 파악하는 데 사용되는 진단 도구입니다. ping이 단순히 목적지 IP 주소의 통신 가능 여부를 확인하는 수준이라면, traceroute는 패킷이 출발지에서 목적지까지 이동하는 길목 하나하나를 확인할 수 있습니다.

tracert / traceroute

tracert와 traceroute는 같은 기능을 한다고 보시면 됩니다. 윈도우에서는 CMD를 통해 tracert로, 리눅스와 맥에서는 터미널을 통해 traceroute로 사용합니다. traceroute라는 단어가 경로를 추적한다는 의미를 더 명확하게 드러내는 것 같으니, 여기부턴 traceroute로 표현하겠습니다.

 

traceroute는 ping과 마찬가지로 목적지에 ICMP(Internet Control Message Protocol) 패킷을 보내는 방식으로 작동합니다. 패킷은 출발지에서 목적지로 한 번에 이동하지 않습니다. 복수의 경로를 거치게 됩니다. 이때 각 구간을 홉(hop)이라고 부릅니다.

 

네트워크 패킷(packet)이란?

 

패킷이 지나는 홉마다의 IP 주소와 구간 별 패킷이 이동하는 시간을 체크할 수 있습니다. traceroute를 사용하는 목적은 아래와 같이 정리할 수 있습니다.

 

1. 패킷이 목적지로 향하는 전체 경로를 파악할 수 있습니다.

2. 경로에 존재하는 라우터의 정보를 확인할 수 있습니다.

3. 각 경로에 도착하는데 걸리는 시간을 확인할 수 있습니다.

 

결론적으로 통신에 문제가 있을 때 구체적으로 어디에서 패킷이 막히는 건지, 속도가 지연되는 건지를 확인할 수 있습니다.

TTL

홉의 개념을 알았으니 TTL에 대해 설명드리겠습니다. 패킷의 헤더 정보에는 TTL(Time to Live)이라는 필드가 존재합니다. ttl은 패킷이 폐기되기 전 최대 몇 개의 홉을 이동할 수 있는지 명시한 정보입니다. traceroute는 ttl을 기준으로 출발지와 목적지 사이의 거리를 측정하고 그 사이의 홉을 찾아냅니다.

 

예를 들어, 저의 로컬호스트(127.0.0.1)에서 google.com까지 패킷을 보내려면 30개의 홉이 필요한데, 패킷의 ttl이 20이면 google.com까지 도달하지 못하는 겁니다. '이런 제한이 필요한가?' 싶을 수도 있지만 제한이 전혀 없다면 목적지를 찾아가지 못하는 패킷도 무한히 라우터를 돌아다니는 문제가 발생할 수 있기 때문에 ttl은 필요합니다.

tracert 사용 방법 (Window)

기본 사용 방법은 아래와 같습니다.

tracert [ip주소 또는 도메인]

[예시]

tracert google.com

윈도우 traceert 예시

예시 출처 : TraceRoute Guide – Everything You Want to Know about TraceRt

 

위 예시에선 홉 수를 13으로 제한(-h 13)하는 옵션을 걸었고, 필요한 홉 수가 모자라 목적지까지는 도달하지 못하는 모습입니다.

 

추적을 시작하면 1, 2, 3 … 처럼 순서대로 패킷이 이동한 홉 수를 표현합니다. 중간에 milliseconds(ms) 단위가 3개 나오는 건 ICMP 패킷을 세 번 보낸 결과입니다. 마지막 열은 IP 주소 또는 도메인인데요. 첫 줄에는 패킷이 다른 네트워크로 나가는 출구인 게이트웨이의 IP 주소가 표기됩니다. 그다음부턴 거쳐가는 라우터들의 IP라고 보시면 될 거 같아요. 아마 도착지에 도달할 즘엔 도착지 네트워크의 게이트웨이를 거치겠죠.

 

게이트웨이, 라우터 차이

 

traceroute 사용 방법 (Linunx)

기본 사용 방법은 아래와 같습니다.

traceroute [ip주소 또는 도메인]

[예시]

traceroute google.com
반응형

댓글

Designed by JB FACTORY