PC에서 traceroute를 사용할 때 빈 항목 (***)이지만 라우터에서 traceroute를 사용할 때는


0

오늘 www.google.com라우터와 PC에서 경로 추적 을 시도 할 때 이상한 동작이 나타났습니다.

라우터의 추적 경로

traceroute to www.google.com (173.194.38.176), 30 hops max, 40 byte packets
 1  10.74.128.182 (10.74.128.182)  69.669 ms 10.74.128.178 (10.74.128.178)  36.885 ms 10.74.128.182 (10.74.128.182)  38.042 ms
 2  10.74.128.181 (10.74.128.181)  36.468 ms  37.848 ms  35.048 ms
 3  10.64.7.74 (10.64.7.74)  75.262 ms 10.64.7.86 (10.64.7.86)  44.339 ms  40.346 ms
 4  kph-148-48.tm.net.my (203.106.148.48)  40.021 ms  48.847 ms  39.153 ms
 5  10.64.7.90 (10.64.7.90)  41.705 ms  42.232 ms  40.001 ms
 6  10.55.34.234 (10.55.34.234)  48.969 ms  48.335 ms  49.216 ms
 7  * * 72.14.203.186 (72.14.203.186)  47.921 ms
 8  209.85.242.240 (209.85.242.240)  61.557 ms  61.469 ms  47.117 ms
 9  209.85.242.232 (209.85.242.232)  59.473 ms  61.54 ms  55.777 ms
10  72.14.233.105 (72.14.233.105)  64.806 ms  61.513 ms  59.459 ms
11  sin04s02-in-f16.1e100.net (173.194.38.176)  61.45 ms  56.76 ms  55.513 ms

PC의 트레이스 루트

Tracing route to www.google.com [173.194.38.179] over a maximum of 30 hops:
  1     1 ms    <1 ms     1 ms  router.asus.com [192.168.1.1] 
  2   118 ms    81 ms   118 ms  10.74.128.178 
  3    38 ms    37 ms    39 ms  10.74.128.177 
  4    45 ms    50 ms    72 ms  10.64.7.86 
  5    43 ms    41 ms    41 ms  kph-148-48.tm.net.my [203.106.148.48] 
  6     *        *        *     Request timed out.
  7     *        *        *     Request timed out.
  8     *        *        *     Request timed out.
  And onwards like that…

  Trace complete.
  1. 왜 두 개의 다른 주소 ( 10.74.128.18210.74.128.178)가 있습니까? 이는 패킷이 다른 시간에 2 개의 다른 라우터로 라우팅되는 것을 의미합니까? 그렇다면 tracert내 PC (Windows 7) 의 명령에 표시되지 않은 이유는 무엇입니까?

  2. 라우터의 추적 경로에서 첫 번째와 두 번째 추적 ( 10.74.128.17810.74.128.181)의 IP는 모두 클래스 A IP이므로 10의 첫 8 비트로 분류되므로 동일한 네트워크 주소에 있습니다. 따라서 패킷을 보낼 수있는 방법이 궁금합니다. 동일한 네트워크에있는 두 라우터에

  3. 라우터 명령으로 전체 추적을 캡처 한 후 tracertPC 의 명령에 빈 결과가 나타나는 이유는 무엇 입니까?*kph-148-48.tm.net.my [203.106.148.48]tracert

  4. 라우터의 추적 경로에서 공개 주소 ( 203.106.148.481) 인 4 행 다음에 오는 다음 2 개의 홉은 개인 주소 ( 10.64.7.9010.55.34.234)입니다. 그 후 Google ( 72.14.203.186)에 속하는 공개 주소로 다시 변경되었습니다 . 인터넷에서 개인 주소를 라우팅 할 수 없다고 생각 했습니까? 2 개의 개인 주소를 핑하려고하면 회신을 받았습니다. 그래서 내 PC가 공개 주소 뒤에 오는 개인 네트워크에서 IP에 어떻게 도달 할 수 있는지 궁금합니다.


흠. 라우터에서 추적 경로를 본 적이 없습니다. 어떤 라우터가 있습니까?
DavidPostill

10.0.0.0-10.255.255.255는 개인 네트워크 IP 주소이므로 로컬 네트워크에 있습니다
DavidPostill

질문 2는 의미가 없습니다. '클래스 A'주소 공간에 대한 참조는 더 이상 사용되지 않는 표준을 나타내며 더 이상 실제로는 아닙니다. 또한 IP가 동일한 / 24에 있기 때문에 두 개 이상의 라우터를 단일 서브넷에 연결하고 중복성을 제공하기 위해 함께 작동하는 여러 가지 방법이 있습니다.
cpt_fink

