TTL
IT위키
더 많은 작업
- Time To Live
IP 등 여러 네트워크 프로토콜에서 패킷의 무한 루프 및 미아현상을 방지하기 위한 메커니즘 및 메커니즘에 사용되는 값
- TTL=128과 같이 정수값으로 설정한다.
- 복잡한 네트워크에서 라우팅이 순환 구조를 가지는 경우 패킷은 목적지를 찾기 위해 무한정 떠돌 수 있다.
- 라우팅이 이루어질 때 마다 TTL이 1씩 감소하고, TTL이 0이되면 더이상 라우팅하지 않고 패킷을 소멸시킨다.
| 헤더 | 필드 이름 | 크기 |
|---|---|---|
| IPv4 | TTL(Time To Live) | 8비트 |
| IPv6 | Hop Limit | 8비트 |
- IPv4 표준(RFC 791)은 TTL 을 초 단위 시간으로 정의했지만, 실제로는 라우터마다 1씩 줄이는 홉 수로 쓰였다. IPv6 는 이를 반영해 이름을 Hop Limit 으로 바꿨다. 하는 일은 같다 - 패킷(데이터그램)의 생존 기간을 제한한다.
- 0이 되어 패킷을 버린 라우터는 송신자에게 ICMP Time Exceeded 메시지를 보낸다. traceroute 가 이 성질을 이용해 경로를 알아낸다.
DNS 에서 TTL 은 홉 수가 아니라 시간(초)이다. 자원 레코드마다 TTL 값이 붙어, 그 응답을 캐시에 얼마 동안 보관해도 되는지를 정한다.
- 예:
www.example.com. 3600 IN A 192.0.2.10의 3600 은 1시간 동안 캐시해도 된다는 뜻이다 - zone 파일 맨 위의
$TTL은 TTL 을 적지 않은 레코드에 쓸 기본값이다 - TTL 을 짧게 하면 바뀐 주소가 빨리 퍼지지만 질의가 늘고, 길게 하면 그 반대다. 서버를 옮기기 전에 TTL 을 미리 줄여 두는 이유다