타임 투 리브(TTL)란 무엇인가요?

 기어, 로봇 팔, 휴대폰 픽토그램이 콜라주된 일러스트

게시일: 2024년 5월 10일
기고자: Camilo Quiroz-Vazquez, Michael Goodwin

타임 투 리브(TTL)란 무엇인가요?

타임 투 리브(TTL)는 데이터 패킷 또는 레코드가 폐기되거나 재검증되기 전에 네트워크, 컴퓨터 또는 서버에 존재해야 하는 시간을 정의하는 값입니다.

TTL 값은 서로 다른 기능의 고유한 필요성에 따라 측정된 시간 제한입니다. 타임 투 리브(TTL)는 네트워킹, 데이터 캐싱, Content Delivery Network 캐싱 및 도메인 이름 시스템(DNS) 캐싱을 비롯한 여러 상황에서 사용됩니다.

예를 들어 DNS 레코드의 TTL 값은 재귀 확인자 또는 로컬 확인자에게 새 복사본을 얻기 위해 권한 있는 서버에 연결하기 전에 DNS 레코드를 캐시하는 데 걸리는 시간을 알려줍니다.

네트워킹에서 Internet Protocol 패킷(IP 패킷)의 헤더에 설정된 TTL 값은 네트워크 라우터에 패킷이 만료되었거나 '홉 제한'에 도달하여 폐기해야 하는 시점을 알려줍니다. 라우터는 데이터 패킷이 만료되었다고 판단되면 인터넷 제어 메시지 프로토콜(ICMP) 메시지를 호스트에 다시 전송하고 패킷을 삭제합니다.

TTL은 전달할 수 없는 데이터 패킷을 제거하는 데 사용되며, 데이터 패킷이 라우터에서 라우터로 무기한 반송되는 위험을 완화합니다. 이를 통해 만료된 패킷으로 인해 시스템이 막히는 것을 방지하고, 콘텐츠 전송 속도를 향상시키고 네트워크 지연 시간을 줄일 수 있습니다.

TTL은 또한 ping 및 traceroute와 같은 컴퓨터 네트워크 유틸리티에 사용되어 네트워크의 호스트를 식별하고, 네트워크를 통해 데이터가 이동하는 경로를 매핑하고, 패킷이 네트워크를 통해 한 지점에서 다른 지점으로 이동하는 데 걸리는 시간을 측정합니다.

TTL은 어떻게 작동하나요?  

네트워킹에서는 패킷이 네트워크에 얼마나 오래 존재해야 하는지를 나타내는 숫자 값이 데이터와 IP 패킷에 포함되어 있습니다. TTL 값의 범위는 1에서 255까지입니다. 운영 체제마다 지원하는 기본 TTL 값이 다르지만 관리자는 조직의 사용 사례, 기본 설정 또는 요구 사항에 따라 TTL 값을 수정할 수 있습니다.

패킷이 라우터와 같은 네트워크 디바이스를 통과할 때마다 라우터는 TTL 필드 값을 1씩 줄입니다. 네트워크 디바이스를 통과하는 각 경로를 '홉'이라고 합니다. TTL 값이 0에 도달하면 패킷이 시작된 호스트 서버로 ICMP 메시지가 전송되고 패킷은 삭제됩니다. 데이터 패킷의 수명을 관리하면 패킷이 라우팅 루프에 갇히는 것을 방지할 수 있습니다. 이를 통해 네트워크 정체를 줄이고 로드 밸런싱, 리소스 최적화 및 콘텐츠 전송을 개선할 수 있습니다.

TTL 및 DNS

DNS TTL은 DNS 서버가 캐시된 DNS 레코드를 제공할 수 있는 기간을 나타냅니다. 이는 DNS 레코드의 만료 날짜와 같으며, 로컬 확인자에게 레코드를 캐시에 얼마나 오래 보관해야 하는지 알려줍니다.

DNS 확인은 도메인 이름을 Internet Protocol(IP) 주소로 변환하고 사용자를 웹사이트에 연결하는 프로세스입니다. 이 작업에는 여러 DNS 서버에서 DNS 레코드에 저장된 정보를 검색하는 작업이 포함되며 재귀 또는 로컬 DNS 확인자부터 시작됩니다. 인터넷 서비스 제공업체(ISP)는 종종 재귀 확인자를 제공하고 관리합니다.

