DNS
태그 :
- 개념
- - Host의 Domain Name을 Host의 IP Address로 변환 또는 그 반대의 역변환을 수행할 수 있도록 하기 위해 개발된 시스템
I. 네트워크 관리를 위한 DNS(Domain Name Server) 개요
가. DNS(Domain Name Server)의 정의
- Host의 Domain Name을 Host의 IP Address로 변환 또는 그 반대의 역변환을 수행할 수 있도록 하기 위해 개발된 시스템
나. 네트워크 관리를 위한 DNS 역할
- DNS가 적용되지 않은 환경에서는 인터넷의 네트워크 주소를 직접 사용하여야 원하는 호스트와 통신가능
- 초기 인터넷 환경에서는 호스트 파일을 이용하여 도메인 이름과 IP를 매칭하여 사용함
- 인터넷의 발달로 호스트 수가 기하 급수적으로 늘면서 호스트 파일을 통한 도메인 이름 관리가 불가능 해짐
- 체계적이고 효율적인 도메인 이름 관리가 필요해 졌고, 이로 인해 분산 구조 형의 계층적이 DNS로 발전하게 됨
다. DNS의 구성요소
- DNS는 도메인네임스페이스(Domain Name Space), 네임서버(Name Server), 해석기(Resolver)로 구성되어 있음
도메인네임 스페이스 |
트리 구조의 네임 스페이스를 비롯해 데이터에 대한 이름 관련 규칙을 정의 하고 DNS 서비스에서 도메인 네임 스페이스의 트리에 연결된 호스트는 자원 레코드(Resource Records)라는 정보 집합체로 표현됨 |
네임서버 |
도메인 트리 구조와 트리에 보관된 정보 집합체를 관리하는 프로그램이며 일반적으로 자신이 관리하는 도메인 공간에 관한 정보를 책임지며, 전체도메인 구조의 다른 부분 정보를 제공하기 위한 네임 서버 포인터를 가지고 있음 |
해석기 |
네임 서버로부터 클라이언트의 요청 정보를 얻어내는 프로그램이며 최소 하나 이상의 네임 서버와 접촉하며, 네임 서버의 정보를 이용해 응용 프로그램의 질의에 응답 |
II. 네트워크 통신을 위한 DNS 관리 정보
- 도메인 네임 서버는 이름과 주소 등의 관리정보를 저장하기 위한 데이터 베이스의 레코드 개념이필요함
- 도메인 네임 서버는 관리하는 모든 정보를 자원 레코드(Resource Record)에 저장함
- 자원 레코드에 저장된 정보를 기반으로 한 도메인 네임은 인터넷 자원으로써의 속성정보 역할을 함
- 인터넷 자원으로서의 속성정보 역할을 함으로써 네트워크 통신에서 유용하게 사용될 수 있음
가. DNS 관리 정보를 저장하고 있는 자원레코드 및 질의레코드의 구조도
- 질의레코드는 DNS 클라이언트가 DNS 서버에 정보를 요청하는 용도로 사용되며 Name, Type, Class의 3개의 필드로 구성됨
나. DNS 관리정보 구성요소
Name |
찾고자 하는 가변 길이의 도메인 이름이다. 질의 레코드에 기록되어 DNS서버에 요청됨 |
Type |
16비트 크기로 자원의 종류를 나타냄 |
Class |
프로토콜 패밀리를 의미하는데, 인터넷에서는 IN 값을 사용 |
TTL (Time To Live) |
자원 레코드가 만기될 때까지의 유효 시간을 초 단위로 표시하며 특정 호스트에 캐시된 정보가 만기되어 버려질 때까지 얼마나 오래 저장되어 사용할 수 있는지를 나타냄 |
RD Length |
자원 데이터의 길이를 바이트 단위로 나타냄 |
RD (Resource Data) |
자원 레코드와 관계된 데이터가 기록되는데, 자원 레코드의 유형 값에 따라 내용의 구성과 크기가 달라짐 |
A(Address) |
호스트의 IP 주소를 의미하며 도메인 이름을 IP 주소로 변환하는데 사용 |
NS(NameServer) |
도메인을 관장하는 인증된 네임 서버를 나타냄 |
CNAME(Canonical Name) |
자원에 대한 접근을 단순화하려고 사용되며, 호스트 이름의 별명을 지원 |
SOA(Start of Authority) |
존의 시작을 표시 |
WKS(Well-known Services) |
호스트가 제공하는 네트워크 서비스를 정의 |
PTR(Pointer) |
IP 주소를 도메인 이름으로 변환하는 데 사용 |
III. DNS의 기본동작 내용
- DNS는 DNS 프로토콜에 의한 DNS 메시지를 이용하여 상호 동작 함
- 호스트는 로컬 네임서버에 요청하여 DNS 질의를 수행하고 로컬 네임서버가 바로 응답이 가능하면 즉각 응답함
- 로컬네임서버가 질의에 대한 정보가 없으면 가장 적합한 네임서버를 선택하여 해당 서버로부터 값을 받아 응답함
- 도메인 이름 체계
2. DNS 동작내용
- DNS는 DNS 프로토콜에 의한 DNS 메시지를 이용하여 상호 동작 함
- 호스트는 로컬 네임서버에 요청하여 DNS 질의를 수행하고 로컬 네임서버가 바로 응답이 가능하면 즉각 응답함
- 로컬네임서버가 질의에 대한 정보가 없으면 가장 적합한 네임서버를 선택하여 해당 서버로부터 값을 받아 응답함
1. Client에서 Local DNS로 www.ntchosting.com 에 대한 IP주소 질의를 함.
※ Client는 해당 도메인에 대한 IP 정보를 시스템 내 host 파일에서 먼저 검색
2. Local DNS는 DNS cache에 도메인에 대한 정보를 검색하여 해당 도메인에 대한 정보가 cache에 존재하면 클라이언트에 응답하 고, 없으면 root DNS에 www.ntchosting.com 에 대한 정보를 질의한다.
3. root DNS는 해당 도메인 www.ntchosting.com 에 대한 정보를 관리하는 .kr 관리 DNS의 IP 주소를 Local DNS에 알려 줌
4. Local DNS는 .kr 관리 DNS에 www.ntchosting.com 의 주소를 질의
5. .kr 관리 DNS는 .or.kr 관리 DNS IP 주소를 Local DNS에 알려 줌
6. Local DNS는 .or.kr 관리 DNS에 www.ntchosting.com 의 주소를 질의
7. .or.kr 관리 DNS는 kisa.or.kr 관리 DNS IP 주소를 Local DNS에 알려 줌
8. Local DNS는 ntchosting.com 를 관리하는 DNS(authoritative DNS)에 www.ntchosting.com 에 대한 정보를 질의 함
9. kisa.or.kr 관리 DNS는 www.ntchosting.com 대한 정보를 Local DNS에게 응답
10. Local DNS는 최초 질의 요청자인 Client에게 질의에 대한 응답을 제공