Windows 10에서 Traceroute: 네트워크 경로 추적 숙달하기

네트워크는 A 지점에서 B 지점에서 C 지점으로 패킷을 라우팅하여 구축됩니다. 각 패킷은 출발지에서 목적지로 경로를 따릅니다. Windows 10에서 유용한 traceroute인 tracert를 사용하여 발생하는 문제를 추적할 수 있습니다.

이 문서에서는 Windows 10에서의 (tracert) 명령 또는 Traceroute에 대해 자세히 알아보겠습니다. 목적, 다양한 스위치 및 제공되는 정보를 해석하는 방법에 대해 배우게 될 것입니다. 이 문서의 끝에 도달하면이 도구를 최대한 활용할 수 있는 지식을 갖게됩니다!

관련 정보: Linux에서 Traceroute 사용 방법

Windows 10에서 Traceroute는 어떻게 작동합니까?

Windows 10 (및 다른 모든 OS)에서 Traceroute의 주된 목적은 패킷이 네트워크를 통과할 때 취하는 경로를 감지하는 것입니다. 이를 위해 오류 메시지를 사용하여 패킷이 경유하는 다양한 라우터에 대한 정보를 수집합니다.

Tracert는 IP 패킷 헤더의 Time-to-Live (TTL) 필드를 활용합니다. TTL은 패킷의 수명을 제한하여 네트워크에 머무르지 못하게 합니다. 이는 경로가 실패하거나 라우팅 루프가 존재하는 경우에 중요합니다.

패킷이 라우터에 도달하면 TTL 값이 줄어들어 0이 될 때까지 감소합니다. 패킷의 TTL이 0이 되면 라우터는 패킷을 폐기하고 패킷이 원래 발신지로 돌아오도록 ICMP_TIME_EXCEEDED 메시지를 반환합니다.

Tracert은 리눅스의 형제인 traceroute와 달리 UDP를 사용하여 프로빙 패킷을 보냅니다.

Windows 10 명령에서 traceroute가 경로를 찾기 위해 패킷을 보낼 때, 패킷의 TTL 필드를 변경합니다. 결과적으로 발생하는 오류 메시지를 사용하여 traceroute는 네트워크를 통해 패킷이 이동하는 경로를 조립하고 발견할 수 있습니다.

Traceroute 용어

이미 몇 가지 용어를 언급했지만, 이 기사를 읽으면서 몇 가지 더 배우게 될 것입니다. 먼저 중요한 용어를 더 자세히 알아보겠습니다.

  • 호스트 – 호스트는 Windows 10 도구인 Traceroute를 실행하는 컴퓨터 또는 장치입니다. Windows 또는 Linux PC 또는 Cisco IOS 장치일 수 있습니다.
  • 라우터 – 네트워크 간에 패킷을 전달하거나 경로를 설정하는 장치입니다.
  • 홉 – 홉은 네트워크 경로 상의 라우터입니다. 라우팅된 패킷은 네트워크를 횡단하면서 하나의 라우터 인터페이스에서 다른 인터페이스로 ‘홉’하는 것으로 생각할 수 있습니다.
  • 경로 – 경로는 호스트와 각 라우터 인터페이스 사이의 경로입니다. 경로는 traceroute 도구마다 다를 수 있습니다. 이는 라우팅 프로토콜과 트래픽을 다른 인터페이스로 보낼 수 있는 규칙 때문입니다.
  • 패스 – 패스는 한 호스트에서 다른 호스트로 이동하는 패킷이 이동하는 경로입니다.

A Demo of Traceroute in Windows 10

어떤 애플리케이션의 네트워크 문제를 해결하려고 하다가 로그 파일을 살펴보니, 애플리케이션이 원격 서버로부터의 요청이 정상보다 더 오래 걸리거나 패킷이 완전히 손실되고 있는 것을 확인했습니다. 이런 상황에서는 윈도우 10의 tracert 유틸리티를 사용하면 좋습니다.

명령 프롬프트(cmd.exe)나 Windows PowerShell 콘솔을 열어주세요. 이 섹션에서 보여줄 모든 예제는 Windows PowerShell v5.1을 사용합니다.

도움말 찾기

먼저 윈도우 10에서 tracert 유틸리티가 어떻게 동작하는지 알아보고 학습해봅시다. 이 명령줄 유틸리티의 모든 실행 옵션을 확인하려면 tracert -?를 실행해보세요.

다음 코드 스니펫에서는 tracert가 동작을 구성하기 위한 몇 가지 다른 옵션을 가지고 있음을 볼 수 있습니다. 윈도우 10의 traceroute 유틸리티인 tracert는 Linux의 친척인 traceroute와 달리 많은 옵션을 포함하고 있지 않습니다.

tracert -?를 입력하면 해당 명령에 대한 모든 옵션을 볼 수 있습니다.

Usage: tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout]
               [-R] [-S srcaddr] [-4] [-6] target_name

