1970년대까지 인터넷은 몇몇 호스트 네트워크로 이루어진 작은 규모였고, ARPAnet에 연결된 호스트에 대한 이름과 주소의 매핑은 hosts란 파일을 이용하였다. 그 후 ARPAnet은 TCP/IP로 전환하게 되었고 네트워크는 폭발적으로 증가하게 되었다. 호스트 수의 증가로 host.txt의 파일 크기가 증가하고, 이를 수용하기 위한 트래픽도 증가하게 되었다.
네트워크가 증가함에 따라 ARPAnet은 워크 스테이션을 가진 하나의 로컬 네트워크가 되었고, 로컬 네트워크의 관리자는 자신들의 호스트 이름과 매핑 주소가 SRI-NIC의 host.txt 5 파일로 바뀌는데 인터넷의 규모가 커짐과 함께 점점 더 오랜 시간이 걸리게 되자 로컬네임구조(Local Name Structure)를 요청하게 되었다.
또한 애플리케이션들이 점차 복잡해짐으로써 일반적인 이름의 서비스를 필요로 하게 되었다. 결국 ARPAnet은 host.txt를 대신할 방법에 대해 논의하게 되었고 USC(University of Southern California)의 존 포스텔과 폴 모카페트리스에 의해 1984년 도메인과 도메인네임 시스템이 설계되기에 이르렀다.
2. 도메인네임의 정의와 발전
인터넷상에서 사용되는 도메인네임은 전 세계적으로 고유하게 존재하여야 하기에 공통적으로 정해진 인터넷주소 체계가 있으며 임의로 변경하거나 생성할 수 없다. 인터넷의 모든 도메인은 “.” 또는 루트(Root)라 불리는 도메인네임 이하에 나무를 거꾸로 위치시킨 역트리(Inverted Tree) 구조로 계층적으로 구성되어 있다.
루트도메인 아래의 단계를 1단계 도메인 또는 최상위 도메인(TLD, Top Level Domain)이라고 부르며, 일반적 최상위 도메인인 gTLD와 국가 최상위 도메인인 ccTLD가 있다. 차상위 단계를 2단계 도메인(SLD, Second Level Domain)이라 부르며 이것은 기관의 성격을 나타낸다. 3단계에서는 aaa, bbb, nic, netpia 등 도메인 신청자가 원하는 이름을 사용할 수 있다. 최상위 도메인네임(TLD : Top Level Domain)은 gTLD, ccTLD 등이 존재하며 각각 일정한 관례에 따라 만들어지고 운영된다.
루트도메인네임의 단계별 구조는 [그림 1]과 같다.