학습 목표
- 계층 구조의 네임스페이스, 도메인, 존 개념 이해
- 도메인 정보를 관리하기 위한 자원 레코드 종류 이해
도메인 네임스페이스
- DNS가 저장, 관리하는 계층적 데이터베이스
- 최상위에 루트가 존재하고, 그 아래로 모든 호스트가 트리 구조로 이어짐
-
레이블
- 이름 (최대 63바이트)
-
도메인 이름
- 점(.)으로 구분한 레이블의 연속
-
루트 호스트
- 크기가 0인 Null 레이블을 가짐
-
일반적으로는 붙이지 않지만, 공식 표기(fully qualified domain name)할 때 마지막에 점(.)을 붙여야 함
- 예) www.abc.co.kr.₩
- .이 없는 경우 호스트 default domain이 붙게 됨
- www.abc.co.kr로 표기하는 경우 시스템에서는 www.abc.co.kr.abc.co.kr.로 해석
도메인
- 계층적 구조
- 같은 레벨에서는 레이블이 유일해야 함
-
도메인 이름
- 최하위 레이블을 트리 왼쪽에 두고 상위로 이동하면서 레이블 표기
- xx.lcs.mit.edu
-
TLD (Top Level Domain, 최상위 도메인)
- 루트 바로 밑에 위치한 레이블
- mil, edu, arpa
-
도메인
- edu 도메인, mit.edu 도메인
최상위 도메인
-
RFC 1591 TLD
- .com: 상업적 용도
- .edu: 교육기관 용도
- .net: 네트워크 서비스 제공자와 관련된 시스템
- .org: 기관
- .int: 국제적 목적
- .gov: 미국 연방 정부 관련 기관
- .mil: 미국 국방성 관련 기관
- 추가: .arts, .firm, .info, .nom, .rcc, .store, .web 등
- 국가 코드 활용: .kr, .tv, .se
도메인 이름
- 하위 레이블부터 시작
- 레이블 이름을 점(.)으로 연결
데이터베이스 서비스
- 인터넷 도메인 네임스페이스를 계층 구조로 분할
- 하나의 개념적 저장장소를 갖지만, 실제로는 각 하부 도메인을 관리하는 호스트에 이름, 주소 관리 권한 위임
- 권한을 위임 받은 도메인 관리 서버는 자신의 도메인에 포함된 모든 레이블(호스트 또는 하부 도메인)에 관한 정보를 적절하게 유지해야 함
-
다른 도메인에 속한 호스트 정보는 해당 도메인을 관리하는 네임 서버로부터 얻어냄
- 한번 가져온 정보는 캐싱해놨다가 다음에 이용
-
존(zone)
- 임의의 네임서버가 관리하는 영역
- 한 층이 될 수도, 두 층이 될 수도 있음
- 도메인과 유사하지만 다름
자원 레코드
- 이름과 주소 정보 등을 저장하기 위한 레코드
- 트리에 연결된 각 호스트 정보는 자원 레코드와 관계됨
- DNS 네임 서버가 해석기에 반환하는 데이터가 자원 레코드 정보
-
질의 레코드
- DNS 클라이언트가 DNS 서버에 정보를 요청하는 용도
- 요청한 정보에 더해 서버에서 자원 레코드 형태로 응답
-
각 필드 의미
- Name: 찾고자하는 가변 길이 도메인 이름
- Type: 자원 종류
- Class: 프로토콜 패밀리(인터넷: IN)
- TTL: 캐시 정보 유효기간
- RD length: RD(Resource Data, 자원 데이터) 크기
- RD: 자원 데이터
Type 종류
- A(Address): 호스트 IP 주소(도메인 이름과 IP 주소 변환)
- NS(Name Server): 도메인을 관장하는 인증된 네임 서버
- CNAME(Canonical Name): 호스트 별명
- SOA(Start of Authority): 존의 시작을 표시
- WKS(Well-Known Services): 호스트가 제공하는 네트워크 서비스
- PTR(Pointer): IP 주소를 도메인 이름으로 변환
- HINFO(Host Information): 호스트 정보
- MX(Mail eXchange): 메일 교환(특정 메일 주소로 전송된 메일을 다른 주소로 재전송(redirect))
- 기타: SIG(Security Signature), NXT(Next Domain), AAAA(IPv6 주소), TXT(text) 등