[네트워크] traceroute 결과 분석
다 아시는거겠지만 한번 더 읽어 보시면 도움이 될것 같아서 올려 봅니다.
================================================
버클리 유닉스의 man page를 보면 traceroute를 다음과 같이 설명합니다.
traceroute – print the route packets take to network host
해당 호스트 혹은 단말까지의 패킷 이동 경로를 보여준다라는 소린데,
A라는 시스템에서 B라는 시스템까지의 패킷의 이동 과정에서 발생하는 소
요시간과 경로, 손실내용등을 확인할 수 있습니다.
하지만, 시간과 라우팅 방법, 혹은 방화벽의 유무에 따라서 결과치의 변
동이 심하므로, 절대적인 판단 기준으로는 삼을 수는 없으나, 네트워크의
일반적이며, 외부적인 판단 기초 자료로는 삼을 수 있습니다.
Unix내지는 Unix clan에서는 traceroute 라는 명령을 사용합니다. 윈도우즈
제품군에서는 tracert 라는 명령어를 사용하게 됩니다.
공통적으로 최대 경로수 (Hop수)는 30개로 한정되어져 있습니다. 이유는 현재
까지도 통용되고 있는 RIP 프로토콜을 이용한 라우팅의 경우, 최대 홉수가 30으로
제한 되기 때문입니다.
뭐 보통의 경우는 25 홉을 넘어가는 경우가 극히 드물며, 국내의 경우 20 홉이내를
유지하는 경우가 많기 때문에 30홉이 넘는 경우는 거의 없다고 보시면 되겠습니다.
그럼 trace를 어떤때 사용하느냐? 하는게 관건입니다.
인터넷이라는 것이 어떤 기업의 소유물도 아니며, 단체나 국가가 독보적으로
운영하는 상황이 아닌만큼, 특정 네트워크에 접근이 가능하다 불가능하다는
해당 기관과 업체의 관할입니다. 따라서, 문제가 어디서 발생했는가 를 파악하는
것이 커다란 관건이 되겠습니다.
따라서, 문제의 발생이나, 중간 경유지의 문제점 파악및 점검을 위한 기초
(기초자료일뿐 절대자료가 아닙니다)자료로 사용될 수 있습니다.
예를 들어, 210.96.213.250에서 kix.net으로 가는 경로에 대해서 확인을 해보고
싶으며, 문제가 발생하고 있는지를 확인하고자 하면 이렇게 할 수 있습니다.
[alfm@SHELL alfm]$ /usr/sbin/traceroute kix.net
traceroute: Warning: Multiple interfaces found; using 210.96.213.250
@ eth0
traceroute to kix.net (203.234.254.1), 30 hops max, 40 byte packets
1 Iwork-C7010-2.Iwork.co.kr (210.96.213.252) 1.785 ms 1.417 ms 2.321 ms
2 inca97-s2-0-7-1.rt.bora.net (203.252.11.189) 9.230 ms 22.730 ms
34.629 ms
3 anyabr1-s3-1-0.rt.bora.net (210.120.194.189) 14.683 ms 3.508 ms
4.356 ms
4 anyg3-ge3-0.rt.bora.net (210.120.193.161) 25.850 ms 3.978 ms 3.387
ms
5 selg1-pos8-0.rt.bora.net (210.120.192.113) 4.944 ms 19.645 ms
21.120 ms
6 210.120.192.75 (210.120.192.75) 4.451 ms 15.313 ms 30.001 ms
7 203.234.255.213 (203.234.255.213) 20.050 ms 10.671 ms 5.045 ms
8 apgateway4.kornet21.net (168.126.16.76) 202.073 ms 215.123 ms
202.786 ms
9 kix.net (203.234.254.1) 185.901 ms * 188.176 ms
위에서 보면 9개의 경로를 통해서 해당 시스템까지 가고 있습니다. 문제는 8번째
홉을 지나면서 200ms 까지 올라가는 것을 볼 수 있습니다.
그 이전까지는 4~30ms 정도의 빠른 속도를 보이고 있습니다. 그렇다면, 7번과 8번
홉 사이의 연결 상태에서 문제나 혹은 대역폭의 폭증으로 인한 결과라고 어림 짐작
할 수 있을 겁니다.
7번과 8번은 데이콤과 코넷 사이의 연결점으로 대역폭에 비해서 이용량이 많아서
순간적으로 속도 저하 현상이 일어나곤 하는 병목 지점입니다. (bandwidth 는 약
200Mbps 정도가 있으나, 교환량이 많아서 매번 붐빈다고 합니다. 45Mbps
뚫어(?)놔 봐야 한 달을 넘기지 못하고 꽉꽉 찬다고 합니다.)
거기다 9번 홉에서는 안보이던 *(asterisk) 표시까지 보입니다. * 표시는 보내
어진 패킷이 돌아오지 못한다는 의미입니다.
보통 traceroute에 표시되는 내용은 몇 바이트의 패킷을 보내어 몇 ms내에 도달하
는지를 보여줍니다.
표시된 시간이 1ms 라면 실제로 패킷이 사용한 시간은 2ms 이며, 이를 2로 나누어
도달하는데 필요한 시간만 표시하게 됩니다.
또 하나, 해당 시스템에 억세스가 불가능한 경우가 있습니다. 이 경우는 방화벽으로
차단되어져 외부에서 특정 서비스 이외에는 접근하지 못하는 경우나,
ICMP echo를 라우터 혹은 방화벽 자체에서 필터링 하는 경우입니다.
대표적인 예가 하이텔(home.hitel.net)입니다.
라우터에서는 이밖에도 source traceroute도 가능합니다.
Iwork-C7000-1#trace
Protocol [ip]:
Target IP address: kix.net
Source address: 168.126.254.38
Numeric display [n]:
Timeout in seconds [3]:
Probe count [3]:
Minimum Time to Live [1]:
Maximum Time to Live [30]:
Port Number [33434]:
Loose, Strict, Record, Timestamp, Verbose[none]:
Type escape sequence to abort.
Tracing the route to kix.net (203.234.254.1)
1 168.126.216.41 4 msec 4 msec
168.126.254.37 4 msec
2 168.126.213.236 4 msec 4 msec 0 msec
3 haehwa-inchon-oc3-2.kornet.net (168.126.109.69) 4 msec
haehwa-inchon-oc3-1.kornet.net (168.126.109.65) 4 msec 4 msec
4 apgateway4.kornet21.net (168.126.16.6) 12 msec 4 msec 4 msec
5 kix.net (203.234.254.1) 4 msec * 4 msec
이 경우는 enable mode에서만 가능하며, 특정 인터페이스(혹은 IP)에서 타 시스템
으로의 연결 상태(reachability)를 확인하는데 사용합니다.
왜 이런게 필요한가 의문시 하시는 분들이 있을지는 모르겠습니다만, 사실특정 ip나
인터페이스에서만 특정 네트워크에 접근하지 못하는 경우가 발생하는 것이 사실입니다.
이는 네트워크의 설정과 관련된 문제이며, 기술적인 결함이나 오류로 인한 부분이
대부분이며, 경우에 따라서는 상대편의 시스템의 필터링등이 요인이 될 수도 있습니다.
이 이외에도 필요에 따라서, name lookup을 하지 않는다거나, TTL(Time To Live)
등을 설정하는등 여러가지 경우에 따라서 사용 방법은 변할 수 있습니다.