network 이론/basic network

DNS(Domain name System)

byeong07 2016. 8. 31. 23:23
 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