업데이트됨 1개월 전
브라우저에 도메인 이름을 입력하면, 여러분의 컴퓨터는 직접 IP 주소를 찾으러 가지 않습니다. 대신 다른 누군가에게 대신 찾아달라고 요청합니다.
그 누군가가 바로 DNS 리졸버입니다—여러분의 질문을 받아 답을 찾아주는 것이 전부인 서버입니다. 여러분은 한 번만 물어보면 됩니다. 나머지 발품은 리졸버가 다 뜁니다.
편리한 방식입니다. 하지만 이해할 필요가 있습니다. 여러분의 리졸버를 운영하는 곳은 여러분이 온라인에서 어디를 방문하는지 전부 볼 수 있으니까요.
리졸버가 실제로 하는 일
DNS 리졸버는 기술적으로 재귀 리졸버(recursive resolver)라고 불리며, 여러분의 질의를 받아 답을 구하는 데 필요한 모든 단계를 수행합니다. 브라우저가 "example.com의 IP 주소가 뭐야?"라고 물으면, 리졸버는 다음과 같이 동작합니다:
- 캐시를 확인합니다—최근에 같은 내용을 조회한 적이 있을 수 있으니까요
- 캐시에 없으면, 루트 네임서버에서 시작합니다
- TLD 네임서버를 거쳐 위임을 따라갑니다
- example.com의 권위 네임서버(authoritative nameserver)에 도달합니다
- 답을 얻어 캐시에 저장하고 여러분에게 돌려줍니다
"재귀(recursive)"라는 단어가 핵심입니다. 리졸버는 여러 네임서버를 재귀적으로 질의하며, 최종적인 답에 도달할 때까지 경로를 따라갑니다. 여러분의 기기는 그저 기다리기만 하면 됩니다.
여러분의 기기는 (의도적으로) 게으릅니다
여러분의 컴퓨터에는 스텁 리졸버(stub resolver)라는 것이 있습니다—하지만 실제로 해결하는 일은 거의 없습니다. 그냥 심부름꾼입니다.
스텁 리졸버는:
- 애플리케이션(브라우저, 이메일 등)에서 DNS 질의를 받습니다
- 그것을 다른 곳의 실제 리졸버에 전달합니다
- 기다립니다
- 답을 받아 돌려줍니다
실제 작업은 모두 재귀 리졸버 서버에서 이루어집니다. 이렇게 역할을 나누는 것은 합리적입니다. 재귀 방식으로 해석하려면 대용량 캐시, 초당 수천 개의 질의 처리, 전 세계 네임서버와의 연결 유지가 필요합니다. 이건 서버의 일이지, 스마트폰의 일이 아니니까요.
여러분의 기기는 게으릅니다—기가 막히게, 효율적으로 게으릅니다. 질문 하나를 던지고 기다리면 그만입니다.
여러분의 리졸버는 누가 운영할까요?
네트워크에 연결하면, DHCP가 IP 주소와 함께 DNS 리졸버 주소를 기기에 전달합니다. 기본값으로는 여러분의 ISP 리졸버를 가리킵니다.
ISP는 서비스의 일환으로 재귀 리졸버를 운영합니다. 여러분의 기기에서 나가는 모든 DNS 질의는 그곳을 먼저 거칩니다. 편리하고—따로 설정할 필요가 없지만—유일한 선택지는 아닙니다.
공개 DNS 리졸버
여러 기관에서 무료 공개 DNS 리졸버를 운영합니다:
| 제공업체 | 기본 주소 | 보조 주소 | 주요 특징 |
|---|---|---|---|
| Google Public DNS | 8.8.8.8 | 8.8.4.4 | 전 세계 인프라 |
| Cloudflare | 1.1.1.1 | 1.0.0.1 | 속도, 개인정보 보호 중점 |
| Quad9 | 9.9.9.9 | 149.112.112.112 | 악성코드 차단 |
| OpenDNS | 208.67.222.222 | 208.67.220.220 | 콘텐츠 필터링 |
이 서비스들은 속도, 안정성, 경우에 따라 악성코드 차단 같은 보안 기능을 위해 최적화된 대규모 인프라를 운영합니다.
리졸버 변경하기
DNS 리졸버를 변경하는 것은 간단한 설정 변경입니다—ISP 기본값 대신 원하는 IP 주소를 지정하면 됩니다.
운영 체제의 네트워크 설정, 라우터(모든 기기에 적용), 또는 DNS over HTTPS를 사용해 브라우저에서 변경할 수 있습니다.
리졸버를 바꿔야 하는 이유
속도
모든 리졸버가 똑같이 빠른 건 아닙니다. Cloudflare의 1.1.1.1은 전 세계 인프라에 대한 투자 덕분에 ISP 리졸버보다 빠른 경우가 많습니다. 리졸버가 빠를수록 페이지 로딩도 빨라집니다—DNS는 다른 무엇보다 먼저 일어나니까요.
개인정보 보호
여러분의 DNS 질의는 온라인에서 방문한 모든 곳의 완전한 기록입니다. 모든 웹사이트, 모든 서비스, 모든 API 호출. 리졸버를 운영하는 곳은 이 모든 것을 봅니다.
ISP는 이 데이터를 판매하기도 합니다. 일부 공개 리졸버는 더 강력한 개인정보 보호를 약속합니다—Cloudflare는 질의 로그를 24시간 이내에 삭제하고 광고에 사용하지 않습니다.
암호화된 DNS 프로토콜(DNS over HTTPS, DNS over TLS)은 한 걸음 더 나아가, 여러분과 리졸버 사이에 있는 누구도 질의를 볼 수 없게 합니다. 암호화 없이는, 다른 리졸버를 사용하더라도 ISP가 DNS 트래픽을 여전히 볼 수 있습니다.
보안
일부 리졸버는 보호 기능을 추가합니다:
- Quad9은 악성코드를 배포하는 것으로 알려진 도메인을 차단합니다
- OpenDNS는 피싱 방지 및 콘텐츠 필터링을 제공합니다
- Cloudflare는 1.1.1.3에서 가족 친화적 버전을 제공합니다
여러분의 ISP 리졸버에는 이런 기능이 없을 가능성이 높습니다.
안정성
공개 리졸버는 ISP 리졸버보다 가동 시간이 긴 경우가 많습니다. ISP 리졸버가 장애를 일으키면 DNS가 작동을 멈춥니다. 여러 리졸버를 백업으로 설정해두면 이중화가 됩니다.
캐시가 속도를 만듭니다
캐싱이야말로 DNS를 빠르게 느끼게 하는 비결입니다. 리졸버가 도메인을 조회하면, 그 결과를 권위 네임서버가 설정한 TTL(Time to Live) 기간 동안 저장합니다.
TTL이 만료되기 전에 같은 도메인을 다시 조회하면? 리졸버는 즉시 캐시에서 응답합니다. 재귀 조회가 필요 없죠.
인기 있는 도메인의 경우, 리졸버는 초당 수천 건의 질의를 처리합니다. 거의 모두 캐시에서 답합니다.
이것이 대형 공개 리졸버가 소규모 ISP 리졸버보다 빠를 수 있는 이유입니다—방대한 사용자층 덕분에 캐시 적중률이 더 높습니다. 지금 여러분이 찾는 도메인? 아마 1초 전에 누군가도 찾았을 겁니다.
DNS 리졸버에 대해 자주 묻는 질문
DNS 리졸버와 DNS 서버의 차이는 무엇인가요?
DNS 리졸버는 DNS 서버의 한 종류입니다—계층 구조를 재귀적으로 검색하여 질의에 답하는 서버죠. 권위 네임서버도 DNS 서버지만, 직접 레코드를 보유하고 있으며 찾아다니지 않습니다. "DNS 서버"는 일반적인 용어이고, "리졸버"는 그 역할을 설명하는 말입니다.
DNS 리졸버를 바꾸면 인터넷이 빨라지나요?
그럴 수 있습니다. DNS 조회는 페이지 로드가 시작되기 전에 일어나므로, 리졸버가 빠를수록 첫 바이트 수신 시간이 빨라집니다. ISP 리졸버가 느리거나, 리졸버 캐시에 없는 도메인을 방문할 때 차이가 가장 두드러집니다.
다른 리졸버를 사용해도 ISP가 DNS 질의를 볼 수 있나요?
표준 DNS(포트 53)를 사용하면 그렇습니다—ISP는 전송 중인 질의를 볼 수 있습니다. 이를 막으려면 DNS over HTTPS(DoH) 또는 DNS over TLS(DoT)를 사용하세요. 이 방법들은 질의를 암호화하여 여러분과 리졸버만 읽을 수 있게 합니다.
공개 리졸버에 IP 주소가 두 개인 이유는 무엇인가요?
이중화 때문입니다. 하나의 주소에 접근할 수 없으면 기기가 두 번째 주소를 시도합니다. 항상 두 개 모두 설정하세요.
이 페이지가 도움이 되었나요?