@DavidPostill 트레이스 루트 툴이 사전 설치된 아수스 라우터
caramel1995

@DavidPostill 개인 범위 ip 10.0.0.0-10.255.255.255를 가진 라우터는 ISP에 속합니다. 내 라우터와 kph-148-48.tm.net.my (203.106.148.48)의 인터넷 액세스를위한 실제 공용 IP 사이에 NAT 라우터가 설치되어있는 것 같습니다. 이것이 ipchicken.com에있는 IP이기 때문에
caramel1995

답변:


7

Traceroute는 IP TTL (Time to Live) 값이 연속적으로 높은 IP 패킷을 전송하여 작동합니다. 1,2,3 ... 각 홉은 TTL을 감소시킵니다. 0에 도달하면 패킷이 라우트되지 않고 ICMP 시간 초과 메시지가 소스로 전송되므로 traceroute를 실행중인 시스템이 라우트를 결정합니다.

  1. 이것은 많은 Linux 설치에서 발견되는 추적 경로 버전 인 것으로 보입니다. 이 traceroute 명령은 각 TTL 값마다 3 개의 패킷을 보냅니다. 그래서 당신이보고있는 것은 2 개의 패킷이 가고 10.74.128.1821이 갔다는 것 10.74.128.178입니다.

  2. 이것은 라우터 다음의 첫 번째 홉이므로 라우터의 게이트웨이 주소 일 수 있습니다. HSRP 또는 이와 유사한 기능이 작동 중일 수 있습니다. 유동 IP 주소로로드 밸런싱을하는 장치가 두 개있을 수 있습니다. 예를 들면 : 당신은 게이트웨이 주소 10.0.0.1을 사용하지만, 내부적으로이 사실을 지적 10.0.0.2하고 10.0.0.3있는 부하를 공유 할 수 있습니다. 이것은 실제로 HSRP를 사용하여 가능합니다 . 고급 라우팅은 더 이상 실제로 사용되지 않습니다. 10.0.0.0/8 범위는 ISP가 사용중인 RFC1918 IP 주소입니다.

  3. 다른 버전의 traceroute는 다른 패킷을 보냅니다. 라우터에서 사용중인 Linux 버전은 기본적으로 UDP 패킷을 보냅니다. PC의 Windows 버전은 핑을 보냅니다. 홉 5와 6 사이에 핑이 차단 된 것처럼 보이지만 추측에 불과합니다. PC에서 다른 traceroute 유틸리티를 사용하면 다른 결과를 얻을 수 있습니다.

  4. 네 말이 맞아 RFC1918 주소는 공용 인터넷에서 라우팅 할 수 없습니다. 제 대답은 홉 4에 공개 IP 주소가 있어도 아직 ISP를 떠나지 않았다는 것입니다. 있다면 개인 소스 주소를 가진 TTL 만료 메시지를받을 수 없습니다. 홉 3과 5의 유사한 IP 주소 지정도 이와 같이 제안합니다. 둘 다 주소를 사용합니다 10.64.7.0/24(아마도 우연의 일치는 아님). IP 주소는 거의 임의적이며 자체 네트워크 내에서 ISP는 공용 및 개인 인터페이스와 인터페이스가있는 라우터를 자유롭게 사용할 수 있습니다. 이것은 홉 3과 4의 경우입니다. ISP 네트워크를 떠난 후 패킷이 퍼블릭 IP 주소없이 라우터를 통과 할 수도 있습니다. 이 경우 추적 경로 응답을받지 않아야합니다.


소중한 통찰력에 감사드립니다. 새로 추가 된 질문 4에 대답 하시겠습니까? 감사합니다
caramel1995

편집했습니다. 그 대답이 충분하기를 바랍니다. 실제로 "TL; DR"은 " '인터넷'이 아닙니다"입니다. 간결 해지는 데 어려움이있었습니다.
Greg Bowser

진정한 의미 는이 완벽한 보석입니다. “라우터에서 사용하는 Linux 버전은 기본적으로 UDP 패킷을 보냅니다. PC의 Windows 버전은 핑을 보냅니다.” 라고 설명합니다.
JakeGould

일반적으로 Wireshark / tcpdump를 설치하고 와이어에서 'traceroute'패킷을 보는 것이 통찰력을 얻는 좋은 방법입니다. 그리고 # 3과 관련하여 nmap / zenmap을 사용하여 TCP 추적 경로를 보낼 수 있습니다.
Greg Bowser
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.