게시:

DNS(Domain Name Server)란?

도메인 이름(예: www.naver.com)를 실제 서버 IP로 Mapping해주는 일종의 주소록이다. 호스트 이름(Host name)에 대한 요청(Query)을 실제 서버 컴퓨터다 가진 IP주소로 변환해준다.

사용자가 어떤 웹 페이지를 Load하고자 웹 브라우저에 도메인 이름(예: www.google.com)을 입력하면 어떤 서버에 연결할 것인지 제어하며 컴퓨터 친화적인 주소(IP)로 변환하여 반환한다.

구조

모든 도메인은 루트(Root) 도메인인 "." 도메인 아래에 존재한다.

Root 도메인 바로 아래 계층을 최상위 도메인(TLD, Top Level Domain)이라 하고, TLD는 관리주체에 따라 일반 최상위 도메인(gTLD, generic TLD)과 국가 최상위 도메인(ccTLD, country code TLD)으로 나뉜다.

  • gTLD(일반최상위도메인): .com, .net, .org
  • ccTLD(국가최상위도메인): .kr(한국), .jp(일본), .us(미국), .io(영국령 인도양) 등
Domain Hierarchy
도메인의 계층구조

작동 원리

DNS의 동작방식은 쿼리를 받으면 계층구조에 따라 쿼리를 전달하고 매핑하는 식으로 진행된다.

  1. 사용자가 웹 브라우저에 도메인 이름 입력(예: www.naver.com)하면 ISP(인터넷 공급 사업자)의 Recursive DNS Resolver(이하 DNS Resolver)로 라우팅
  2. DNS Resolver가 해당 쿼리를 Root Name Server(이하 Root server)로 전달
  3. Root Server가 해당 도메인의 최상위 도메인 DNS 서버(이하 TLD 서버)의 정보를 DNS Resolver에게 응답(반환)
  4. DNS Resolver가 TLD 서버로 다시 쿼리
  5. TLS 서버가 해당 도메인을 관리하는 DNS 서버를 DNS Resolver로 반환
  6. DNS Resolver가 DNS 서버로 다시 쿼리
  7. DNS 서버가 해당 도메인 이름(예: www.naver.com)에 대한 IP주소를 DNS Resolver로 반환
  8. DNS Resolver가 해당 도메인의 IP주소를 클라이언트로 반환
  9. 웹 브라우저가 서버 IP주소로 HTTP Request
  10. 해당 IP의 서버가 브라우저에서 렌더링할 웹 페이지 리소스를 반환
DNS Diagram
DNS 다이어그램

참고: 이와 같이 여러 DNS서버를 순회하며 쿼리하는 것을 Recursive Query라고 한다.

댓글남기기