사용자가 웹 브라우저에 도메인 이름을 입력하면(DNS 쿼리 시작) 재귀 확인자는 일련의 권한 있는 서버를 쿼리하여 도메인의 IP 주소를 나타내는 A 레코드(IPv4 주소의 경우 A 레코드, IPv6 주소의 경우 AAAA 레코드)를 가져옵니다.

그러나 로컬 확인자에게 쿼리를 해결하는 데 필요한 레코드가 이미 있는 경우 DNS 조회 프로세스를 계속하지 않고도 사용자를 연결할 수 있습니다. 이 효율적인 프로세스는 권한 있는 서버의 쿼리 부하를 줄이고 사용자가 웹 사이트에 연결하는 속도를 크게 향상시킵니다. TTL 값은 초 단위로 정의되며 현재 레코드 복사본을 받기 위해 권한 있는 서버에 연결하기 전에 로컬 캐시 서버가 DNS 레코드를 제공할 수 있는 기간을 결정합니다.

대부분의 IP 주소는 동적이며 시간이 지남에 따라 변경되므로 DNS 레코드가 보유한 정보는 이러한 변경 사항을 반영하도록 업데이트되어야 합니다. TTL 설정은 레코드가 적절한 간격으로 폐기되고 업데이트되도록 하여 이 프로세스를 지원합니다.

콘텐츠를 지속적으로 새로 고치거나 업데이트하는 웹사이트의 경우 TTL 값을 짧게 설정하는 것이 전략적인 선택입니다. 이러한 낮은 TTL 값은 서버에 캐시된 레코드를 최신 상태로 유지하고 레코드 변경 사항을 거의 실시간으로 전파하는 데 도움이 됩니다. 반면에 더 긴 TTL 값은 TXT 레코드(도메인의 구성 및 소유권과 관련된 정보를 보유) 및 MX 레코드(이메일을 이메일 서버로 전달)와 같이 자주 변경되지 않는 DNS 레코드에 사용됩니다.

TTL 값은 권한 있는 이름 서버에 연결된 쿼리 볼륨에 영향을 미칩니다. DNS 캐시에 레코드가 너무 오래 보관되면 레코드에 대한 변경 내용이 전파되는 데 시간이 더 오래 걸리므로 사용자의 검색 속도가 느려지거나 오류 메시지가 표시될 수 있습니다. TTL 값이 불필요하게 낮으면 조직은 쿼리로 인해 서버에 과부하가 걸릴 위험이 있습니다. 관리형 DNS 솔루션을 사용하면 최대 가동 시간, 간소화된 관측 가능성, 빠른 응답 및 전파 시간을 보장하는 데 도움이 될 수 있습니다.

SOA TTL

모든 DNS 영역의 맨 위에 있는 권한 시작(SOA)에는 DNS에서 더 높은 목적으로 사용되는 5개의 TTL 값이 있습니다. 매우 드문 경우이긴 하지만, 아주 특별한 경우가 아니면 이러한 TTL을 수정하지 않는 것이 좋습니다.

SOA TTL: SOA 레코드가 새로 고쳐지는 간격입니다.

새로 고침 TTL: 
주 서버에서 주 영역 파일을 새로 고치기 위해 보조 서버(보조 DNS)가 설정되는 간격입니다.

재시도 TTL: 초기 새로 고침에 실패한 경우 보조 서버가 주 영역 파일을 새로 고치기 위해 재시도하는 속도입니다.

만료 TTL:  새로 고침재시도가 반복적으로 실패하는 경우 이 기간이 지나면 주 영역이 사라진 것으로 간주되고 지정된 영역에 대해 더 이상 신뢰할 수 없는 것으로 간주되어야 합니다.

NX TTL: 도메인 요청으로 인해 존재하지 않는 쿼리(NXDOMAIN)가 발생하는 경우, 리커서에서 NXDOMAIN 응답을 반환할 때까지 기다리는 시간입니다.

TTL 및 CDN

