트레이서 루트

traceroute
트레이서 루트
Traceroute screenshot.png
traceroute 명령어
원저작자반 제이콥슨
초기 릴리즈1987년, 35년(연장)
플랫폼Unix 계열 시스템
유형명령어
트레이서트
개발자Microsoft, ReactOS 관계자
플랫폼Windows, 리액트OS
유형명령어
면허증. Microsoft Windows: 자체 상용 소프트웨어
ReactOS: GNU General Public License

컴퓨팅에서 는 가능한 경로(경로)를 표시하고 Internet Protocol(IP) 네트워크를 통한 패킷 전송 지연을 측정하기 위한 컴퓨터 네트워크 진단 명령입니다.루트의 이력은 루트(패스) 내의 각 연속 호스트(리모트노드)로부터 수신한 패킷의 라운드 트립 시간으로 기록됩니다. 홉의 평균 시간의 합계는 접속 확립에 소요된 총 시간의 측정값입니다.traceroute 는, 송신된 모든 패킷(통상은 3 개)이 2 회 이상 손실되지 않는 한 속행됩니다.그 후, 접속이 없어져, 루트를 평가할 수 없습니다.한편, ping은, 행선지 포인트로부터의 최종 라운드 트립 시간만을 계산합니다.

IPv6(Internet Protocol Version 6)의 경우 도구에 [2]및 이름이 있을 수 있습니다.

실장

명령어 traceroute는 많은 최신 운영 체제에서 사용할 수 있습니다.FreeBSD, macOSLinux와 같은 Unix 계열 시스템에서는 명령줄 도구로 사용할 수 있습니다.traceroute는 Network Utilities 스위트 내의 macOS에서도 그래픽으로 액세스할 수 있습니다.

Microsoft Windows 및 ReactOS는 다음과 같은 프로그램을 제공합니다.tracertroute-recommunications 기능을 수행합니다.Windows NT 기반 운영 체제도 PathPing을 제공하며 비슷한 기능을 제공합니다.리액트OS 버전은 Ged Murphy에 의해 개발되었으며 GPL[3]따라 라이센스가 부여됩니다.

유닉스 계열 운영 체제에서는, traceroute는 기본적으로 목적지 포트 번호는 33434 33534에 이르는;traceroute의 구현에서는 Linux,[4]FreeBSD,[5]NetBSD,[6]OpenBSD,[7]DragonFly BSD,[8]과 macOS에 선적된 옵션(-I), ICMPEchoRequest패킷을 사용하는 사용자 데이터그램 프로토콜(UDP)패킷의 시퀀스를 보낸다. 또는 어떤 arbitrarUDP, TCP SYN 패킷을 사용한TCP, ICMP [9]등의 y protocol(-P)을 지정합니다.

Windows 에서는,[10] tracert 는 디폴트로 traceroute 가 송신하는 UDP 패킷이 아닌, ICMP 에코 요구 패킷을 송신합니다.

Time-to-Live(TTL; 존속가능시간) 값은 제한이라고도 하며 수신처를 향해 통과하는 중간 라우터를 판별할 때 사용됩니다.traceroute는 TTL 값 1부터 시작하여 패킷 간에 점차 증가하는TTL 값을 가진 패킷을 전송합니다.라우터는 TTL 값이 0에 도달한 패킷을 라우팅 및 폐기하면 패킷의 TTL 값을 1씩 감소시켜 ICMP 오류 메시지 [9]ICMP Time Exceededed를 반환합니다.첫 번째 패킷세트의 경우 첫 번째 라우터는 패킷을 수신하고 TTL 값을 줄여 패킷을 드롭합니다.이것은 TTL 값이 0이 되기 때문입니다.라우터는, ICMP Time Exceeded 메시지를 송신원으로 되돌립니다.패킷의 다음 세트에는 2의 TTL 값이 주어지기 때문에 첫 번째 라우터는 패킷을 전송하지만 두 번째 라우터는 패킷을 폐기하고 ICMP Time Exceededed로 응답합니다.이렇게 진행하면 traceroute는 수신처에 도달할 때까지 반환된ICMP Time Exceeded 메시지를 사용하여 패킷이 통과하는 라우터 목록을 작성하고 UDP 패킷이 사용되고 있는 경우 ICMP Destination Unreachable 메시지를 반환하거나 [9]ICMP 에코 응답 메시지를 사용합니다.

