Computer >> 컴퓨터 >  >> 시스템 >> Windows

윈도우에서 Traceroute(tracert) 명령어로 네트워크 연결 문제 쉽게 진단하는 방법

윈도우에서 Traceroute(tracert) 명령어로 네트워크 연결 문제 쉽게 진단하는 방법

윈도우의 traceroute, 즉 "tracert" 명령어를 알고 계신가요? 이 도구는 특정 목적지로 향하는 연결이 거치는 경로를 확인할 수 있게 해줍니다. 웹사이트에 접속할 때 패킷이 어떤 경로를 지나가는지 보는 것 자체도 흥미롭지만, 이 명령어의 가장 큰 용도는 경로상에서 패킷이 어디서 유실되는지 파악하는 데 있습니다.

Traceroute란 무엇인가?

traceroute 사용법을 살펴보기 전에, 먼저 traceroute가 어떤 원리로 동작하는지 알아보겠습니다. 경로를 추적한다는 것은 패킷이 이동하는 경로를 감시하고 그 패킷이 최종적으로 어디에 도달하는지 확인하는 과정입니다. 배송 추적이 가능한 택배를 주문해 본 적이 있다면, 소포가 집 앞까지 오는 과정을 (두근거리며!) 지켜본 경험이 있을 것입니다. traceroute도 비슷한 개념입니다. 다만 데이터 패킷에는 추적 장치를 부착할 수 없기 때문에, 패킷을 추적하려면 조금 더 창의적인 방법이 필요합니다.

패킷이 라우터에 머무는 동안 만료되면, 해당 라우터는 패킷이 만료되었다고 출발지에 되돌려 알려줍니다. 택배처럼 패킷이 네트워크를 돌아다니는 모습을 직접 볼 수는 없지만, 각 라우터에 도착하자마자 만료되는 패킷을 보내는 방식으로 이를 우회할 수 있습니다. 라우터들은 오류 메시지를 되돌려 보내고, 우리는 이렇게 만료된 패킷을 보고한 위치들을 분석해 패킷이 어떻게 이동하고 있는지 추정할 수 있습니다.

이를 위해 패킷의 TTL이라는 속성을 활용합니다. TTL은 "Time To Live"의 약자로, 패킷이 만료되기 전까지 거칠 수 있는 라우터의 수를 의미합니다. 라우터가 패킷을 처리할 때 TTL을 1씩 감소시킨 후 다음으로 전달하며, TTL이 0이 되면 패킷은 만료되고 라우터는 그 사실을 보고합니다. traceroute는 먼저 TTL이 1인 패킷을 보냅니다. 이 패킷은 첫 번째 라우터에서 처리되며 즉시 만료되고, 라우터는 오류 메시지를 보내며 traceroute는 그 위치를 기록합니다. 이어서 TTL 2짜리 패킷을 보내면 첫 번째 라우터는 통과하지만 두 번째 라우터에서 만료됩니다. 그다음엔 TTL 3짜리 패킷을 보내는 식으로 진행됩니다.

Traceroute 동작 예시

traceroute가 실행되는 과정을 예시를 통해 살펴보겠습니다.

컴퓨터가 TTL 1인 패킷 전송 -> 라우터 A가 1 감소시켜 0이 됨 -> TTL이 0이므로 패킷 소멸 -> 라우터 A가 자신의 위치를 보고

컴퓨터가 TTL 2인 패킷 전송 -> 라우터 A가 1 감소시켜 1이 됨 -> 라우터 B로 전달 -> 라우터 B가 1 감소시켜 0이 됨 -> TTL이 0이므로 패킷 소멸 -> 라우터 B가 자신의 위치를 보고

컴퓨터가 TTL 3인 패킷 전송 -> 라우터 A가 1 감소시켜 2가 됨 -> 라우터 B로 전달 -> 라우터 B가 1 감소시켜 1이 됨 -> 서버로 전달 -> 서버가 연결 확인 응답을 전송

