DNS(Domain name System)
DNS Service란?
• 네트워크에서 도메인이나 호스트 이름을 숫자로 된 IP 주소로 해석해 주는 TCP/IP Network Service이다.
DNS는 왜 생겨 났을까?
• TCP/IP 환경에서 IP Address로 시스템(컴퓨터)을 구분 -> 외우기 부담스럽다.
• 사용 중 IP Address가 바뀌었을 땐?
• 숫자를 대신할 수 있는 문자(컴퓨터 이름)를 할당. 하지만 실제 통신을 위해서는 IP Address가 필요.
• 해당 컴퓨터 이름을 가지고 있는 컴퓨터의 IP Address를 알아내야 한다.
• 특별한 서버가 그 역할을 하도록 구성. -> SRI-NIC(hosts), DNS Server
어떻게 서버이름으로 IP Address를 얻을 수 있을까?
인터넷 초기
• SRI-NIC라는 컴퓨터가 hosts.txt 파일을 가지고 있다.
• hosts 파일에는 모든 컴퓨터의 Hostname과 IP Address 정보가 저장됨.
• Client는 FTP를 이용해 SRI-NIC에 접근해서 hosts 파일을 다운로드 및 적용
문제점
• 업데이트가 늦다.
• 네트워크 트래픽
• 호스트이름 짓기가 힘들다.(이름중목)
해결방법
• 호스트 이름에 계층구조사용.
• 분산된 데이터베이스 이용 -> Domain Name System
DNS란 ?
• 계층 구조를 가지는 분산데이터베이스 구조
• 각 조직을 구분해주는 도메인 이름을 관리하는 DNS Server 들이 모여서 만들어낸 가상이름 공간
도메인 네임 스페이스
-Fully Qualified Domain Name(FQDN)
• DNS의 서버 이름 = host name + Domain Name
• Host name : 실제 서버에 주어진 컴퓨터의 이름
• Domain name : 논리적인 그룹을 표기
Ex) www+netcert+kr+(공백)
표기법) www.netcert.kr.
DNS 동작 과정
1단계 : Local Hosts 파일 참조
• c:\windows\system\drivers\etc\hosts
2단계 : 자체의 DNS cache table
• Cache 정보 확인 - ipconfig /displaydns
• Cache 정보 초기화 - ipconfig /flushdns
3단계 : DNS Server 참조
• 최상위 즉, Root Domain으로 보낸 후 Top-Level Domain(net, com, org등)
• Second-Level Domain 서버 검색
• Subdomain 서버 검색 순으로 이름에 해당하는 IP을 찾게 된다.
• 이 때 이 이름은 FQDN(정규화된 도메인)으로 유일하다.
Ex)www.naver.com(.)
> 마지막 .은 생략되었다.
DNS 자원 레코드
DNS 레코드의 종류
• SOA(Start of Authority) : 권하 시작 지정하고, 권한이 있는 서버를 가리킴.
• A(Host Record) : FQDN과 32비트의 IPv4 주소와 연결
• AAAA(IPv6호스트) : FQDN과 128비트의 IPv6주소를 연결
• CNAME(Alias Record) : 실제 도메인 이름과 연결되는 가상 도메인 이름(별칭).
• MX(Mail Exchange Record) : 주어진 사서함에 도달 할 수 있는 라우팅 정보 제공.
• SRV(Service Resources) : 비슷한 TCP/IP서비스를 제공하는 다수의 서버 위치 정보를 제공.
• NS(Name Servers) : 도메인 서버 목록을 지정
DNS 레코드의 종류
*-SOA(Start of Authority): DNS zone의 기본 이름 식별
*-A(Host Record):호스트 이름이 정의된 주 영역
-CNAME(Alias Record):별칭
-MX(Mail Exchange Record):E-mail 서버에서 이용
-SRV(Service Resources):도메인에서 서비스 이용이 가능한지 식별
*-NS(Name Servers):도메인의 모든 네임 서버 식별
-AAAA:ipv6 주소를 기준으로 하는 레코드
(영역에 SOA,A,NS 레코드는 필수적으로 준비해야 한다.)
Root Hints란?
DNS 루트 서버의 IP 주소를 포함하고 있는 파일.
DNS Query란?
DNS 서버의 이름 확인 요청 방법
• 쿼리는 Recursive(재귀적)또는 Iterative로 구분된다.
• DNS클라이언트와 서버는 쿼리를 교환한다.
• 네임 스페이스를 위한 권한이 있는 DNS 서버와 권한이 없는 DNS 서버로 구분된다.
• 네임 스페이스를 위한 권한이 있는 DNS 서버 :
> 요청된 IP 주소를 응답
• 네임 스페이스를 위한 권한이 없는 DNS 서버:
> cache 정보 확인
> 전달자 이용
> Root hints이용
Iterative Query란?
Local DNS 서버가 다른 DNS 서버에게 쿼리를 보내어 답을 요청하는 작업
Forwarder 란?
외부 DNS 이름에 대한 DNS 쿼리를 외부 DNS 서버에 전달
조건부 Forwarder 란?
도메인 이름에 따라 쿼리를 전달
DNS 영역의 종류
주 영역
• 읽기/쓰기가 가능한 데이터를 DNS Database에 복사
보조 영역
• 읽기 전용 데이터를 DNS Database에 복사
스텁 영역
• 영역 루트 서버 또는 인터넷 DNS 서버에 쿼리하여 영역의 DNS서버를 찾지 않고
특정 영역에 대해서 직접 DNS 서버를 쿼리 할 수 있도록 설정.
영역위임
네임스페이스를 하나 이상의 영역으로 분리하여 다른 DNS 서버로 저장, 분배 및 복제.
다수의 DNS서버를 구성하여, 내 결함성을 제공.
SOA(Start of Authority)
Serial(일련번호)
• 2차 네임서버가 zone 파일의 수정여부를 알 수 있도록 하기 위한 옵션.
Refresh(새로 고침 간격)
• 1차 네임서버의 zone 파일 수정 여부를 2차 네임서버가 검사를 하기 위한 옵션.
Retry(다시 시도 간격)
• 2차 네임서버에서 1차 네임서버로 연결이 되지 않을 경우 재 접속을 요구하는 옵션.
Expire(다음 날짜 이후에 만료)
• Secondary가 Expire에서 지정하 시간동안 Primary에 연결하지 못할 경우
해당 도메인이 유효하지 않다고 보고, 해당 도메인에 대한 정보를 전송하지 않는 것.
TTL
• DNS 캐시에 살아있는 시간을 설정하는 것.
DNS영역 전송이란?
DNS 서버 사이에서 믿을 수 있는 DNS영역 데이터를 동기화.
DNS Notify 작동 방법?
마스터 서버의 영역 데이터베이스가 수정되었음을 해당 영역의 권한을 갖는 보조 서버로 알려 주어 네임 서버의 동적 동기화를 가능하게 해주는 기능.
영역 전송 보안
영역 전송을 특정 서버로 제한
영역 전송 트래픽 암호화
액티브 디렉터리 통합 영역 사용을 고려(Windows기반)
'network 이론 > basic network' 카테고리의 다른 글
OSI 7 Layer (0) | 2016.09.01 |
---|---|
NAT ( Network Address Translation ) (0) | 2016.08.31 |
ARP (0) | 2016.08.07 |
OSI 7 Layer (0) | 2016.08.07 |
UDP Header (0) | 2016.08.07 |