패스상의 각 라우터에 대해 반환되는 타임스탬프 값은 지연(지연) 값이며, 통상은 각 패킷의 밀리초 단위로 측정됩니다.

송신자는, 지정한 초수 이내에 응답을 기대하고 있습니다.패킷이 예상 간격 내에 확인 응답되지 않으면 아스타리스크가 표시됩니다.Internet Protocol 에서는, 패킷이 특정의 행선지에 대해서 같은 루트를 통과할 필요는 없습니다.따라서, 리스트 되고 있는 호스트는, 다른 패킷이 통과하는 호스트일 가능성이 있습니다.홉 #N 의 호스트가 응답하지 않는 경우, 홉은 출력으로 건너뜁니다.

네트워크에 방화벽이 있고 Windows 및 Unix와 유사한 시스템이 모두 작동하는 경우 traceroute가 작동하고 응답을 수신하려면 방화벽을 통해 인바운드하는 프로토콜을 여러 개 활성화해야 합니다.

tcptraceroute나 레이어4 traceroute(lft)등의 TCP 패킷을 사용하는 traceroute 실장도 있습니다.PathPingping 기능과 traceroute 기능을 결합한 Windows NT에서 도입된 유틸리티입니다.MTR은 Unix와 같은 시스템 및 Windows 시스템에서 사용할 수 있는 ICMP traceroute의 확장 버전입니다.traceroute 의 다양한 실장은, 모두, 송신원에 송신되는 ICMP Time Exceeded(타입 11) 패킷에 의존합니다.

Linux에서 traceroute는 traceroute와 유사한 유틸리티이며, 주요 차이점은 슈퍼 사용자 [11]권한이 필요하지 않다는 것입니다.

시스코의 traceroute 실장에서는 리모트호스트의 비활성 포트 번호에 대해 각각 TTL 값이 증가하는 일련의 UDP 데이터그램도 사용됩니다.기본적으로는 UDP 포트 33434가 사용됩니다.이 명령어의 확장 버전(확장 traceroute 명령어로 알려져 있음)은 UDP 프로브 [12]메시지에 사용되는 수신처 포트 번호를 변경할 수 있습니다.

사용.

라우터 주소는 물리 로케이션 맵에 중첩할 수 있습니다.다음 예시는 유럽을 통과하는 루트를 경유하는 매사추세츠의 IP 주소에 대한 뉴질랜드로부터의 요구를 나타내고 있습니다.

대부분의 구현에는 홉별로 송신하는 쿼리 수, 응답 대기 시간, 홉 제한 및 사용할 포트를 지정하는 옵션이 적어도 포함되어 있습니다.지정된 옵션을 지정하지 않고 traceroute를 호출하면 사용 가능한 옵션 목록이 표시되며 man traceroute는 표시되는 오류 플래그 등 자세한 내용을 보여줍니다.Linux의 예:

$ traceroute -w 3 -q 1 -m 16 example.com traceroute to example.com (93.184.216.34), 16최대, 52 바이트 패킷1 192.x.x ( 192 . x . x . x ) 5.16 ms 2 10 . x . x . x ( 10 . x . x . x ) 12.76 ms 3 172 x ( x )205 ms 7 xxx.xxx.xxx.edgecastcdn.net (192.x.x.x) 24.573 ms 8 * 9 * 10 93.x.x.x.x (93.x.x) 22.810 ms 11 93.x.x (93.x.x) 20.235 ms

위의 예에서 선택한 옵션은 3초 동안 대기하고(5개 중 하나), 각 홉에 쿼리를 1개만 송신하고(3개 중 하나), 포기하기 전에 최대 홉카운트를 16개로 제한하고(30개 중 하나), example.com을 최종 호스트로 하는 것입니다.회선 8과 9(TTL 8과 9)에서는, 타임 아웃내에 라우터가 응답하지 않은 아스타리스크가 표시됩니다.

