목차
- Traceroute(라우팅 추적)란?
- Traceroute 동작 원리
- Traceroute 명령어 구문 설명
- 간단한 Traceroute 예제와 결과 해석
- TTL(Time to Live) 개념
1. Traceroute(라우팅 추적)란?
Traceroute(또는 tracert)는 네트워크 통신 경로를 추적하는 도구로, 특정 호스트로의 패킷 전달 경로와 소요 시간을 확인하는 데 사용됩니다. 리눅스에서도 Traceroute를 활용하여 네트워크 경로를 파악할 수 있습니다.
2. Traceroute 동작 원리
Traceroute는 ICMP(Internet Control Message Protocol) 패킷을 이용하여 패킷이 목적지에 도달하는 데 걸리는 시간을 측정합니다. 패킷은 목적지로 향하는 경로를 따라서 중간 라우터들을 거치면서 TTL(Time to Live) 값을 변경하여 전송됩니다.
TTL 값은 패킷이 지나는 라우터의 개수를 제한하는데, 각 라우터가 패킷을 수신할 때마다 TTL 값을 1씩 감소시킵니다.
만약 TTL 값이 0이 되면 패킷은 폐기되고, 해당 라우터는 이를 ICMP "시간초과" 메시지로 알립니다.
이를 통해 Traceroute는 목적지까지의 경로를 추적하며 지연 시간을 측정할 수 있습니다.
3. Traceroute 명령어 구문 설명
Traceroute 명령어의 일반적인 구문은 다음과 같습니다.
$ traceroute [옵션] [대상 호스트]
4. 간단한 Traceroute 예제와 결과 해석
Traceroute를 특정 호스트에 대해 실행하여 결과를 해석하는 예제를 살펴봅니다.
$ traceroute www.example.com
1 _gateway (172.16.0.1) 0.238 ms 0.219 ms 0.274 ms
2 211.192.36.94 (211.192.36.94) 2.294 ms * *
3 112.188.8.81 (112.188.8.81) 2.127 ms 2.138 ms 2.148 ms
4 * * *
5 112.174.47.241 (112.174.47.241) 7.882 ms 112.174.49.241 (112.174.49.241) 14.217 ms 112.174.47.241 (112.174.47.241) 7.886 ms
6 112.174.91.86 (112.174.91.86) 8.411 ms 112.174.86.130 (112.174.86.130) 9.544 ms 112.174.91.134 (112.174.91.134) 8.560 ms
7 112.174.88.218 (112.174.88.218) 140.874 ms 140.091 ms 140.855 ms
8 edgecast-networks.as15133.any2ix.coresite.com (206.72.210.112) 134.609 ms 136.175 ms 133.922 ms
9 ae-85.core1.oxr.edgecastcdn.net (152.195.76.133) 141.185 ms 140.696 ms 138.022 ms
10 93.184.216.34 (93.184.216.34) 137.645 ms 139.378 ms 138.962 ms
11 93.184.216.34 (93.184.216.34) 131.755 ms 138.520 ms 140.531 ms
위 결과에서 숫자는 각 라우터의 응답 시간을 나타내며, 괄호 안에 있는 IP 주소는 해당 라우터의 주소입니다.
Traceroute는 최대 30개의 중간 라우터까지 추적합니다.
5. TTL(Time to Live) 개념
TTL은 패킷이 라우터를 거칠 때마다 1씩 감소되는 값으로, 패킷이 지나는 라우터의 개수를 제한하는 데 사용됩니다. Traceroute에서는 TTL 값을 변경하여 경로 추적을 수행하며, TTL 값이 0이 되면 해당 라우터는 시간초과로 패킷을 폐기합니다.