DNS 서버 (DNS server)

Domain Name System에 대한 설명. DNS 서버가 있어야 하는 이유.

DNS(도메인 네임 시스템)이란?

DNS란, Domain Name System의 약어로 컴퓨터가 이해하기 쉬운 인터넷상의 주소인 “IP 주소"와 사람이 이해하기 쉬운 인터넷상의 주소인 “도메인"의 맵핑 테이블을 관리하고 있는 시스템 일을 말한다.
예를 들면, DNS는 사람이 읽을 수 있는 도메인 이름(예: www.devkuma.com)을 컴퓨터가 읽을 수 있는 IP 주소(예: 185.199.109.153)로 변환한다.

DNS 서버(DNS server)

DNS 서버는 이름 확인 기능이 구현된 서버이다. 도메인 이름 해석 기능이란, 인터넷상의 주소인 “IP 주소"와 “도메인"의 맵핑 테이블을 관리하려 변환하는 시스템을 말한다.

서비스나 기능을 제공하는 컴퓨터를 “서버”(server), 그 서비스나 기능을 이용하는 컴퓨터를 “클라이언트”(client)라고 한다.

DNS 서버란?

DNS 서버는, “도메인"을 “IP 주소” 혹은 “IP 주소"을 “도메인"으로 변환하는 기능(이름 해석)이 구현된 서버이다.

왜 DNS 서버가 필요한가?

인터넷상에서 통신하기 위해서는 인터넷상의 주소인 ‘IP 주소’가 필요하다.

따라서, 웹사이트를 탐색하거나 이메일을 보낼 때 ‘도메인’이라는 사람이 이해하기 쉬운 것을 ‘IP 주소’로 변환해야 한다.

예를 들어, 본 사이트의 URL은 “https://devkuma.com"이다. 그리고 도메인 이름은 “devkuma.com”. 본 사이트를 열람하기 위해서는, “devkuma.com"라고 하는 도메인을 “IP주소"로 변환하여 통신을 하게 된다.

DNS 웹사이트 탐색

또, 메일 주소 “kimkc@devkuma.com"라고 하는 목적지에 메일을 보내고 싶은 경우도 마찬가지이며, “@” 다음에 “devkuma.com"이 도메인이며, “devkuma.com"이라고 하는 도메인을 “IP 주소"로 변환하여 통신한다.

어차피 변환되는 거라면, 처음부터 ‘도메인’은 필요 없을 거라 생각할 수 있다. 하지만 만약 도멘이 없다면 아래와 같이 표기가 되어 어떤 사이트인지 알기 어려워진다.

https://185.199.109.153.com
https://127.0.0.1.net
https://192.168.10.1.co.kr

이렇게 IP 주소가 아닌 알기 쉬게 숫자가 아닌 문자로 표기하려고 하는 것이 DNS의 목적이다.

DNS 서버의 작동 방식

DNS 서버에는 다양한 서버가 있다. 우선 이용자의 컴퓨터가 문의를 하는 것은 “DNS 캐시 서버"이다.

“DNS 캐시 서버"는 쿼리 결과를 일정 기간 보존하고, 기간내에 같은 요청이 왔을 때, 외부 서버의 DNS 서버에 새롭게 요청하지 않고 스스로 응답하게 된다.

DNS 서버

계층화되어 있다(여기에서는 3계층) DNS 서버의 최상위를 “루트 서버"라고 부른다. “루트 서버"는 “kr”, “com”, “net"과 같은 최상위 도메인의 “DNS 서버"의 IP 주소를 관리한다.

그리고, 최상위 도메인의 “DNS 서버” 아래에 있는 “xx.com"등의 도메인을 관리하는 “DNS 서버"의 IP 주소를 관리하고 있다. 마지막으로 “devkuma.com"의 IP 주소를 관리하고 있는 “xx.com"의 “DNS 서버"로부터 IP 주소를 받아오는 흐름이다.

이와 같이 1대의 서버로 모든 것을 관리하는 것이 아니라, 서버를 계층화해서 분산하여 “도메인명"과 “IP 주소"의 맵핑을 관리하고 있는 것이 DNS이다.

도메인 네임 시스템 기관

도메인 네임은 통산 ‘호스트.서버도메인(기관 이름).서브도메인(기관 성격).최상위 도메인’의 순서로 나타낸다. 예를 들어 청화대의 경우에는 ‘www.president.go.kr’이다.

최상위 도메인은 기관이나 국가를 약어로 나타내는데 미국의 경우에는 국가명을 생략하는 대신 아래 표의 왼쪽에 있는 도메인으로 끝나는 경우가 많다. 예를 들어, 백악관의 도메인네임은 ‘www.whitehouse.gov’ 이다.

최상위 도메인의 종류

도메인 기관명 도메인 국가명
edu 교육기관 kr 대한민국(Korea, South)
com 회사(사업체) jp 일본(Japan)
gov 정부 기관 cn 중국(China)
int 국제 기구 ca 캐나다(Canada)
org 비영리 공공 기관 de 독일(Germany)
net 네트워크 관려 기관 uk 영국(United Kingdom)
mil 미국 국방성 관련 기관 fr 프랑스(Korea, South)

국가 코드 최상위 도메인 더보기

서브 도메인은 최상위 도메인과 호스트 이름 사이에 있는 영역으로 아래 표와 같이 기관의 이름과 성격을 의미한다. 기관의 성격을 나타내는 서브도메인은 ac, re, co, go, ne 등으로 각각 학교, 연구소, 회사, 정부 기관, 네트워크 관련 기관을 나타낸다.

서브 도메인의 종류

서브도메인 기관명 도메인 예제
ac Academy 교육/학술 기관 https://www.snu.ac.kr
re Research 연구소 https://etri.re.kr
co Company 회사 https://samsung.co.kr/
go Goverment 정부 기관 http://www.president.go.kr/
ne 비영리 공공 기관 네트워트나 게이트웨이

.kr 더보기

DNS 레코드

DNS레코드(또는 영역 파일)는 권한 있는 DNS 서버에 있는 명령으로서, 도메인에 연계된 IP 주소 및 해당 도메인에 대한 요청의 처리 방법에 대한 정보를 제공한다. 이 레코드는 DNS 구문이라고 하는 일련의 텍스트 파일로 구성됩니다. DNS 구문은 DNS 서버에게 수행할 작업을 알려주는 명령으로 사용되는 문자열이다. 또한, 모든 DNS 레코드에는 ‘TTL’이 있는데, 이는 time-to-live의 약어로 DNS 서버가 해당 레코드를 새로 고치는 빈도를 나타낸다.

A

  • IPv4 주소 레코드는 IPv4 주소로 호스트 이름을 매핑하는 데 사용된다.

AAAA

  • IPv6 주소 레코드는 IPv6 주소로 호스트 이름을 매핑하는 데 사용된다.

CNAME

  • 정식 이름 레코드는 다른 DNS 레코드를 가리키는 별칭이다.

NS

  • 네임 서버 레코드는 권한 있는 네임 서버를 가리킨다.

SOA

  • 신뢰할 수 있는 기록은 DNS 영역에 대해 신뢰할 수 있는 정보가 포함되어 있다.

MX

  • 이메일을 이메일 서버로 전송한다.

TXT

  • 텍스트 기록은 임의의 텍스트가 포함되어 있다.
  • 관리자가 레코드에 텍스트 메모를 저장할 수 있다.
  • 이 레코드는 종종 이메일 보안에 사용된다.



최종 수정 : 2024-01-18