1. 도메인의 TTL

  • TTL은 Time To Live의 약자로 도메인을 캐싱하고 있는 시간을 의미
  • 누군가 A라는 도메인에 대해 질의를 했다면 응답을 준 DNS 서버에서 해당 도메인에 대해 TTL 시간 동안 캐싱을 함
  • 같은 도메인을 여러 사람이 질의할 수 있기 때문에 한 번 질의한 내용을 캐싱하고 있는 게 불필요한 동작을 방지 가능

 

  • www.kakao.com에 대한 도메인 질의 결과 → 리눅스에서는 간단하게 dig 명령으로 TTL 시간 확인 가능
    1. TTL 시간을 의미(1번 항목)
      • 질의한 도메인에 대해 DNS 서버가 해당 도메인을 캐싱하는 시간
      • 531초 동안 캐싱하고 있을 거라는 것을 알 수 있음

    2. www.kakao.com에 대한 도메인 질의 결과를 내려준 서버를 의미(2번 항목)
      • 모든 DNS 서버가 모든 도메인에 대해 알고 있을 수 없기 때문에 본인이 관리하는 도메인이 아니라면 상위 DNS 서버에 질의함
      • www.kakao.com 도메인을 관리하는 서버를 찾게 되고, www.kakao.com 도메인을 관리하는 서버가 ns2.iwilab.com임을 의미

    3. 현재 자신이 사용하고 있는 DNS 서버를 의미(3번 항목)
      • 도메인 질의 과정을 유추해 보면 www.kakao.com에 대한 도메인 질의를 10.20.30.60에 먼저 질의
      • 10.20.30.60은 자신이 관리하는 도메인이 아니기 때문에 상위 DNS 서버에 요청해서 해당 도메인을 관리하는 DNS 서버를 찾게 되고 결과적으로 ns2.iwilab.com 서버에 질의해서 결과를 받아오게 됨

 

2. TTL이 0이 되면?

  • TTL이 0이 되면, DNS 서버는 도메인에 대한 질의 요청에 대해 사용자에게 응답해 주었지만, TTL이 0이 되기 때문에 캐싱하지 않고 바로 버림
  • 다른 사용자가 똑같은 도메인을 요청했을 경우, 상위 DNS 서버를 찾아서 해당 도메인에 대한 질의 결과를 받아오는 작업을 진행
  • TTL이 0인 도메인이 많은 경우, 상위 DNS로의 요청이 많아지고 전체적으로 도메인 질의 요청을 처리하는 데에 많은 시간이 소요되게 됨
  • 하지만 TTL이 0이면, 매 요청마다 해당 도메인을 관리하고 있는 DNS 서버를 직접 찾아서 질의하기 때문에 최신의 정확한 정보를 가지게 됨
  • TTL이 0이면, 도메인 요청에 걸리는 시간은 늘어나지만 도메인 변경 등에 대한 대응은 정확하고 빠르게 할 수 있다는 장점이 있음

 

 

참고 자료

+ Recent posts