출처: https://cloudinfrastructureservices.co.uk/what-is-dns-hierarchy
도메인
도메인명
-
도메인명(hostname)은 호스트를 식별할 수 있는 식별자 중 하나이다.
- 인터넷 호스트에 부여되는 문자형의 유일한 이름이다.
- 도메인명은 기억하기 쉬워 사용하기가 쉽지만, 호스트 이름은 인터넷에서의 호스트 위치에 대한 정보는 거의 제공하지 않는다.
- 호스트이름은 가변 길이의 알파벳 문자로 구성되므로 라우터가 처리하는데 어려움이 있다. 라우터는 고정 길이의 계층구조를 가진 IP 주소를 좋아한다.
- 이러한 이유로 호스트는 흔히 말하는 IP로 식별한다.
-
계층적인 도메인 관리 구조에 의해 도메인명의 유일성을 유지한다.
-
도메인 관리자가 상위 도메인 관리에게 등록한 후 사용한다.
도메인 구조
- 최상위 도메인: 7개 일반 도메인(com,org,net,int,edu,gove,mi) + 국가 도메인(kr,jp,uk,fr 등등)
- 중간 도메인: ac,re,or
- 책임 도메인: inha.ac.kr
- 호스트 도메인: drag.inha.ac.kr
계층적인 구조로 인해 사용자의 소속성과 사용자 편리성이라는 장점 이있다.
DNS
제공하는 서비스
- 호스트명을 32비트 고정 IP 주소로 변환
- 호스트 별칭 서비스
- 메일 서버 별칭 서비스
- 부하 분산 데이터베이스
- 동일 서버명으로 서로 다른 IP 주소의 다중 복제 서버 배치
- 도일 서버명에 대한 DNS 요청에 다른 IP 주소를 돌아가며 응답
DNS 구조
중앙 집중형 구조
하나의 서버가 모든 DNS 쿼리 처리하는 구조
- Single of failure
- 중앙 서버에 트래픽 집중
- 원거리 중앙 서버의 응답지연시간 증가
- 중앙 서버 유지 보수 어려움
위와 같은 문제로 인해 DNS 구조는 분산 계층 구조를 가진다.
분산 계층 구조
루트 서버
- 일반적으로 중간서버(TLD) 서버에 대한 IP 주소를 제공
- 전세계의 수백개의 복제 서버 존재
- 13개의 관리 기관에 의해 관리되고 있다
- 로컬 DNS 서버에서 가장 먼저 접속한다.
TLD 서버
- Top Level Domain 서버
- 최상위 도메인명에 대한 DNS 서비스 담당
- 일반적으로 책임 DNS 서버의 IP 주소 제공
2021년 4월 기준 1502개의 TLD 서버 존재
책임 서버
- 특정 호스트의 도메인명 정보를 유지하고 있는 서버
- 대규모 기관은 대부분 자신의 호스트에 대한 책임 DNS 서버를 유지
- 소규모 기관은 외부의 책임 DNS 서버에 의존
로컬 서버
- DNS 서비스를 요청하는 클라이언트 호스트가 소속된 DNS 서버
- 소속된 호스트들의 DNS 서비스 요청 대행
- 일반적으로 로컬 DNS 서버는 호스트 가까이 있다.
네트워크를 설정할 때
1. IP 주소
2. 로컬 DNS 서버 주소
3. 로컬 게이트웨이 주소
위 3가지는 무조건 있어야 함
DNS 동작
DNS 캐싱
지연 성능 향상과 네트워크의 DNS 메시지 수를 줄이기 위해 캐싱을 사
용한다.
- DNS 서버가 DNS 응답을 받았을 때 그것을 캐시 메모리에 저장하고 응답한다.
- 해당 서버가 동일한 도메인명에 대한 질의를 수신하면 캐시된 메모리 정보로 응답한다.
문제점
- 캐시된 도메인의 IP 주소가 갱신되었을 때, 데이터 불일치 발생
- 캐시된 정보는 일정 시간(TTL)이 지나면 자동적으로 삭제된다.
DNS 자원 레코드
- DNS 서버에 정보가 저장되고 서비스되는 단위
형식
자원 레코드는 4개의 튜플로 구성되어 있다.
(name, value, type, TTL)
유형
-
Type = A
-
Type = NS
- name=도메인, value=책임 DNS 서버의 호스트명
-
Type = CNAME
- name=별칭 호스트명, value=정규 호스트명
-
Type = MX
- name=별칭 메일 서버명, value=정규 메일 서버명
TTL
해당 자원 레코드가 캐싱될 때 캐시 메모리에서 유지되는 시간
DNS 메시지 포맷
DNS 정보 등록 절차
www.dragonappear.com
이란 도메인명을 등록한다고 가정해보자.
등록자(도메인 관리자)
- 웹서버명(
www.dragonappear.com
)과 IP 주소의 A 유형을 책임 DNS 서버에 저장
- 도메인명(
dragonappear.com
) 과 책임 DNS 서버(1차 dns1.dragonappear.com
, 2차 dns2.dragonappear.com
의 IP주소를 등록 기관에 제출
도메인명 등록 기관
- 등록 대상 도메인명의 유일성 검증
- 도메인을 담당하는 책임 DNS 서버에 대한 NS 유형 RR과 A 유형 RR을 상위 DNS 서버에 등록
Ex)
NS(dragonappear.com
, dns1.dragonappear.com
)
A(dns1.dragonappear.com
, 212.212.212.1
)