KOROMOON

착한 사마리아인이 되고 싶습니다.

8/21/2024

TTL (Time To Live)


( 1 ) 정의


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

TTL 은 데이터에 첨부되거나 내장된 카운터 또는 타임스탬프로 구현될 수 있음.

규정된 이벤트 수 또는 기간이 결과되면 데이터가 삭제되거나 재검증됨.

컴퓨터 네트워킹에서의 TTL 은 데이터 패킷이 무기한 순환되는 것을 방지함.

그리고 컴퓨터 애플리케이션에서의 TTL 은 일반적으로 성능을 향상하고 데이터 캐싱을 관리하는 데 사용됨.




( 2 ) 라우터에서 TTL 작동 방식



정보 패킷이 생성되어 인터넷을 통해 전송되면 라우터에서 라우터로 무한정 전달될 위험이 있음.

그럴 가능성을 완화하기 위해 패킷은 TTL 또는 홉 제한에 따라 만료되도록 설계됨.

패킷 TTL 은 패킷이 유포되는 기간을 경정하는 데 유용할 수 있으며, 보내는 사람은 인터넷을 통해 패킷 경로에 대한 정보를 받을 수 있음.


각 패킷에는 네트워크를 통해 얼마나 더 계속 이동해야 하는지를 결정하는 숫자 값을 저장하는 위치가 있음.

라우터는 패킷을 수신할 때마다 TTL 값에서 하나를 빼고 네트워크의 다음 위치로 전달함.

하나씩 줄어들어서 나중에 TTL 값이 0 이 되면 라우터는 패킷을 폐기하고 ICMP 메시지를 원래 호스트로 다시 보냄.


일반적으로 사용되는 네트워크 명령어 ping 및 traceroute 는 모두 TTL 을 사용함.

traceroute 명령어를 사용하면 점점 더 높은 순차적 TTL 값을 가진 패킷 스트림이 인터넷을 통해 대상으로 전송됨.

연결의 각 단계는 패킷 중 하나의 종점이므로 각 패킷을 폐기한 후 발신자에게 ICMP 메시지를 반환함.

그런 다음 ICMP 메시지가 발신자에게 반환되는 데 걸리는 시간이 네트워크를 따라 각 연결 홉에 도달 시간을 결정하는 데 사용됨.




( 3 ) 기타 TTL 작동 방식


패킷이 인터넷을 통해 이동하는 경로를 추적하는 것 외에도 TTL 은 일정 기간 동안 정보를 캐싱하는 컨텍스트에서 사용됨.

각각의 시간이 가변적일 수 있는 라우터 간의 홉 시간을 측정하는 대신 일부 네트워킹 사용 사례는 보다 전통적인 방식으로 작동함.


CDN 은 일반적으로 TTL 을 사용하여 원본 서버에서 새 복사본을 가져오기 전에 캐시된 콘텐츠를 CDN 에지 서버에서 얼마나 오래 제공해야 하는지 결정함.

원본 서버 풀 사이의 시간을 적절하게 설정하면 CDN 은 요청을 원본으로 계속 전파하지 않고 업데이트된 콘텐츠를 제공할 수 있음.

이처럼 최적화하면 CDN 은 원본에서 필요한 대역폭을 줄이면서 사용자에게 더 가까운 곳에서 콘텐츠를 효율적으로 제공할 수 있음.




( 4 ) 다양한 운영 체제 및 장치의 기본 초기 TTL 값 리스트


Device / OS

Version

Protocol

TTL

AIX

 

TCP

60

AIX

 

UDP

30

Android

3.2.1

TCP and ICMP

64

Android

5.1.1

TCP and ICMP

64

AIX

3.2, 4.1

ICMP

255

BSDI

BSD/OS 3.1 and 4.0

ICMP

255

Compa

Tru64 v5.0

ICMP

64

Cisco

 

ICMP

254

DEC Pathworks

V5

TCP and UDP

30

Foundry

 

ICMP

64

FreeBSD

2.1R

TCP and UDP

64

FreeBSD

3.4, 4.0

ICMP

255

FreeBSD

5

ICMP

64

HP-UX

9.0x

TCP and UDP

30

HP-UX

10.01

TCP and UDP

64

HP-UX

10.2

ICMP

255

HP-UX

11

ICMP

255

HP-UX

11

TCP

64

Irix

5.3

TCP and UDP

60

Irix

6.x

TCP and UDP

60

Irix

6.5.3, 6.5.8

ICMP

255

juniper

 

ICMP

64

MPE/IX (HP)

 

ICMP

200

Linux

2.0.x kernel

ICMP

64

Linux

2.2.14 kernel

ICMP

255

Linux

2.4 kernel

ICMP

255

Linux

Red Hat 9

ICMP and TCP

64

MacOS/MacTCP

2.0.x

TCP and UDP

60

MacOS/MacTCP

X (10.5.6)

ICMP/TCP/UDP

64

NetBSD

 

ICMP

255

Netgear FVG318

 

ICMP and UDP

64

OpenBSD

2.6 & 2.7

ICMP

255

OpenVMS

07.01.2002

ICMP

255

OS/2

TCP/IP 3.0

  

64

OSF/1

V3.2A

TCP

60

OSF/1

V3.2A

UDP

30

Solaris

2.5.1, 2.6, 2.7, 2.8

ICMP

255

Solaris

2.8

TCP

64

Stratus

TCP_OS

ICMP

255

Stratus

TCP_OS (14.2-)

TCP and UDP

30

Stratus

TCP_OS (14.3+)

TCP and UDP

64

Stratus

STCP

ICMP/TCP/UDP

60

SunOS

4.1.3/4.1.4

TCP and UDP

60

SunOS

5.7

ICMP and TCP

255

Ultrix

V4.1/V4.2A

TCP

60

Ultrix

V4.1/V4.2A

UDP

30

Ultrix

V4.2 4.5

ICMP

255

VMS/Multinet

 

TCP and UDP

64

VMS/TCPware

 

TCP

60

VMS/TCPware

 

UDP

64

VMS/Wollongong

1.1.1.1

TCP

128

VMS/Wollongong

1.1.1.1

UDP

30

VMS/UCX

 

TCP and UDP

128

Windows

for Workgroups

TCP and UDP

32

Windows

95

TCP and UDP

32

Windows

98

ICMP

32

Windows

98, 98 SE

ICMP

128

Windows

98

TCP

128

Windows

NT 3.51

TCP and UDP

32

Windows

NT 4.0

TCP and UDP

128

Windows

NT 4.0 SP5-

  

32

Windows

NT 4.0 SP6+

  

128

Windows

NT 4 WRKS SP 3, SP 6a

ICMP

128

Windows

NT 4 Server SP4

ICMP

128

Windows

ME

ICMP

128

Windows

2000 pro

ICMP/TCP/UDP

128

Windows

2000 family

ICMP

128

Windows

Server 2003

  

128

Windows

XP

ICMP/TCP/UDP

128

Windows

Vista

ICMP/TCP/UDP

128

Windows

7

ICMP/TCP/UDP

128

Windows

Server 2008

ICMP/TCP/UDP

128

Windows

10

ICMP/TCP/UDP

128

※ 위 TTL 값을 너무 맹신하지 말 것!

항상 정확하지 않을 수 있음.




참고 사이트 : 

https://en.wikipedia.org/wiki/Time_to_live

https://www.cloudflare.com/ko-kr/learning/cdn/glossary/time-to-live-ttl/

https://ostechnix.com/identify-operating-system-ttl-ping/

http://noahdavids.org/self_published/TTL_values.html


댓글 없음:

댓글 쓰기