traceroute가 동일한 홉에 대해 많은 IP 주소를 표시하는 이유는 무엇입니까?


14

여기 내 집에서 (으)로가는 경로가 sina.com.cn있습니다.

 traceroute -n   sina.com.cn
traceroute to sina.com.cn (202.108.33.60), 30 hops max, 60 byte packets
 1  192.168.31.1  0.476 ms  0.587 ms  0.695 ms
 2  140.0.5.1  2.557 ms  2.699 ms  3.065 ms
 3  221.11.155.65  4.501 ms * 221.11.165.9  5.045 ms
 4  * 221.11.156.18  26.480 ms 221.11.165.233  22.950 ms
 5  219.158.9.97  14.176 ms * 219.158.19.149  21.472 ms
 6  219.158.9.97  18.142 ms 219.158.8.81  44.856 ms  52.539 ms
 7  124.65.194.190  53.162 ms 219.158.8.81  50.614 ms 124.65.194.190  47.266 ms
 8  124.65.194.190  50.760 ms 61.148.143.26  49.351 ms  53.515 ms
 9  210.74.176.138  43.056 ms  43.286 ms 61.148.143.26  53.712 ms
10  202.108.33.60  46.385 ms 210.74.176.138  42.896 ms  46.931 ms

192.168.31.1은 내 홈 라우터입니다.
140.0.5.1은 ISP가 제공하는 공개 IP입니다.

curl  ifconfig.me
140.0.5.1 

세 번째 줄에서

3  221.11.155.65  4.501 ms * 221.11.165.9  5.045 ms

왜 두 개의 IP 주소 221.11.155.65221.11.165있습니까? 무슨 뜻인가요?

패킷이 140.0.5.1 221.11.155.65에서로 이동 한 다음에서 221.11.155.65 로 이동 221.11.165합니까?


한 가지 설명. ISP가 IP 주소를 제공 한 경우 실행하는 traceroute 명령에 표시되지 않아야합니다. IP 주소에 대한 추적 경로를 수행하는 경우 홉 1로 표시됩니다. IP 주소가없고 140.0.5.1약간 특이한 방식으로 작동하는 일종의 CGN 일 가능성이 큽니다 .
kasperd

답변:


4

traceroute는 인터넷 제어 메시지 프로토콜 (icmp) 패킷을 보낼 때 옵션 필드를 사용합니다. 네트워크의 각 게이트웨이 또는 라우팅 포인트는 한 인터페이스에서 패킷을 읽고 어디로 가야하는지 결정한 후 다른 인터페이스에 씁니다. 그 인터페이스는 아마도 목적지에 더 가깝습니다. 라우터가 패킷을 전달하는 동안 패킷 헤더도 수정합니다. "사용 시간"또는 홉 수 필드를 하나씩 줄입니다. 패킷 경로에서 대상을 향한 각 게이트웨이는이 필드를 줄입니다.

홉 수 필드가 0으로 떨어지면 많은 라우터가 패킷이 삭제 된 위치를 나타내는 ICMP 메시지를 다시 보냅니다. 특정 거리만큼 떨어진 IP 주소를 찾기 위해 traceroute는 시간 옵션이있는 패킷을 전송하고 시간 초과시 응답을 제공합니다. 홉 수가 1부터 시작하여 급격히 증가하는 메시지는 각각 점차적으로 더 먼 라우터의 IP 주소를 반환합니다. traceroute가이 작업을 여러 번 수행하기 때문에 인터넷과 마찬가지로 네트워크가 풍부하게 연결된 경우 일부 카운트에서 여러 답변을 얻을 수 있습니다. 게이트웨이에 대한 경로가 다른 홉을 통과했기 때문에 특정 게이트웨이가 다른 양으로 응답하는 경우가 있습니다.


11

어떤 traceroute여기에 정보로 제공하는 것은 당신이 당신의 목적지 라우터에서 시작 도달하기 적어도 2 개 경로를 가지고있다 :

           IP adresses                 Internet operator

           140.0.5.1                   Firstmedia - Indonesia
             /    \
            /      \
221.11.155.65      221.11.165.9        China Unicom - China

이는 거대한 인터넷 운영자에게 일반적인 상황입니다. 인터넷에서 발생하는 정상적인 사고에 저항 할 수있는 경로가 많습니다.

-a의 옵션을 traceroute사용하면 도움이 될 수는있는 운영자 모든 IP 주소가 속한를 식별합니다.

다음은 http://ping.eu/traceroute/ 서버와 같은 네트워크 도구를 통해 휴대 전화에서도 얻을 수있는 더 큰 경로 트리의 예입니다 . 140.0.5.1로 추적 경로


debian9에서 내 traceroute 옵션은 없습니다.
scrapy

traceroute [-46dFITUnreAV] [-f first_ttl] [-g gate, ...] [-i 장치] [-m max_ttl] [-p 포트] [-s src_addr] [-q nqueries] [-N squeries] [ -t tos] [-l flow_label] [-w 대기 시간] [-z sendwait] [-UL] [-D] [-P 프로토] [--sport = port] [-M 방법] [-O mod_options] [ --mtu] [--back] 호스트 [packet_len]
scrapy

나는 여기서 FreeBSD를 사용하고있었습니다.
dan

8

로부터 traceroute(8)수동 오픈 BSD에 :

세 개의 프로브 (정확한 번호는 -q 옵션을 사용하여 변경할 수 있음 )가 전송되고 TTL 또는 홉 제한, 게이트웨이 주소 및 각 프로브의 왕복 시간을 표시하는 라인이 인쇄됩니다. 프로브 응답이 다른 게이트웨이에서 온 경우 각 응답 시스템의 주소가 인쇄됩니다.

리눅스 매뉴얼에는 비슷한 표현이 있습니다.

표시되는 여러 IP 주소는 특정 홉 제한에서 개별 프로브에 응답하는 게이트웨이입니다.

귀하의 경우에, 3 개의 프로브는 홉 한계 3에서 221.11.155.65 및 221.11.165.9의 게이트웨이에서 귀하에게 되돌아 왔다는 응답을 얻었습니다.

따라서 답은 다음과 같습니다. 아니요, 패킷은 해당 회선에 나열된 두 호스트간에 이동하지 않으며, 세 개의 프로브가 전송되며 140.0.5.1에서 두 개의 다른 경로를 사용합니다.


1
@RuiFRibeiro 나는 명확한 질문에 대답하기 위해 내 대답을 분명히했습니다.
Kusalananda

실제로, 나는 데비안에서 최소한 traceroute가 같은 표현을 가지고 있음을 확인했습니다.
Rui F Ribeiro
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.