본문 바로가기
Computer-Sience/Network

[Network] DNS (Domain Name System)

by dev_ss 2022. 11. 4.

출처 : https://www.cloudflare.com/en-gb/learning/dns/what-is-dns/

- Domain Name System이란?

DNS를 알아보기 전에 먼저 Internet Protocol(IP)에 관하여 알 필요가 있다.

* IP : 인터넷에 연결된 컴퓨터들은 IPv4와 IPv6의 방식의 숫자로 된 고유 주소를 가지고 있다.

 

사용자가 인터넷에 연결된 다른 장치를 찾고 상호작용을 하기 위해서는 해당 장치의 고유 IP를 알아야 했다. 그러나 숫자로 구성된 IP를 외우는 것은 쉽지 않았고 그래서 생긴게 DNS(Domain Name System)이다.

 

DNS를 통하여 어렵게 IP를 외우지 않아도 문자로된 도메인 주소를 입력하면 브라우저에서 요청을 하여 그에 알맞은 IP를 변환해줌으로 통신이 가능하게 되었다.


※ Domain Name의 간단한 예시로 구글(www.google.com)이나 유튜브(www.youtube.com)가 있다.

 

그렇다면 도메인 주소는 어떻게 사용할 수 있을까?


DNS는 전 세계적으로 약속된 규칙을 기반으로 구성되어 IP와 DNS를 상호 교환하는 작업을 필요로 하고 도메인 주소를 별도로 배정 받아야 한다.

 

도메인 주소 사용을 위해서는 도메인 생성의 권한이 부여된 기관에게 도메인 생성 또는 IP 변경의 허가를 받아서 사용한다.

 

 * 도메인 사용 허가의 권한이 있는 기관에게 부여받는 개념으로 상위/하위 개념이 존재하기 때문에 '계층적 구조'를 가지고 있고 수 많은 도메인이 존재하기 때문에 '분산 데이터베이스'를 사용한다.


다음의 자료로 DNS 구성요소와 절차를 알 수 있다.

 

출처 : https://www.cloudflare.com/en-gb/learning/dns/what-is-dns/

 

  • DNS 구성 요소 :

 - DNS Recursive Resolver : 클라이언트(사용자)에서 Query를 수신하도록 설계된 서버

 - DNS Root Nameserver : 호스트 이름을 IP 주소로 해석하는 첫 단계, 호스트 위치의 색인 역할을 수행

 - DNS TLD Nameserver : 최상위 도메인 서버이며 호스트 이름의 마지막 부분을 불러와서 해석(ex. ".com")

 - Authoritative nameserver : 요청받은 Query가 접근이 가능한 경우 호스트의 이름과 IP 주소를 반환

 

 

  • DNS 절차 :
  • 사용자가 브라우저에 도메인 입력 후 DNS Recursive Resolver으로 Query 발생 - >
  • DNS Recursive Resolver(Nameserver에 사용자의 Query 전달) - >
  • DNS Root Nameserver(일반 호스트 이름을 해석하여 상위 Nameserver에 전달) - >
  • DNS TLD Nameserver(호스트의 최종 부분을 정의 후 상위 Nameserver로 전달) - >
  • Authoritative nameserver(정의된 호스트 주소로 Mapping된 IP 검색 후 반환) - >
  • DNS Recursive Resolver(반환 자료를 사용자에게 송신) - >
  • 사용자 브라우저에 도메인 주소에서 변환된 IP가 반환 - >
  • 반환된 IP를 통하여 HTTP 요청 후 상호작용

 

반응형