윈도우에서 Traceroute(tracert) 명령어로 네트워크 연결 문제 쉽게 진단하는 방법

이 과정에서 이미 패킷이 이동하는 경로에 대한 윤곽이 잡히기 시작하는 것을 볼 수 있습니다. traceroute가 목적지로부터 응답을 받으면 추적을 종료하고, 패킷이 어떤 경로로 이동했는지 분석할 수 있습니다. 정말 유용하죠!

Traceroute 실행 방법

이제 실제로 traceroute를 실행하는 방법을 알아보겠습니다. 먼저 명령 프롬프트 창을 엽니다. 시작 버튼을 클릭하고 검색창에 cmd를 입력한 후 Enter 키를 누르면 됩니다. 또는 Windows 키 + R을 누른 뒤 나타나는 창에 cmd를 입력해도 됩니다.

윈도우에서 Traceroute(tracert) 명령어로 네트워크 연결 문제 쉽게 진단하는 방법

명령 프롬프트에 tracert를 입력하고 한 칸 띄운 뒤 목적지를 입력합니다. 목적지는 URL이나 IP 주소 형태(예: www.twitter.com 또는 104.244.42.1) 모두 가능합니다. Enter 키를 누르면 설정한 목적지까지의 연결 경로가 홉(hop) 단위로 하나씩 기록되기 시작합니다. 이제 결과를 지켜보기만 하면 됩니다!

윈도우에서 Traceroute(tracert) 명령어로 네트워크 연결 문제 쉽게 진단하는 방법

Traceroute로 문제 진단하기

traceroute의 동작 원리를 알았으니, 이제 연결이 끊어지는 지점을 찾는 데 활용할 수 있습니다. TTL 값을 점점 늘려가며 패킷을 보낼 때 특정 TTL 단계에서 다음 라우터로부터 아무런 오류 메시지도 받지 못한다면 어떨까요? 이는 다음 라우터가 패킷을 전혀 받지 못하고 있다는 뜻일 가능성이 높습니다. 컴퓨터는 라우터의 응답을 기다리다가 오류 메시지를 받지 못하면 "Request Timed Out.(요청 시간이 초과되었습니다)"라고 표시합니다.

윈도우에서 Traceroute(tracert) 명령어로 네트워크 연결 문제 쉽게 진단하는 방법

이것이 왜 유용한가?

연결에 문제가 생겼을 때 traceroute를 사용하면 경로상 어느 지점에서 끊어지는지 확인할 수 있습니다. 패킷이 공유기를 벗어나지 못하고 시간 초과된다면 공유기 자체에 문제가 있는 것이고, 공유기는 정상적으로 통과했지만 그 이후 구간에서 패킷이 사라진다면 ISP(인터넷 서비스 제공업체) 문제일 가능성이 큽니다.

특정 웹사이트에 접속하는 데 문제가 있을 때도 traceroute로 연결 상태를 확인할 수 있습니다. 공유기나 인터넷 구간에서는 오류가 전혀 없는데 응답 대기(timeout)가 경로 후반부에서 발생한다면, 문제는 내 공유기나 ISP가 아닐 가능성이 높습니다.

traceroute 사용 시 한 가지 유의할 점이 있습니다. 패킷이 항상 같은 경로로 이동하지 않는다는 것입니다. 동일한 웹사이트로 접속하더라도 매번 경로가 달라질 수 있으므로, traceroute 결과를 근거로 확정적인 결론을 내릴 때는 이 점을 반드시 염두에 두어야 합니다.

맺음말

traceroute는 패킷이 어떤 경로로 이동하는지 재미있게 볼 수 있는 도구일 뿐만 아니라, 어디서 문제가 발생하는지 파악하는 데에도 탁월하게 활용할 수 있습니다. 이제 traceroute의 작동 원리를 이해했으니, 연결 경로상에서 패킷이 유실되는 지점과 문제의 원인이 어디에 있는지 더 정확하게 진단해 볼 수 있습니다. 성공적인 진단 되시길 바랍니다!