홉 의미 (TTL 측정)


10

ping 명령을 사용하면 다음 결과가 나타납니다 (Windows).

C:\>ping example.microsoft.com
Pinging example.microsoft.com [192.168.239.132] with 32 bytes of data:
Reply from 192.168.239.132: bytes=32 time=101ms TTL=124
...

이러한 유틸리티 문서에서 TTL은 단위로 측정됩니다 . ICMP 사양 RFC 792 에 따르면 :

살 시간. 초 안에 사는 시간 ; 이 필드는 데이터 그램이 처리되는 각 시스템에서 감소하므로이 필드의 값은이 데이터 그램이 통과 할 게이트웨이 수만큼 커야합니다.

따라서 모든 호스트는 TTL을 1 초 이상 줄 입니다. 에 대해서는 아무 말도 하지 않았다 . 그렇다면 왜 홉이 사용됩니까? 호스트가 데이터 그램을 너무 빨리 처리하는 경우 ms 와 같이 사용하지 않는 이유는 무엇 입니까? 그리고 왜 스펙은 에 대해 아무 말도하지 않습니까?


좋은 질문. 올바르게 기억하면 IPv6에서 TTL을 홉으로 교체했지만 확실하지 않습니다.
AndrejaKo

1
@AndrejaKo, 그렇습니다. 그러나 공식적으로는 IPv6에서만.
Kyrylo M

답변:


7

TTL은 라우팅 루프가있는 경우 패킷의 수명 (및 리소스 소비)을 영원히 중지하도록 설계되었습니다.

원래 라우터는 패킷을 처리하는 데 1 초 이상 걸릴 수 있습니다.

라우터가 훨씬 빨라지고 1 초 안에 패킷 처리를 시작하면 루프를 멈추지 않기 때문에 TTL을 0으로 줄이는 것은 어리석은 일입니다.

대신 TTL을 1 초씩 줄입니다.

이 변경 사항은 RFC 1716 섹션 5.3.1에 설명되어 있습니다.

IP 헤더의 TTL (Time-to-Live) 필드는 데이터 그램의 수명을 제한하는 타이머로 정의됩니다. 8 비트 필드이며 단위는 초입니다. 패킷을 처리하는 각 라우터 (또는 다른 모듈)는 경과 시간이 1 초 미만이더라도 TTL을 최소한 1 씩 줄여야합니다. 이 경우가 종종 있기 때문에 TTL은 인터넷을 통해 데이터 그램이 얼마나 멀리 전파 될 수 있는지에 대한 홉 수 제한입니다.

라우터가 패킷을 전달할 때 TTL을 최소한 1 씩 줄여야합니다. 패킷이 1 초 이상 유지되면 TTL을 1 초씩 감소시킬 수 있습니다.

또한보십시오:

위키 백과-Time to Live :

TTL 필드는 데이터 그램의 발신자가 설정하고 대상의 경로에있는 모든 호스트에 의해 줄어 듭니다.

맥시-피디아-TTL (Time to Live)

패킷이 통과하는 각 라우터는 TTL 필드에서 하나 이상의 카운트를 빼야합니다.


홉에 대해 아무것도 보지 않고 왜 몇 초 또는 ms 대신 사용했는지.
Kyrylo M

1
RFC 1716에 대한 링크를 추가했습니다. 그것이 지정된 곳입니다.
Mikel
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.