TCP/IP 프로토콜은 IP 주소를 사용합니다. 사람들은 숫자로 구성된 주소보다 이름을 선호합니다. 숫자 주소와 이름 주소간의 매핑을 시켜주는 디렉토리 시스템이 필요해졌습니다. 인터넷이 커서 중앙 디렉터리 시스템이 모든 매핑을 가지고 있을 수 없습니다. DNS는 이 정보들을 전 세계의 서버들에 나눠서 저장하고 있습니다.
nslookup 명령(name server lookup)으로 name server에 ip를 물어볼 수 있습니다.
IP주소가 유일하듯 이름 주소도 유일해야합니다. 이를 위해 계층적 이름 공간을 사용합니다. 로컬 파일시스템의 디렉토리와 동일한 구조라고 보면 됩니다. 도메인 이름 공간은 역 트리 구조입니다. 예를 들어 naver.com이 전체 도메인 이름입니다. naver와 com은 '.'으로 구분되어 있는 도메인입니다. 전체 도메인 이름은 노드에서 루트방향으로 읽습니다. 따라서 com 아래에 naver가 있습니다.
이러한 도메인들은 많은 DNS 서버에 분산해서 저장해야 합니다. 트리구조로 각 서버가 하위 서버들을 담당하는 구조입니다. 상위 서버는 하위 서버에 권한을 위임합니다. 서버가 책임을 지고 도메인 노드들의 정보를 가지고 있는 곳을 zone(영역)이라고 합니다. 상위 서버는 하위 서버에 대한 참조만 가집니다. 안정적인 DNS 서버의 운영을 위해 1,2차 서버를 둡니다. 2차 서버는 1차서버의 복사본입니다.
최상위 도메인은 generic domain,country domain으로 분류됩니다.
위키 : 최상위 도메인
generic domain (일반 도메인)
gov,edu,net,org,com 등..
country domain (국가 도메인)
us,kr 등...
이름을 ip로 매핑시키는 것을 name address resolution이라고 합니다.
보통 DNS 서버들에 질문하며 recursive한 방식으로 변환을 시킵니다.
아마존에서도 Rerursive resolution으로 설명
DNS 서버가 자신의 도메인에 없는 이름에 대한 질의를 받을 때 마다 다른 서버에 질의를 하면 오래걸립니다. 서버는 캐시 메모리를 가지고 있습니다. 캐시 메모리로부터 얻어진 응답은 unauthoritative(인증할 수 없다)라는 표시를 해서 보냅니다.
ICANN에 의해 공인된 registrar를 통해 이루어집니다.
www.intenic.net에서 registrar를 찾을 수 있습니다.
registrars 목록