Options:
    -d                 Do not resolve addresses to hostnames.
    -h maximum_hops    Maximum number of hops to search for target.
    -j host-list       Loose source route along host-list (IPv4-only).
    -w timeout         Wait timeout milliseconds for each reply.
    -R                 Trace round-trip path (IPv6-only).
    -S srcaddr         Source address to use (IPv6-only).
    -4                 Force using IPv4.
    -6                 Force using IPv6.

일상적인 문제 해결 중에는 대부분 이 옵션들 중 하나 또는 두 개만 사용할 것입니다. 여기서는 특정 시나리오에서 tracert를 사용하여 대상 서버의 IP 주소 또는 완전한 도메인 이름(FQDN)을 지정할 수 있습니다.

윈도우 10에서의 Traceroute: 예시

당신의 응용 프로그램이 www.google.com에 도달해야 한다고 가정해 봅시다. Windows 10 (tracert)에서 traceroute의 첫 번째 인수로 주소를 제공하기만 하면 응용 프로그램의 경로를 www.google.com까지 추적할 수 있습니다.

다음 데모에서는 예제 호스트에서 해당 호스트까지 패킷이 이동하는 경로를 11개의 라우터를 통해 보여줍니다.

Traceroute in Windows 10 : traceroute -q example

이제 출력을 검토한 다음 아래 결과를 다루어 보겠습니다.

Tracing route to www.google.com [172.217.8.164]
over a maximum of 30 hops:

  1     1 ms     4 ms     1 ms  www.routerlogin.com [192.168.1.1]
  2    56 ms    11 ms    12 ms  142.254.148.17
  3    65 ms   468 ms    29 ms  agg63.vnwrohbt01h.midwest.rr.com [98.30.201.210]
  4    61 ms    22 ms    21 ms  agg59.clmkohpe02r.midwest.rr.com [24.33.162.134]
  5   508 ms    23 ms    29 ms  be27.clmkohpe01r.midwest.rr.com [65.29.1.34]
  6    73 ms    41 ms    31 ms  bu-ether31-vinnva0510w-bcr00.tbone.rr.com [66.109.6.54]
  7    76 ms    33 ms    37 ms  66.109.5.136
  8   382 ms    29 ms    36 ms  66.109.7.83
  9    75 ms    32 ms    37 ms  209.85.250.189
 10     *     1320 ms    29 ms  72.14.232.153
 11    28 ms    27 ms    27 ms  ord37s08-in-f4.1e100.net [172.217.8.164]

Trace complete.

출력에는 다섯 개의 데이터 열이 있습니다. 왼쪽에서 오른쪽으로 시작합니다:

  • 열 1 (홉 수) – 이 경로에는 11개의 홉이 있습니다. 동일한 명령을 다시 실행하면 다른 출력을 받을 수 있습니다. 이는 라우터의 다른 인터페이스로 경로가 지정되거나 전혀 다른 라우터로 경로가 지정될 수 있기 때문입니다.
  • 열 2-4 (ICMP (핑) 패킷 왕복 시간) – 이 시간은 밀리초로 측정됩니다. 이 패킷에는 라우터가 tracert 명령에서 사용하는 정보를 포함하는 TTL도 포함되어 있음을 기억해야 합니다.

5-30ms 응답 시간은 좋은 고속 홉 응답 시간으로 간주됩니다. 일반적으로 35-60ms의 시간을 볼 수 있습니다. 60ms 이상의 시간이 보이기 시작하면 지연의 징후일 수 있습니다.

  • 열 5 (호스트 이름 또는 IP 주소) – 이 항목은 경로에서 라우터에 의해 반환됩니다. 때때로 라우터가 응답하지 않도록 구성되어 있거나 어떤 이유로 접근할 수 없는 경우 여기에 *가 표시됩니다. 기본적으로 tracert는 각 라우터 IP 주소에 대해 역 DNS 조회를 수행하려고 시도합니다. 이렇게하면 IP 주소 대신 DNS 이름이 여기에 표시됩니다.

-d 스위치를 사용하여 이름 해결을 생략하면 tracert를 약간 더 빠르게 할 수 있습니다. 이 옵션은 호스트 이름 해결을 방지하고 IP 주소만 반환합니다.

이 출력을 사용하면 네트워크 지연 또는 라우팅 문제를 해결하는 데 유용한 기본 정보를 얻을 수 있습니다. 라우터의 시간 측정, IP 주소 및 또는 FQDN을 조사할 수 있습니다.

결론

Windows 10에서의 traceroute는 시험된, 편리한 명령 줄 네트워크 유틸리티입니다. 이 문서에서는 각 명령에 대한 각 매개 변수를 모두 다루지는 않았지만 많은 유용한 정보를 다루었습니다.

Windows 10에서 traceroute의 내부 작업에 대해 더 자세히 알고 싶다면 tracert Microsoft 문서를 확인해보세요.

Source:
https://adamtheautomator.com/traceoute-windows-10/