본문 바로가기

Network System/Network

[ DNS ] Domain Name Service

DNS(Domain Name Service) : 아아피 주소(IP Address)에 이름을 달아주는 데 이걸 도메인(Domain)이라고 하고 이런 도메인 네임 서비스를 제공하는 것

- 포트번호 : 53

- 응용 계층(Application Layer)에 존재함

 

 

[ DNS의 변화 ]

- 과거 : 컴퓨터마다 hosts.txt파일을 가지고 있음, 여기서 hosts.txt파일은 아이피 주소에 도메인을 매핑시켜놓은 파일

- 현재 : 분산된 데이터베이스를 이용하고 있음, 각 조직들이 도메인 정보를 관리하는 DNS를 운영하고 이런 DNS서버들이 서로 상호연동되어 도메인 네임 스페이스(Domain Name Space)를 형성하게 됨

 

 

[ DNS의 구성요소 ]

- 도메인 네임 스페이스(Domain Name Space)의 계층적인 구조로 이루어져 있음

(최상위) 루트 DNS -> ... -> ...

 

- 아이피 주소와 도메인의 매핑 정보를 가지는 서버를 도메인 네임 스페이스 트리 구조에서 찾는데, 이 도메인 네임 스페이스의 트리 구조의 정보를 가지고 찾고 도메인 이름을 아이피 주소로 변환해 주는 것이 네임 서비스(Name Service)이고 이런 것을 해주는 곳이 네임 서버(Name Server)

> Primary Name Server : 주 네임 서버

> Secondary Name Server : 보조 네임 서버

 

- 클라이언트의 DNS 요청을 네임 서버로 전달하고 네임 서버로 부터 정보를 받아 클라이언트에게 전달해주는 것이 리졸버(Resolver)

/etc/resolv.conf에 NS(네임서버) 지정

> 기본적으로 8.8.8.8, 8.8.8.4의 NS가 지정되어 있음

 

- 리졸버의 단순한 기능만 가진 버전이 스터브 리졸버(Stub Resolver)인데, 많은 네임 서버의 구조를 파악할 필요 없이 리졸버가 구현된 네임 서버의 ip주소만 파악

 

- FQDN(Full Qualified Domain name, 정규하된 도메인 이름) : DNS 서버이름을 hostname + domain name으로 표현

 

- Zone 파일 : Domain을 소유한 특정 조직의 DNS서버는 해당 Domain에 대한 Zone 파일(영역 파일)을 가짐, Resource Record을 통해 Client에게 정보를 제공

(Resource Record 종류)

> SOA(Start of Authority) : Domain 관리 권한 및 Zone Transfer(영역 전송)과 관련된 정보

> NS : NameServer의 정보

> A(AAAA) : 특정 host의 FQDN과 연결된 IP주소 정보

> CNAME : 특정 A레코드에 대한 별칭

> MX(Mail eXchange) : 메일 서비스에 대한 정보

> RTR : 역바향 조회에 사용하는 레코드, 특정 IP주소에 대한 FQDN의 정보

> ANY : 도메인에 대한 모든 레코드 질의 시에 이용

 

 

[ DNS 동작 과정 ]