Traceroute
traceroute는 한 호스트에서 다른 호스트로 이동하는 데이터 패킷의 경로를 추적하는 TCP/IP 진단 유틸리티입니다. traceroute 보고서는 데이터 패킷이 어떤 네트워크를 통과하는지와 각 홉에 걸리는 시간을 보여 줍니다. 패킷이 이동하는 동안 한 노드에서 지연이나 다른 네트워크 문제가 발생하면 traceroute를 통해 해당 문제를 식별할 수 있습니다.
인터넷은 더 작은 네트워크로 이루어진 전 세계 네트워크이므로, 데이터 패킷은 출발지에서 목적지로 이동하면서 많은 중간 단계를 거칩니다. 데이터 패킷은 먼저 로컬 네트워크에서 출발한 후 ISP의 네트워크로 이동하고, 인터넷 백본을 거친 다음 목적지에 도달할 때까지 더 작은 네트워크들을 통과합니다. 대부분의 경우 이러한 각 홉은 그중 하나에서 지연이나 연결 끊김이 발생하기 전까지 일반 사용자에게 드러나지 않습니다. traceroute를 실행하면 네트워크 연결 문제가 발생한 위치를 파악하고 네트워크 관리자가 문제를 해결하는 데 도움이 됩니다.
Traceroute 실행
일부 네트워크 유틸리티 애플리케이션에는 GUI가 포함된 traceroute 기능이 있지만, 모든 컴퓨터의 명령 프롬프트나 터미널에서도 traceroute를 실행할 수 있습니다. tracert [address](Windows) 또는 traceroute [address](Unix, Linux, macOS) 명령을 입력하면 됩니다. 여기서 [address]는 연결하려는 시스템의 도메인 이름 또는 IP 주소입니다. traceroute가 실행되는 동안 각 노드를 별도의 줄에 표시하고 해당 노드의 호스트 이름 또는 IP 주소를 보여 줍니다. 또한 각 홉에 걸리는 시간을 밀리초 단위로 표시합니다.
traceroute는 TTL 값을 사용해 중간 네트워크 노드에 대한 정보를 얻습니다. 먼저 TTL 값이 1인 데이터 패킷 세트를 보냅니다. 이 패킷은 경로상의 첫 번째 노드에 도달하고, 해당 노드는 TTL 값을 0으로 줄인 다음 TTL 초과 ICMP 메시지로 응답합니다. traceroute는 노드의 호스트 이름 또는 IP 주소와 응답하는 데 걸린 시간을 표시합니다. 그런 다음 TTL 값이 2인 패킷 몇 개를 보내며, 이 패킷은 만료되어 TTL 초과 메시지를 반환하기 전에 경로상의 두 번째 노드에 도달합니다. traceroute는 패킷이 목적지 노드에 도달할 때까지 TTL 값을 늘려 가며 패킷을 계속 보내고, 응답하는 각 노드의 정보를 표시합니다. traceroute의 일부 줄에는 별표만 표시될 수 있는데, 이는 해당 노드가 데이터 패킷을 받았지만 방화벽으로 인해 응답을 보낼 수 없었다는 의미입니다.
지식 테스트하기