profile image

L o a d i n g . . .

DNS (Domain Name System) 란?

사람이 읽을 수 있는 도메인 이름(예: www.amazon.com)을 머신이 읽을 수 있는 IP 주소 (예: 192.0.2.44)로 변환하는 인터넷 프로토콜이다.
 
도메인 이름을 입력했을 때, 입력한 도메인을 실제 네트워크상에서 사용하는 IP 주소로 바꾸고, 해당 IP주로로 접속하는 과정 및 전체 시스템을 DNS라고 부른다.상위 기관에서 인증된 기관에게 도메인을 생성하거나 IP주소로 변경할 수 있는 권한을 부여한다.
간략화 된 DNS 과정

DNS는 이처럼 상위 기관과 하위 기관과 같은 계층 구조를 가지는 분산 데이터베이스 구조를 가진다.


DNS 구성 요소

구성 요소는 3가지가 있다.
  1. 도메인 네임 스페이스 (Domain Name Space)
  2. 네임 서버 (Name Server) = 권한 있는 DNS 서버
  3. 리졸버 (Resolver) =  Recursive DNS Server = Local Server (of ISP) = Recursor = 권한 없는 DNS 서버

"이 도메인 이름은 이 IP 주소다" 라는 '텍스트'를 저장하는 데이터베이스가 필요하고, 분산된 데이터가 어디 저장되어 있는지 찾을 프로그램들이 필요하고, 찾았으면 해당 IP 주소로 이동할 프로그램 (브라우저 등)이 필요하다.

  1. 도메인 네임 스페이스라는 규칙으로 도메인 이름 저장을 분산한다.
  2. 네임 서버 (DNS 서버와 같은 말)가 해당 도메인 이름의 IP 주소를 찾는다.
  3. 리졸버가 DNS 클라이언트 요청을 네임 서버로 전달하고, 찾은 정보를 클라이언트에게 제공하는 기능을 수행한다. 어떤 네임 서버에서 찾아야 하는지, 이미 캐시 되어 있는지 등, 클라이언트에게 찾았으면 찾은 것을, 못 찾았으면 못 찾았다고 전달하는 역할을 한다.

리졸버는 단말에 구현하는 것은 무리라서 보통은 리졸버가 구현된 네임 서버의 IP 주소만을 파악한다. 대표적으로는 KT/LG/SK와 같은 ISP(통신사) DNS, 구글 DNS 등이 있다.


왜 이런 방식을 사용하는가?

네임 서버가 한 대만 있지 않기 때문이다. 여러 네임 서버를 만들기엔 해당 정보를 모든 서버에서 공유해야 한다. 그렇지 않으면 어떤 네임 서버에서는 요청한 도메인 이름의 IP 주소를 모른다고 할 수 있다.

그래서 도메인을 계층적으로 구분하는 정보(도메인과 IP주소)를 분산하는 구조를 선택하게 되었다.

도메인에 닷(dot)이 있는 이유인데, 점이 계층을 나타낸다.


DNS 동작 방식

  1. 주소.com 을 입력
  2. 주소.com 을 가지고 있는 네임 서버에 접속
  3. IP 주소를 확인
  4. IP 주소를 전달
  5. IP 주소를 가진 서버로 접속
  6. 연결된 브라우저 실행

도메인 네임 스페이스 (Domain Name Space)

도메인 네임 스페이스 구조
 

DNS는 전세계적인 거대한 분산 시스템이고, 도메인 네임 스페이스는 이러한 DNS가 저장·관리하는 계층적 구조를 의미한다.

도메인 네임 스페이스는 최상위에 루트 DNS 서버가 존재하고, 그 하위로 연결된 모든 노드가 연속해서 이어진 계층 구조로 되어있다. (폴더 구조와 비슷)

 


계층적 도메인 레벨 (Hierarchical Domain Level)

도메인 네임 스페이스의 트리 구조는 최상위 레벨부터 순차적으로 계층적 소속 관계를 나타내며, 하위 조직의 네임 스페이스를 할당하고 관리하는 방식은 각 하위 기관의 관리 책임자에게 위임된다.

 

예) hanamon.kr 도메인은 kr 도메인을 관리하는 네임 서버에 등록되어 있고

www.hanamon.kr은  hanamon.kr을 관리하는 네임 서버에 등록되어 있다. 

 

blog.hanamon.kr을 생성하기 위해서는 hanamon.kr 도메인을 관리하는 네임 서버의 레코드만을 수정함으로써 가능하며 이러한 위임 구조는 호스트의 증가에 대한 관리가 효율적으로 이루어지는 것을 가능하게 한다.


전체 도메인 이름 (Fully Qualified Domain Name (FQDN))

도메인의 전체 이름을 표기하는 방식이다.

  • 도메인 이름: hanamon.kr
  • 호스트 이름: www
  • FQDN: www.hanamon.kr
 

 

 

복사했습니다!