핑 결과에서 TTL 해석


11

VoIP 서비스 제공 업체에서 일하고 있으며 케이블 인터넷 연결이있는 고객과 관련하여 문제가 발생했습니다.

그는 단일 블록을 가지고 있으며,이 블록은 70.141.15.0/29이며 게이트웨이는 .1이고 라우터는 .2 및 .3입니다. 두 라우터 모두 케이블 모뎀에 연결되어 있으며, 이는 케이블 공급 업체가 "브리지 모드"라고 생각하는 모든 것으로 설정되어 있습니다.

동일한 라우터에서 두 라우터를 동시에 핑하고 있는데, 이는 아마도 (3) 레벨에서 파이버에 연결된 리눅스 시스템입니다. 말할 것도없이, 지구상의 어느 누구도 여기와 거기 사이에 얼마나 많은 노드가 있는지 모릅니다. 그러나 핑 결과를 확인하십시오.

첫 번째 라우터로 :

64 bytes from 70.141.15.2: icmp_seq=2637 ttl=47 time=45.0 ms
64 bytes from 70.141.15.2: icmp_seq=2638 ttl=47 time=39.2 ms
64 bytes from 70.141.15.2: icmp_seq=2639 ttl=47 time=37.3 ms
64 bytes from 70.141.15.2: icmp_seq=2640 ttl=47 time=46.1 ms
64 bytes from 70.141.15.2: icmp_seq=2641 ttl=47 time=45.8 ms
64 bytes from 70.141.15.2: icmp_seq=2642 ttl=47 time=46.5 ms
64 bytes from 70.141.15.2: icmp_seq=2643 ttl=47 time=40.9 ms

두 번째부터 :

64 bytes from 70.141.15.3: icmp_seq=631 ttl=239 time=54.7 ms
64 bytes from 70.141.15.3: icmp_seq=637 ttl=239 time=40.5 ms
64 bytes from 70.141.15.3: icmp_seq=638 ttl=239 time=40.3 ms
64 bytes from 70.141.15.3: icmp_seq=639 ttl=239 time=38.4 ms
64 bytes from 70.141.15.3: icmp_seq=640 ttl=239 time=44.9 ms
64 bytes from 70.141.15.3: icmp_seq=641 ttl=239 time=38.4 ms
64 bytes from 70.141.15.3: icmp_seq=642 ttl=239 time=38.8 ms

TTL 값을 확인하십시오. 이게 말이 되요? 이 장치들은 서로 직접 연결되어 있으며 별도의 스위치 포트를 통해 해당 모뎀에 연결되어 있습니다. 어떻게 약 200 개의 홉이 더있는 것처럼 보일 수 있습니까? 다른 사이트를 핑 (ping)하여 TTL이 생각한대로 구현되지 않았다는 인상을 받았습니다. 나와 4.2.2.2 또는 woot.com 사이에 200 개의 홉이 있는지 의심하지만 두 가지 모두에서 50 개의 TTL 결과를 얻습니다.

이 라우터 중 하나 (더 높은 TTL이있는 라우터)는 Fortinet에서 만든 것이고 다른 하나는 사용자 지정 Linux 기반 장치입니다. 필자는 Forti에 홈 롤링 된 네트워크 스택이 있고 Linux 상자는 하드웨어 개발자가 다운로드 한 소스 tarball과 함께 제공된 것을 사용한다고 확신합니다. ICMP 에코가이 중 하나에서 기괴한 형태로 구현되어 TTL이 50 인 모든 회신을 의도적으로 보낼 가능성이 있습니까?

또한 제게 보이는 TTL을 사용하는 답글이 슬래시 도트라는 것을 알 수있는 유일한 사이트 중 하나 인 것을 알 수 있습니다. 서버와 라우터가 일반 웹 사이트보다 "차고에서 찾은 것"보다 약간 적을 수 있습니다. 일종의 마지막 추측으로 올바른 길을 가고있는 것 같은 기분이 들게합니다.

요약하자면, Ping에 대한 TTL은 신뢰할 수있는 것을 의미합니까?


3
Windows XP와 Windows 7에서 TTL을 128로 설정하고 Linux 시스템의 경우 일반적으로 TTL 64를 사용하는 곳을 읽었습니다. 완벽하지는 않지만 때로는 알기에는 매우 유용합니다.
Sean

답변:


22

말할 것도없이, 지구상의 어느 누구도 여기와 거기 사이에 얼마나 많은 노드가 있는지 모릅니다.

나는 얼마나 많은 노드를 알고 있습니다. 정확히 16 개가 있습니다. 다른 응답을받는 이유는 운영 체제마다 TTL에 다른 시작 값을 사용하기 때문입니다. 일부 장치는 255를 사용하고 다른 장치는 63을 사용합니다. 따라서 Ping을 수행하는 장치 중 하나가 TTL을 255로 설정하여 회신을 보냅니다. 다시 돌아올 때 239로 감소했습니다. 16 홉입니다.

핑하는 다른 장치는 TTL을 63으로 설정합니다. 따라서 사용자에게 도달하면 값은 47입니다.

255-239 = 63-47 = 16.

사용자와 대상 사이의 홉 수를 확인하려면 traceroute를 사용하십시오.


감사합니다! 나는 현재 내가 근거가 없다고 가정하고 있었다. 하나 더 질문 : 255 및 63 표준 기반 값 또는 임의? 즉, 세 자리 TTL이 255 등으로 수명을 시작했다고 안전하게 가정 할 수 있습니까?
Daniel Thompson

3
나는 이것에 대한 "표준"이 없다고 생각합니다. OTOH, 나는 하나 또는 다른 시스템을 본 적이 없다.
Ron Trunk

초기 TTL에서는 63 개의 값이 일반적이지 않습니다.
JeanPierre

2

TTL 값은 원격 시스템에 의해 결정됩니다. 예를 들어, Linux 시스템을 핑 (ping)하는 경우 원래 TTL 값은 64입니다. 다시 연결하기 위해 교차하는 네트워크 수에 따라 TTL 값이 1로 공제됩니다. 따라서 8.8.8.8을 핑 (ping)하면 Google의 네임 서버는 원래 값이 128입니다. 다시 돌아올 때 121의 값을 가질 수 있습니다. 즉, 7 개의 네트워크를 통과하여 Windows 시스템이었습니다.

일반적인 TTL 값

  • 라우터-255
  • 창문-128
  • 리눅스-맥-64

0

128-Windows, 64-most Linux 및 라우터, 60- 레어, 32-Windows 95

그리고 아무도 63을 사용하지 않으면 아마도 반환 경로에서 다른 라우터를 때릴 것입니다.


0

총 경로 수를 보려면 "Tracert [IP ADDRESS]"를 시도하십시오.

시스템이 64 TTL에서 시작하면 하나의 홉 거리로 장치를 TRACERT하면 TTL = 63이됩니다.

나는 노력했고 그것이 내가 얻은 것입니다. 나는 항상 TTL을 궁금해한다. 흠 ...


이 질문에 대답하지 않습니다.
Teun Vink
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.