- DNS는 분산 데이터 베이스기 때문에 호스트 이름을 IP 주소로 매핑하기 위한
자원 레코드(Resource Record, RR)를 저장한다.
- 형태는 이렇다 → (Name, Value, Type, TTL)
- 여기서 TTL은 자원 레코드 생존기간이다. (자원이 캐시에서 제거되는 시간을 결정한다.)
- Name 과 Value의 의미는 Type예 따른다.
- ex) ( 호스트 이름, 호스트 이름에 대한 IP 주소, A, ) → Type이 A 인 경우
ex2) (도메인(foo.com), 도메인 내부의 호스트에 대한 IP 주소를 얻을 수 있는 방법을 아는 책임 DNS, NS) → Type이 NS 인 경우
DNS 메시지

- 헤더영역 : 12바이트에 해당하는 위의 영역이다.
- 식별자 : 질의에 맞는 응답을 하도록 돕는 식별자이다.
- 플래그 : 질의/응답, 책임, 재귀 요구, 재귀 가능 의 네 가지 종류로 이루어 진다.
DNS DB에 레코드 삽입
- abc.com을 어떤 등록기관(소정의 돈을 받고 도메인 네임의 유효성 확인 및 DNS DB에 넣는 상업기관 → ICANN이 이런 등록기관을 승인한다.)에 등록시 주책임 서버와 부책임 서버의 이름과 IP 주소를 등록기관에 제공해야한다.
- 주책임 서버 : dns1.abc.com
- 부책임 서버 : dns2.abc.com
- IP : 212.212.212.1, 212.212.212.2
- TLD com 서버에 등록된 것을 확인해야 한다.
- 순서
- 호주에 있는 앨리스가 www.abc.com웹에 접속 시도
- 호스트는 LDNS로 질의를 보낸다. (캐싱된 것들 중 IP가 있으면 반환)
- TLD com이 캐싱되어 있다는 걸 가정하에, 이곳으로 접속(없으면 Root DNS 로 접속)
- TLD com 서버는 위의 나열된 Type NS와 A RR 갖고 있고 이를 반환
- RR을 토대로 책임 서버 주소로 IP 요청 및 반환
- IP 접속