DNS서버에 대한 이해!

한국인터넷진흥원에서 제작 배포한 DNS서버 운용자 메뉴얼입니다.

서버중 DNS서버 공부하시는분께는 정말 많은 도움이 되실것 같네요..

서버를 관리하고 계신 현직에 종사 중인 분들과, 지금 현재 서버를 공부하고 배우고자 하시는 분들에게 큰 기틀을 잡아줄 수 있는 아주 유용한 자료입니다.

그럼 멋진 하루 되세요~

 

dns_server_manual.pdf


요약 : 도메인 네임 시스템(Domain Name System)은 네트워크 계층이 이해하는 IP 주소와
사람이 이해하고 쉽게 기억할 수 있는 네임(name)을 상호 변환해주는 분산
데이터베이스 시스템으로 인터넷의 모태가 되었던 ARPANET의 발전과정에서 탄생
하였다.
ARPANET의 본래 목적은 비싼 컴퓨팅 자원을 공유할 수 있게 하는 것이었는데,
초창기 소수의 호스트들만 연결되었던 환경에선 각 호스트에 대해 숫자 형식의
네트워크 주소를 직접 사용하였다. 그러나 점차 호스트의 수가 늘어나면서 보다
이해하기 쉽고 기억하기 쉬운 호스트 니모닉(mnemonic)의 사용이 도입되었다.
이는 보다 광범위한 범주에서 사용될 수 있는 도메인 네임 체계로 발전하여
현재의 인터넷 네임 체계인 DNS가 등장하는 계기가 된다.
1970년대 초반, TCP/IP 프로토콜이 개발되기 시작하던 시기의 ARPANET에는
23개 정도의 호스트가 연결되어 있었다. IP 프로토콜이 사용되기 전에는
NCP(Network Control Protocol)이라는 호스트-호스트 통신 프로토콜이 사용되고
있었는데 이 시기만 하더라도 도메인 체계에 대한 필요성이 그리 크지 않았다.
1970년대 중반 이후, TCP/IP가 DoD(Department of Defense)에 적용 시험되고
이어 ARPANET에 적용되었을 때, ARPANET에 연결된 호스트 수는 약 111개
정도로 늘어났다. 이 당시 많은 수의 호스트 네트워크 주소들을 일일이 외울
수가 없으므로 이를 관리하는 방법으로 HOSTS.TXT라는 호스트 니모닉과 네트워크
주소 매핑을 위한 파일을 사용하기 시작했다. 이 HOSTS.TXT는 ARPAnet NIC
(Network Information Center)에서 관리하며 각 호스트에서는 NIC이 관리하는
호스트 서버에 FTP로 접속하여 최신 HOSTS.TXT 파일을 다운받아 사용하는
방식이었다.
현재 대다수의 호스트에서 사용하는 hosts 파일은 이러한 [네트워크 주소:호스트 네임]
테이블 관리방식에 상응하는 것으로 호스트의 네임 변환체계 속에 포함되어
사용되고 있다.
- 2 -
1980년대 초반, ARPANET에 연결된 호스트 수는 약 562개였고 HOSTS.TXT
파일에 대한 갱신작업은 이제 한계에 이르렀다. 기존의 HOSTS.TXT 파일을 통한
호스트 네임 관리체계를 넘어 보다 체계적이고 효율적인 네임체계 및 관리 방안이
필요하게 되었다. 그리하여 1983년 위스콘신 대학에서 DNS 체계를 만들었다.
DNS는 도메인 네임체계와 이를 구현하는 계층적인 분산 도메인 데이터베이스
체계로 개발되었고 도메인 네임체계를 구성하는 도메인 네임은 하나의 데이터
베이스에서 관리하기보다는 계층적이고 분산구조를 갖는 데이터베이스 체계로
고안되었다. 계층적인 네임체계는 추가 확장이 용이한 구조를 제공하고 분산구조의
데이터베이스는 네임 데이터베이스에 대한 분산 관리체계를 가능케 함으로써 그
관리의 효율성을 증대시켰다.
그럼, 여기서 DNS 도입으로 무엇이 얼마나 달라졌는지 알아보도록 하자. 그림 1-1은
DNS 도입 적용전과 적용후의 모습을 보여준다.
[그림 1-1] DNS의 도입
DNS가 적용되지 않은 환경에서는 인터넷의 네트워크 주소를 직접 사용하여야
원하는 호스트와 통신할 수 있다. 그러나 인터넷 상에는 수많은 호스트가 존재한다.
- 3 -
특정 호스트가 어떤 주소를 가지고 IP 있는지, 어떤 서비스를 제공하는지를 사전에
알지 못한 상태에서는 해당 호스트로 접근하는 방법을 파악할 수 없다.
DNS가 적용되면 상황은 달라질 수 있다. DNS는 계층적인 네임체계를 제공하므로
미국의 버클리 대학의 웹 사이트에 대한 접근을 원하는 경우, 버클리 대학의
영문 표기인 Berkeley와 교육 기관용 도메인인 edu를 조합하여 Berkeley.edu를
도메인 네임으로 사용, 접속을 시도함으로써 버클리대학의 호스트로 접근하는
것이 가능할 수 있다.
이때, 인터넷 상에는 그림처럼 인터넷 도메인 네임 데이터베이스를 구성하는
DNS 서버가 체계적으로 구축, 존재해야만 한다. 각 클라이언트 호스트는 사용자가
지정한 도메인 네임의 호스트에 접속을 개시하기 이전에 먼저 도메인 네임을
네트워크 주소인 IP 주소로 변환하는 절차를 DNS 서버를 사용하여 수행한다.
IP 주소를 파악한 이후에는 해당 IP 주소를 사용하여 일반적인 네트워크 통신에
필요한 절차를 개시한다