나의 삽질 저장소!

DNS란? - 1편

by softPine

DNS란 IP주소를 사람이 읽을 수 있는 도메인으로 변환을 시켜주는 글로벌 시스템이다. 사용자가 "softpien.dev"와 같은 웹 주소에 접근하려 할 때, 웹 브라우저나 애플리케이션이 DNS 서버에 대해 "softpine.dev" DNS 조회를 수행하여 호스트 이름을 제공한다. 그리고 DNS 서버는 호스트 이름을 가져와서 웹 브라우저가 연결할 수 있는 숫자 IP주소로 해석해 준다.

DNS가 없던 시절

DNS가 없었던 시절에는 인터넷에서 한 개의 HOSTS.TXT 마스터 파일을 공유하여 사용을 했다. 이 마스터 파일은 SRI-NIC[각주:1]에서 관리되며 익명 FTP로 공개되었다. HOSTS.TXT 파일에 대한 변경, 수정, 코멘트, 질문은 모두 HOSTMASTER@SRI_NIC로 메일을 보내는 방식이었다.

DNS의 탄생

애초에 SRI-NIC에서 모든 호스트명을 관리한다는 것 자체가 이미 어불성설. 또한 유니크한 호스트명을 사용을 해야하는데 중복을 걸러주어야 하는것도 이미 어려운 일이었고, 노드 한개를 추가하려고 해도 SRI-NIC에 문의를 해야 했었다. 이런 문제를 극복하기 위해 인터넷의 선구자인 존 포스텔(Jon Postel)은 폴 모카페트리스 (Paul Mockapetris)에게 범용적인 네임 시스템 설계를 의뢰한다. 이렇게 만들어진 것이 DNS이다.

계층 구조를 가진 도메인명

DNS에는 계층적 도메인명 방식이 도입되었다. 각 조직에 고유한(서로 다른) 식별자를 할당하고 여기에 각 조직에서 정한 레이블을 조합하면 조합된 호스트명은 모든 조직에서 고유할 것이라는 방식이다. 도메인 명은 루트(.)를 기점으로 63문자 이하 레이블을 점(dot)으로 연결한 것. 도메인 네임 스페이스는 루트를 시작으로 하여 자식 노드에 레이블이 하나의 개인 최상위 도메인(TLD, Top Level Domain) , TLD의 자식 노드에 일반 조직의 도메인명이 존재하는 트리구조로 되어 있어 레이블별로 계층을 만드는 도메인명 공간을 구성한다. 도메인명에는 자식 노드의 레이블을 왼쪽에 연결한다.

도메인 공간과 존(Zone)

 

관리는 분산하되 전체적인 시스템은 하나로

이름으로 정보를 검색하면 루트부터 차례로 도메인명을 공간을 순회해 최종적으로 정보를 가진 서버에 질의한다. 이를 '이름 변환'이라고 한다. DNS에서는 계층, 조직별로 관리/운용 주체를 달리해서 전체적으로 하나의 거대한 DB를 형성한다.

원활한 운용을 실현하는 위임 구조

DNS에서는 계층별로 관리 주체를 변경할 수 있는데 이를 위임(Delegation)이라고 한다. 위임된 단위는 존(Zone)이라고 하는데, 존은 위임된 조직이 자유롭게 변경할 권한을 갖는다. 주요 위임 사항은 루트, TLD, 일반 조직의 도메인명이다. 위임은 유연하고 확실하게 계층적으로 분산된 분산 관리를 실현하는 구조이다. 또한 DNS에서도 모든 계층에서 관리 권한을 위임하는 것은 아니며 복수 계층에 걸쳐 권한을 분할하기도 한다. 도메인명의 기점은 루트지만, 루트에게 위임받은 정보는 ICANN[각주:2]이라는 조직의 IANA[각주:3] 기능이 관리한다. 루트 DNS 서버의 운용을 위탁받고 있는 각 조직에 루트 존을 배포한다. 루트 DNs서버는 IANA가 작성한 루트 존 정보를 그대로 제공한다. TLD 운용 조직은 TLD 정보를 IANA에 등록한다. TLD 운용 조직은 TLD에 등록한 도메인명에 독자적인 정책을 적용한다. 예를 들어 JP 도메인명은 연락처에 일본 주소를 요구하며, gov는 등록할 수 있는 조직을 미국 정보기관으로 한정한다. 물론 이러한 제약을 두지 않고 기본적으로 누구라도 등록할 수 있는 TLD도 있다.

인터넷에서 DNS의 중요성

인터넷에서는 대부분 도메인명을 이용해 다양한 서비스에 액세스한다. IP주소를 직접 사용하지 않고 도메인명을 쓰는 이유는 도메인명이 IP 주소보다 추상도가 높고, 이름만 보고도 조직 정보를 어느 정도 알 수 있다는 장점 때문이다. 또한 관리 목적으로 서버의 IP 주소를 변경한 경우에도 새 IP 주소와 도메인명을 연결만 하면 되므로 동일한 도메인명을 유지한 채로 같은 서비스를 제공할 수 있어 편리하다.


출처 : 인프라 엔지니어의 교과서 시스템 구축과 관리편 5장 DNS
  1. Standford Research Institute's Network Information Center [본문으로]
  2. Internet Corporation for Assigned Names and Numbers) [본문으로]
  3. Internet Assigned Numbers Authority [본문으로]

'IT 기반 지식 > DNS' 카테고리의 다른 글

DNS에서 사용되는 레코드 유형 - 3편  (0) 2021.03.19
DNS 원리와 동작 - 2편  (0) 2021.03.19

블로그의 정보

나의 삽질저장소

softPine

활동하기