domain_host

DNS 구성 요소 – ① 도메인 이름 공간 (Domain Name Space)

Domain Name Space를 글자 그대로 해석하면 ‘영역(Domain) 이름(Name) 공간(Space)’입니다. 또한 Domain의 사전적 의미는 ‘영역’ 또는 ‘책임의 범위’ 등을 의미합니다. 이 도메인에 대한 의미는 RFC 881에서 보다 명확하게 드러나는데 다음과 같습니다.

‘시스템에 호스트를 추가하는 권한과 책임의 위임을 허용하기 위하여 도메인 이름(domain style name)의 도입이 진행되고 있다. 이를 통해 호스트에 대한 정보를 유지하고 관리하는 업무의 구획(subdivision)이 정해질 것이다. 이는 관리 권한이나 조직의 경계에 기반한 개념으로…’ (출처: RFC881)

조금 풀어 쓰면, 인터넷을 일정한 공간으로 가정했을 때, 도메인(domain)이란 호스트에 대한 책임과 권한의 영역으로, 물리적 실체인 ‘호스트’를 관리하는 조직의 경계입니다.

이해를 위해 과거의 호스트 정보를 가져와 예를 들어보겠습니다.

Host(8) Address(10) Hostname (Interface)-> Computer Status / System
1 001 UCLA-NMC Sigma 7

PDP-11/45

Server till 12/31/73

SEX

User 1/1/74 ANTS

101 65 UCLA-CCn IBM 360/91 Server
201 129 UCLA-CCBS (PDP-15)-> PDP-10 limited Server
002 2 SRI-ARC PDP-10 dedicated Server /

TENEX, NLS

102 66 SRI-AI (PDP-15)-> PDP-10 limited Server / TENEX
004 4 UTAH-10 PDP-10 limited Server / TENEX
204 132 UTAH-TIP TIP
006 6 MIT-MULTICS H-6180 Server till 12/17/73

Multics

106 70 MIT-DMS PDP-10 Server / ITS
206 134 MIT-AI PDP-10 Server / ITS
306 198 MIT-ML PDP-10 Server / ITS
001 9 HARV-10 PDP-10 Server
111 73 HARV-1 PDP-1 User
211 137 HARV-11 PDP-11 User

미국의 유수 대학인 UCLA, 스탠포드, 유타, MIT 그리고 마지막으로 한국에서 유명한 하버드가 보입니다. 제일 첫 줄의 Host에는 8이란 숫자가 있는데 이는 ‘8진법’을 의미합니다. address는 10으로 표시되어 있는데 마찬가지로 10진법으로 된 호스트 주소를 의미합니다. 호스트 이름은 ‘어떤 대학 내에서 어떤 기능의 컴퓨터인지’를 자체 설정한 이름입니다. 가령 AI(Artificial Intelligence)는 영어로 ‘인공 지능’의 약자이니, MIT-AI는 MIT 공대 인공 지능 연구소에 배치된 컴퓨터임을 알 수 있습니다. 그 우측으로는 컴퓨터의 운영체제 및 초기 네트워크에서 부여된 번호를 나타냅니다. 가장 우측은 컴퓨터가 ‘서비스 제공 목적’인지 혹은 ‘사용자’로서 접속했는지를 보여줍니다.

호스트 주소(address)와 호스트 이름(hostname)을 봐주시기 바랍니다. 여기서 호스트 주소를 211.115.83.234으로 대체하면 오늘날의 IP 주소 형식이 됩니다. 그렇다면 오늘날의 도메인 형식으로 이름을 만들어 보면 어떻게 될까요? 만약 상기 리스트의 MIT 공대가 .EDU(교육 기관 도메인) 도메인에 등록했다면 그들의 도메인은 ‘MIT.EDU’가 될 것이며, 호스트 컴퓨터가 3대이므로 차례대로 다음과 같은 ‘호스트 이름’을 정했을 것입니다.

DMS.MIT.EDU, AI.MIT.EDU, ML..IT.EDU

만약 호스트가 추가되면 그 특성에 맞게 ‘호스트 이름.MIT.EDU’의 형태로 이름을 정하면 됩니다. 이는 하버드 대학을 포함한 다른 대학이나 기관도 동일한 원리가 적용됩니다. 요약하면 호스트 정보 관리 기관의 관리 영역을 ‘도메인(domain)’이라 하고, 일반적으로 그 기관의 이름이 영역의 이름이 됩니다. gabia.com은 가비아가 관리하는 호스트 시스템의 영역(domain)입니다.

과거 NIC가 전체 호스트 정보를 관리할 때에는 모든 개별 호스트가 NIC로부터 호스트 이름과 호스트 주소 정보가 담긴 파일(HOSTS.TXT)을 다운 받아서 개별 호스트에 저장하고 사용했습니다. 이는 서버에 접근하려는 사용자가 전체 호스트의 정확한 정보를 가지고 있다는 것을 전제합니다. 그러나 접속하려는 서버의 정보가 중간에 변경되면 NIC이 새로운 파일을 업데이트 할 때까지 접속할 수 없었습니다.

DNS를 통해 영역(DOMAIN)의 개념이 도입된 후에는, 특정 영역 내의 호스트 정보는 그 영역의 관리 기관에서 파일이나 데이터베이스의 형태로 유지하고 있게 됩니다. 그리고 그 호스트를 찾는 요청이 오면 길을 안내하는 역할을 해주어야 합니다. 바로 이 역할을 하는 것이 ‘도메인 네임 서버(Domain Name Server)’입니다. 간단히 말하자면 소위 수동 처리 방식에서 자동 연결 방식으로의 전환이 일어납니다.

이것은 바로 모든 도메인(영역)이 ‘도메인 네임 서버’를 가져야 하는 이유입니다. 도메인 네임 서버 또한 ‘호스트’이므로 이름이 있어야 하고, WWW와 마찬가지로 그 역할이 고정이므로 거의 예외 없이 Name Server의 약자인 ’NS’라는 호스트명을 사용합니다(ex-ns1.gabia.com). 이처럼 중요한 역할을 하는 네임서버는 최소 2개를 각기 다른 장소에 설치하여 일반적으로 ns1, ns2와 같이 사용됩니다. 그리고 역사상 최초의 도메인으로 .ARPA가 생성되어 호스트 파일 접속 방식에서 DNS로의 전환이 진행됩니다.

‘DNS 개발의 역사에서 최초로 .ARPA 도메인이 생겨났지만 이후에는 ‘government’, ‘education’, ‘commercial’과 같은 최상위 도메인이 생겨날 것이다. 이유는 기관의 이름에 자율성을 제공하기 위함이다. 최초의 실험이 끝나면 모든 ARAPNET의 호스트는 ARPA를 제외한 어떤 도메인을 선택하게 될 것이다. 결국 .ARPA의 초기 실험은 종료되고 .ARPA는 사라질 것이다. ‘

출처: RFC:920

이후 .ORG, .COM, .EDU 등 최상위 도메인 이름 도입을 통해 DNS 시대의 실질적인 개막이 시작됩니다. (최초의 도메인최상위 도메인 등 참조)

> DNS 구성 요소 – ② 도메인 네임 서버(DOMAIN NAME SERVER)