DNS 캐싱에서 TTL 설정이 장애 대응과 트래픽 분산에 어떤 트레이드오프를 만드는지 설명해주세요. TTL을 짧게 잡았을 때와 길게 잡았을 때 각각의 장단점, 그리고 negative caching에 대해서도 말씀해주세요.
힌트 · 전환 속도 vs 질의 부하/안정성, 존재하지 않는 레코드 캐싱(NXDOMAIN) 관점에서 접근.
모범답안
DNS 캐싱에서 TTL은 전환 속도와 질의 부하/안정성 간의 트레이드오프를 만듭니다.
TTL을 짧게 설정하면 DNS 레코드 변경 시 빠르게 반영되어 장애 대응에 유리합니다. 예를 들어, 서버 IP가 변경되었을 때 짧은 TTL 덕분에 클라이언트들은 빠르게 새 IP로 접근할 수 있습니다. 하지만 짧은 TTL은 DNS 서버에 대한 질의 부하를 증가시켜 성능 저하나 안정성 문제를 야기할 수 있습니다.
반대로 TTL을 길게 설정하면 DNS 서버의 질의 부하가 줄어들어 안정적이고 빠른 응답을 기대할 수 있습니다. 하지만 레코드 변경 시 반영 속도가 느려져 장애 발생 시 복구 시간이 길어지는 단점이 있습니다. 트래픽 분산 측면에서도, 짧은 TTL은 여러 서버로 트래픽을 분산시키는 데 더 유연하게 대처할 수 있습니다.
Negative Caching은 존재하지 않는 도메인이나 레코드에 대한 질의 결과를 캐싱하는 것입니다. TTL이 설정되어 있어, 해당 시간 동안은 동일한 질의에 대해 DNS 서버는 즉시 NXDOMAIN 응답을 반환합니다. 이는 불필요한 DNS 질의를 줄여 서버 부하를 감소시키고 응답 속도를 향상시키는 장점이 있습니다. 하지만 잘못된 Negative Caching 정보가 캐싱되면, 실제 존재하는 도메인에 접근하지 못하는 문제가 발생할 수 있습니다.
읽었다면, 이제 직접 답해볼 차례예요
패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.
함께 보는 네트워크 면접 질문
- 스위치 환경에서 브로드캐스트 스톰이나 루프가 발생하는 원리와, STP(Spanning Tree Protocol)가 이를 어떻게 방지하는지 설명해주세요. STP의 수렴 지연이 서비스에 미치는 영향과 RSTP가 개선한 점도 함께 말씀해주세요.
- DNS의 계층 구조에서 Root → TLD → Authoritative 네임서버로 이어지는 재귀(recursive) 질의와 반복(iterative) 질의의 차이를 설명하고, 리졸버와 각 네임서버가 각각 어떤 역할을 맡는지 말씀해주세요.
- DNS 레코드 중 A, AAAA, CNAME, NS, MX, TXT, SOA의 용도를 구분하고, CNAME 레코드를 도메인 루트(zone apex)에 설정할 수 없는 이유와 이를 우회하는 ALIAS/ANAME 방식에 대해 설명해주세요.