커뮤니티·지원
목차
< 용어사전으로 돌아가기
DNS(Domain Name System)

DNS(Domain Name System)는 웹사이트의 도메인 주소를 로 변환하는 시스템입니다. 휴대폰에 있는 전화번호부와 비슷한데요. 친구의 번호를 외우지 않아도 전화를 걸 수 있듯이, 웹페이지의 IP 주소를 기억하지 않아도 tosspayments.com와 같은 도메인 이름만 알아도 접속할 수 있죠.

DNS는 도메인 주소를 IP 주소로 변환하는 것으로 가장 잘 알려져 있지만, 다른 중요한 역할도 하고 있어요.

별칭 도메인

DNS는 IP 주소 또는 정식 도메인을 여러 별칭 도메인과 연결시켜줘요. 별칭 도메인을 CNAME(Canonical Name) 레코드로 등록하고 사용하면 되는데요. example.com을 주요 도메인으로 사용하고 web.example.com 또는 sales.example.com을 별칭 도메인으로 등록하면, 모든 도메인 주소로 같은 IP 주소에 접속할 수 있어요. 웹뿐만 아니라 메일 주소에도 여러 도메인을 사용할 수 있는 이유입니다.

로드 밸런싱

또 DNS는 클라우드 서비스와 CDN(Content Delivery Network)와 같은 분산 인터넷 서비스를 이용할 때 로드 밸런싱 역할을 해요. 하나의 도메인으로 들어오는 웹 트래픽을 여러 서버에 분산시켜 속도와 안정성을 확보하는 방법입니다. 사용자의 물리적 거리와 네트워크 상황을 고려해서 최적의 연결을 제공합니다.

DNS의 구조 및 질의 과정

DNS는 클라이언트-서버 모델을 이용하는 분산 계층형 데이터베이스 시스템인데요. 스마트폰 또는 컴퓨터와 같은 클라이언트에서 DNS 쿼리가 들어오면 DNS 리커서(Recursor)가 클라이언트 대신 서버에 쿼리를 보내서 도메인 이름과 연결된 IP 주소를 확인합니다.

DNS 쿼리는 재귀적(Recursive) 또는 반복적(Iterarive) 질의로 해결됩니다. 반복적 질의는 DNS 리커서가 각 계층 서버에 순차적으로 쿼리를 보내서 IP 주소를 찾는 과정인데요. 재귀적 질의는 DNS 리커서가 루트 서버에 쿼리를 한 번만 보내면, 루트 서버가 TLD 서버에 쿼리를 보내고 TLD 서버는 책임 서버에 쿼리를 보내요. 책임 서버에 확인되는 최종 IP 주소도 각 계층을 거쳐 루트 서버로 최종적으로 응답되고, 루트 서버가 DNS 리커서에 응답을 전달해요.

DNS의 구조

  • 루트 서버: 계층 최상에는 루트 서버는 도메인 이름을 IP 주소로 변환하는 데 첫 번째 단계를 처리해요. 루트 서버는 ICANN (Internet Corporation for Assigned Names and Numbers)에서 관리하고 있어요. 전 세계에 13개의 논리 루트 서버가 있는데요. 각 루트 서버는 복제되어 운영되기 때문에 실제 서버는 1,000 개 가까이 있어요.
  • TLD(Top-Level Domain) 서버: TLD 서버는 .com, .edu, .net, .org와 같은 TLD를 가진 주소를 해석해요. ICANN이 TLD에 대한 권한을 가지고 있지만, TLD 서버 관리는 다른 기관에 위임하고 있어요.
  • 책임(Authoritative) 서버: 실제로 도메인 이름의 IP 주소를 매핑하여 가지고 있는 서버입니다. DNS 쿼리의 최종 단계에서 실제로 답을 주는 서버입니다.
  • 더 궁금한 내용이 있나요?
  • 코드 샘플을 참고하세요
  • 기술지원이 필요한가요?
    실시간 문의|이메일 보내기