Content Delivery Network (CDN)은 지리적으로 분산된 지역에 위치한 서버 네트워크로, 사용자에게 가장 가까운 서버에서 콘텐츠를 전송하여 더 빠른 웹 성능을 구현합니다. CDN은 타임 투 리브(TTL) 값을 사용하여 콘텐츠가 엣지 서버에 저장되는 기간을 결정합니다.

TTL이 만료되면 원본 서버에서 콘텐츠가 새로 고쳐집니다. TTL을 적절하게 보정하면 요청을 원본 서버로 다시 전파하지 않고도 사용자에게 콘텐츠를 전달할 수 있습니다. 이렇게 하면 콘텐츠 전송을 가속화하는 동시에 원본 서버의 대역폭 요구 사항을 줄일 수 있습니다.

ping 및 traceroute의 TTL

Ping 및 traceroute와 같은 컴퓨터 네트워킹 유틸리티는 TTL을 사용하여 호스트에 연결하거나 호스트에 대한 '홉' 경로를 추적합니다. Ping은 호스트가 네트워크에 있는지 확인하는 데 사용됩니다. Traceroute는 컴퓨터 및 라우터와 같은 네트워크 장치에서 목적지까지 인터넷을 통해 패킷이 이동하는 경로를 추적하는 데 도움이 됩니다.

Traceroute는 데이터 패킷이 네트워크를 통과하는 모든 '홉'에 대한 가시성을 제공합니다. 패킷 스트림은 순차적으로 더 높은 TTL 값을 가진 목적지로 전송됩니다. 패킷의 TTL 값이 1, 2, 3 등이라고 가정해 보겠습니다.

각 정류장에서 패킷 중 하나는 TTL에 정의된 대로 최종 목적지에 도달합니다. 이 경우 패킷은 삭제되고 ICMP 메시지가 발신자에게 다시 전송됩니다. ICMP 메시지가 반환되는 데 걸리는 시간은 원본 호스트에서 목적지까지의 경로를 추적하고 네트워크의 각 연속 홉 간에 이동하는 데 걸리는 시간을 결정하는 데 사용됩니다.

데이터베이스의 TTL

TTL은 만료된 데이터베이스 레코드를 자동으로 삭제하는 정책을 설정하는 데 사용됩니다. 다른 사용 사례와 마찬가지로 TTL은 데이터가 데이터베이스에 유지될 수 있는 시간을 정의합니다. 이 경우 TTL은 초 단위로 정의됩니다.

데이터 레코드의 제한 시간 값에 도달하면 해당 데이터를 더 이상 검색할 수 없으며 이는 데이터베이스 통계에 표시되지 않습니다. 이러한 만료 및 자동 삭제 기능은 스토리지 비용을 절감하고 테이블 크기를 줄여 쿼리 성능을 향상시키며 조직이 데이터 보존 시간에 대한 규정을 더 잘 준수할 수 있도록 도와줍니다.

TTL의 이점
최적화된 콘텐츠 전송

TTL은 CDN 및 DNS 서버가 최종 사용자에게 정보를 보다 효율적으로 제공할 수 있도록 지원합니다. 적절한 TTL 값을 설정하면 사용자가 요청하는 리소스의 최신 버전을 받을 수 있도록 하는 것과 불필요하게 서버에 과부하가 걸리거나 지연 시간이 과도하게 발생하지 않도록 하는 것 사이에서 균형을 맞출 수 있습니다.

CDN에서 사용자는 가장 가까운 서버에 연결되어 업데이트된 콘텐츠를 수신하므로 전송 지연 시간(가장 가까운 서버에서 요청이 처리되기 때문에)과 원본 서버로의 요청이 줄어듭니다. DNS에서 TTL을 사용하면 재귀 확인자가 적절한 경우 캐시된 응답을 반환할 수 있으므로 권한 있는 서버에 대한 로드 시간과 쿼리가 줄어들고 레코드가 변경되면 전파 업데이트를 즉시 받을 수 있습니다.

효율적인 리소스 관리 및 로드 밸런싱

