다른 운영 체제에서 사용하는 TTL의 기본값이 다른 이유는 무엇입니까? TTL은 128이고 우분투에서는 64입니다. 나는 항상

Windows에서 기본 TTL은 128이고 우분투에서는 64입니다.

나는 항상 예를 ​​들어 255가 아닌 어떤 값들이이 원칙들을 선택했는지에 따라 질문을했다.



답변

나는 항상 예를 ​​들어 255가 아닌 어떤 값들이이 원칙들을 선택했는지에 따라 질문을했다.

tl; dr :
TTL의 기본값은 대부분의 OS에서 가능한 최대 값 (255)보다 작습니다. 대상에 도달 할 수없는 패킷을 기다려야하는 오버 헤드가 줄어들어 TTL이 0으로 감소하기 때문입니다. tTTL을 255로 사용하는 데있어 진단 목적 이외에도


먼저 TTL이 무엇인지 살펴 보겠습니다 .

TTL (Time to Live) 또는 홉 제한은 컴퓨터 나 네트워크에서 데이터의 수명 또는 수명을 제한하는 메커니즘입니다.

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

오늘날에는 패킷이 10-15 회를 넘지 않고 대부분의 목적지에 도착합니다. 그리고 이것이 세계 네트워크가 구축되는 방식이기 때문입니다. 대부분의 인터넷 서비스 제공 업체는 라우팅 테이블에 다른 ISP의 많은 네트워크를 가지고 있으며 패킷은 대부분 최단 또는 가장 빠른 경로를 통해 대상으로 전송됩니다. 이는 BGP (Border Gateway Protocol) 와 같은 외부 라우팅 프로토콜 덕분에 가능합니다 .

이러한 이유로 IETF (Internet Engineering Task Force)RFC 1700 : Assigned Numbers에 권장되는 기본값 인 기본값 인 64 를 게시 했습니다 .
TTL을 255로 설정해야 할 이유는 없습니다. 패킷이 대상을 찾을 수 있으면 10-15 홉 이하로 도착합니다. 드물게는 패킷이 20 회 이상의 홉을 통과하는 경우가 있습니다.

따라서 패킷이 대상에 도달 할 수 없으면 TTL이 0으로 떨어질 때까지 계속 재 시도합니다. 기본 TTL 값이 255로 설정되면 255 번의 재시도 후에 패킷이 삭제됩니다. 64로 설정하면 64 번 재시도 후에 삭제됩니다. 그리고 64 번의 홉 이후에 패킷이 목적지에 도착하지 않으면 패킷이 도착하지 않을 가능성이 높습니다. 따라서 패킷 시간이 초과 될 때 오버 헤드 및 I / O를 줄이려면 TTL의 권장 값이 줄어들어 ICMP Time Exceeded 오류 메시지에 더 빨리 도달하여 삭제되므로 더 이상 처리되지 않습니다.

운영 체제마다 TTL 세트의 기본값이 다릅니다. 대부분의 OS는 기본값 인 64 (좋은 방법)에 대한 IETF의 권장 사항을 따르는 경향이 있지만, 다른 OS는 자신의 신념에 따라 다른 값을 설정합니다. 선택의 문제입니다. 여기 에서 대부분의 운영 체제에 대한 기본 TTL 값을 볼 수 있습니다. 일부는 30 개가 있고 나머지는 128 개 (예 : Windows)가 있습니다.


답변