traceroute를 사용하면 사이트에 [clarify]대한 ICMP 트래픽 또는 Unix ping의 상위 포트 UDP를 차단하고 있을 가능성이 있는 잘못된 라우팅 테이블 정의 또는 방화벽을 식별할 수 있습니다.방화벽은 ICMP 패킷을 허용하지만 다른 프로토콜의 패킷은 허용하지 않으므로 올바른 traceroute 응답은 애플리케이션에 대한 연결을 보장하지 않습니다.

traceroute는 특정 호스트 주변의 네트워크인프라스트럭처 및 IP 주소 범위에 대한 정보를 수집하기 위해 침입 테스터에 의해 사용되기도 합니다.

또한 데이터를 다운로드할 때도 사용할 수 있으며, 동일한 데이터에 대해 여러 개의 거울을 사용할 수 있는 경우 각 거울을 추적하여 가장 빠르게 사용할 수 있는 미러를 파악할 수 있습니다.

오리진스

traceroute 매뉴얼 페이지에는 원래 traceroute 프로그램은 1987년 Van Jacobson에 의해 Steve Deering의 제안으로 작성되었으며, 특히 C의 설득력 있는 제안 또는 수정사항으로 작성되었다고 기재되어 있습니다.필립 우드, 팀 시버, 켄 아델만.ping 프로그램의 저자인 Mike Muuss는 자신의 웹사이트에서 [13]traceroute가 처음에 ping 프로그램을 만들 때 원시 ICMP 소켓을 활성화하도록 코드화된 커널 ICMP 지원을 사용하여 작성되었다고 밝히고 있습니다.

제한 사항

traceroute 제한은[14] 잘 알려져 있으므로 도구를 사용할 때 고려해야 합니다.예를 들어 traceroute는 라우터 레벨이 아닌 인터페이스레벨로 패스를 검출하지 않습니다.라우터가 프로브에 응답하지 않는 경우 또는 라우터가 ICMP [15]응답에 제한이 있는 경우 다른 제한이 발생합니다.트래픽 로드밸런싱이 존재하는 경우 traceroute는 실제로 존재하지 않는 경로를 나타낼 수 있습니다.이 문제를 최소화하기 위해 Paris-traceroute라고 하는 traceroute가 [16]변경되어 로드밸런싱을 회피하기 위해 프로브의 플로우 ID가 유지됩니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ "Traceroute6(8) - Linux man page".
  2. ^ "Tracert6(8): IPv6 traceroute tool - Linux man page".
  3. ^ GitHub에서의 tracert.cpp
  4. ^ traceroute(8)Linux 프로그래머 매뉴얼– 관리 및 특권 명령어
  5. ^ traceroute(8)FreeBSD 시스템 매니저 매뉴얼
  6. ^ traceroute(8)NetBSD 시스템 매니저 매뉴얼
  7. ^ traceroute(8)OpenBSD 시스템 매니저 매뉴얼
  8. ^ traceroute(8)DragonFly BSD 시스템 유지보수 및 운용 명령 매뉴얼
  9. ^ a b c Comer, Douglas (2004). Computer Network and Internets with Internet Applications. Pearson Education, Inc. pp. 360–362. ISBN 978-0131433519.
  10. ^ "Tracert". Microsoft Docs. Retrieved December 11, 2020.
  11. ^ "tracepath(8) – Linux man page". linux.die.net. Retrieved 2015-06-21.
  12. ^ "Understanding the Ping and Traceroute Commands". Cisco IOS Software Releases 12.1 Mainline. cisco.com. 2006-11-29. Retrieved 2013-12-08.
  13. ^ PING 프로그램의 개요
  14. ^ Ray Belleville (March 3, 2017). "Limitations of Traceroute Explained".
  15. ^ Marchetta, P.; Montieri, A.; Persico, V.; Pescapé, A.; Cunha, Í; Katz-Bassett, E. (June 2016). "How and how much traceroute confuses our understanding of network paths". 2016 IEEE International Symposium on Local and Metropolitan Area Networks (LANMAN): 1–7. doi:10.1109/lanman.2016.7548847. ISBN 978-1-4673-9882-4. S2CID 4643833.
  16. ^ "Paris Traceroute". paris-traceroute.net. Retrieved 2017-06-10.

추가 정보

외부 링크