정보보안, 해킹, IT지식/네트워크 지식

TTL(Time To Live) 란

Black hawke 2023. 7. 21. 15:16
728x90
반응형

TTL 값(Value)에 대해 알아 볼까요?

TTL value 란?

IP 패킷(Internet Protocol Packet) 내에 있은 값으로, 그 패킷이 네트워크 내에 너무 오래 있어서 버려져야 하는지의 여부를 라우터에게 알려준다. Ping Test의 TTL 값은 패킷이 폐기되기 전에 통과 할 수 있는 최대 네트워크 홉(Router) 수를 나타낸다. 패킷들은 부정확한 라우팅 테이블의 결합은 패킷을 끝없이 순환하게 만드는데 이같은 여러 이유로 적당한 시간 내에 지정한 장소에 배달되지 못하는 수가 있다. 그래서 TTL은 일정한 시간이 지나면 그 패킷을 버리고 재전송할 것인지를 결정하도록 발신 호스트에게 알려 주기 위한 해결책이다.

TTL Vlaue 구성 

패킷이 폐기되기 전에 통과할 수 있는 최대 홉(HOP: 라우터) 수를 결정하는 네트워크 매개 변수.

TTL구성 주요 목적은 라우팅 루프(Routing Loop)가 있는 경우 방지하는 것.이는 루핑되는 IP 패킷에 의한 인터넷망의 부하를 줄이도록 설계된 부분이다.

사용 중인 운영 체제 또는 네트워크 장치에 따라 구성하는 구체적인 방법이 다를 수 있다.

TTL 값의 설정

시스템에 의해 TTL의 초기값은 대개 8 bit 길이의 IP 패킷 헤더에 지정되며, 보내는  Host가 설정한다.

패킷이 각 라우터를 통해 이동할떄 TTL 값은 1씩 감소 한다.그 값이 0에 도달하면 라우터는 패킷을 버리고

ICMP Time Exceeded 메시지를 발신지 호스트(Host)로 다시 보낸다.

그 계산은 대개 패킷이 버려지기전에 허용되는 라우터 홉수를 의미 하는데 사용 된다.

[Ping Test를 이용한 TTL 값 계산]

ICMP 메시지는 타입(Type)에 따라 여러 종류가있으나 Ping Test는 Type 8,0번을 사용한다.

IP address로 ping Test하게 하면, ICMP Type 8 패킷이 상대편 호스테 전달되고, 상대편 호스트 0번 패킷이 재전송한다.

ICMP 패킷은 인터넷 망에서 목적지를 찾기위해 IP 패킷으로 encapsulation 되어 전송되는데 이떄  IP 헤더에  8 bit TTL 필드가 존재하게 된다.TTL 필드 값은 한 홉을 지날때마다 -1씩 증가하여 0 이 되면 라우터에서 패킷이 버려지게 된다.

Network Topology

위의 그림에서 PC1 에서 PC2 까지의 TTL 계산해 볼 수 있다.

라우터 2개를 통하여 통신을 함으로  Hop Count 가 -2 ,따라서 TTL=254 인걸 볼 수 있다

PC1 에서의 TTL 값 (시스코 패킷 트래이서)

TTL 값이 254인것으로 보아 운영체제는 Windows 도 아닌 Unix도 아님을 알 수 있다.

 

결론적으로 TTL이 가질수 있는 가장 큰 값은 2의 8승으로 255가 된다.

이 값은 어플리케이션마다 Default 값이 다르나 Dos에서는 255가 디폴트가 된다.

Ping test한 Host와 DNS 간에  존재하는 라우터 갯수(Hop count) 만큼 빼면 TTL이 된다.

  [ 255 - 라우터수(Hop count) = TTL ]

 

기본 운영체제의 TTL vlaue : 

  .윈도우(Windows) 운영체제 기반  : TTL=128 

  .유닉스(unix)         운영체제 기반  : TTL=64

  .그 외 (Others)                               : TTL=255

 

* 인터넷망을 통틀어 라우터의 홉수는 30개를 넘지 못한다. 따라서 TTL 값의 최대 값은 -30이내 라고 생각하면 된다.

 

TTL 값은 일반적으로 운영 체제 또는 네트워크 장치에 의해 자동으로 관리되며, 기본 TTL 값은 일반적으로 운영체제에서 합리적인 값으로 설정되며 일반적인 상황에서는 수정할 필요가 없다.

 

 

 

오늘은 저번 시간 Ping Test 와 관련하여 TTL 값에 대해 알아 보았습니다.:))

728x90