캐시된 정보 및 데이터 패킷의 수명을 관리하면 조직이 DNS 서버, CDN 엣지 서버, 라우터와 같은 네트워크 인프라 리소스를 보다 효율적으로 사용할 수 있습니다. TTL은 네트워크 트래픽을 분산하고 네트워크 리소스가 과부하되지 않도록 하는 데 사용됩니다. 또한 패킷이 라우터 간에 무기한으로 바운싱되는 것을 방지합니다. 이러한 조치는 네트워크 성능을 개선하는 데 도움이 됩니다.

강화된 보안 조치

만료된 데이터 패킷을 폐기하면 네트워크 보안이 향상되고 데이터 유출의 위협이 줄어듭니다. 폐기되지 않는 만료된 패킷에는 오래된 보안 프로토콜이 포함되어 있을 수 있습니다. 캐시를 업데이트하고 패킷을 재검증하면 서버와 네트워크에 최신 보안 정보가 제공됩니다. 

관련 솔루션
애플리케이션 성능 최적화

IBM NS1 Connect는 맞춤화 가능하고 쉽게 구성할 수 있는 트래픽 조정 기능을 제공하여 비용, 최종 사용자 성능, 안정성 또는 이 세 가지 모두에 관계없이 사양에 따라 애플리케이션 성능을 최적화합니다.

 
IBM NS1 Connect 애플리케이션 성능 최적화 살펴보기

글로벌 서버 로드 밸런싱 (GSLB)

DNS 및 실시간 디바이스 성능 데이터를 기반으로 하는 새로운 접근 방식인 IBM NS1 Connect GSLB를 통해 더 저렴한 비용으로 최종 사용자 경험을 최적화하고 네트워크 복원력을 개선하세요.

IBM NS1 Connect GSLB 살펴보기

DNS 트래픽 조정

IBM NS1 Connect DNS 트래픽 조정 기능은 지역, 실제 사용자 모니터링(RUM) 데이터, 로드 및 기타 요소를 기반으로 쉽게 사용할 수 있는 UI로 애플리케이션, 서비스 및 콘텐츠에 대한 연결을 최적화할 수 있는 강력한 기능을 제공합니다.

IBM NS1 Connect DNS 트래픽 조정 살펴보기
리소스 DNS란 무엇인가요?
사용자에게 친숙한 도메인 이름을 컴퓨터가 네트워크에서 서로를 식별하는 데 사용하는 인터넷 프로토콜(IP) 주소로 변환하는 인터넷 표준 프로토콜의 구성 요소인 도메인 이름 시스템(DNS)에 대해 알아보세요.
로드 밸런싱이란?
여러 서버에 네트워크 트래픽을 효율적으로 분산하여 애플리케이션 가용성을 최적화하고 긍정적인 최종 사용자 경험을 보장하는 프로세스인 로드 밸런싱에 대해 알아보세요.
지연 시간(Latency)이란 무엇인가요?
네트워크 지연 시간과 네트워크 성능 및 사용자 경험에 미치는 영향에 대해 알아보세요.
DNS 전파란 무엇인가요?
DNS 서버가 인터넷을 통해 DNS 레코드로 변경 내용을 전파하는 데 걸리는 시간인 DNS 전파에 대해 알아보세요.
CNAME 레코드란 무엇입니까?
도메인 이름 시스템(DNS) 내에서 별칭으로 사용되는 레코드로, 한 도메인 이름을 다른 도메인 이름으로 리디렉션하는 표준 이름 레코드에 대해 알아보세요.
DNS 서버란 무엇인가요?
사용자가 웹 브라우저에서 검색하는 웹 사이트 도메인 이름을 해당 숫자 IP 주소로 변환하는 서버인 DNS 서버에 대해 알아보세요.
다음 단계 안내

IBM NS1 Connect는 프리미엄 DNS 및 사용자 정의 가능한 고급 트래픽 조정을 통해 전 세계 어디서나 사용자에게 빠르고 안전한 연결을 제공합니다. NS1 Connect의 상시 가동 API-first 아키텍처를 통해 IT 팀은 네트워크를 보다 효율적으로 모니터링하고 변경 사항을 배포하며 일상적인 유지 관리를 수행할 수 있습니다.

NS1 Connect 살펴보기 라이브 데모 예약하기