본문 바로가기

Linux

DNS 이론 정리

[DNS(Domain Name Service / Domain Name System)]

  - Internet에 존재하는 무수히 많은 서버들을 쉽게 기억할 수 있도록 문자주소(FQDN)를 이용한 접근을 도와주는 서버
      -> 문자주소(FQDN)와 IP address 간의 상호 변환
  - InterNIC에서 관리하는 Domain Namespace라는 트리 구조를 참조
      -> namespace에 등록된 서버의 IP를 알아옴
  - FQDN은 일반적으로 말하는 도메인 주소
      -> host name과 domain name으로 구성
          (ex. www.google.com 이라는 주소가 있다면 www는 host name, google.com은 domain name)

 

 

Domain Namespace 구조
  - FQDN의 효율적인 관리를 위해 최상위 root domain 아래로 top-level domain, second-level domain 등이 위치
      -> root domain은  top-level domain에게 위임 처리를 하고

          top-level domain은 second-level domain에 위임 처리를 하여 주소 관리

  - root domain
      -> InterNIC에서 관리하는 Domain Namespace의 최상위 서버

      -> 전 세계에 총 13개가 있으며 a ~ m 까지 이름이 붙어있음

  - top-level domain
      -> FQDN의 마지막 단락 (ex. com, net, org 등)
      -> 자신이름으로 끝나는 second-level domain 들의 주소를 가지고 있다

 - second-level domain
      -> 일반적으로 각 회사에서 구성한 nameserver (ex. naver.com, google.com)
      -> 자기 회사의 host name 정보를 가지고 있다
             


DNS server 동작 순서

 * 동작 예시 - 사용자가 client PC에 문자주소(FQDN)를 입력하면

 

1)
  - client 장치는 자신의 cache 확인(먼저 hosts 파일 확인 후 dns cache 확인)
  - IP 설정 중 DNS server의 IP를 확인하고, 해당 장치에 FQDN에 대한 IP address 문의

2)

  - DNS server는 자신의 zone 영역 확인 후 cache 확인

  - DNS server는 root hint를 참조하여 root domain에 FQDN을 문의

3)

  - root domain은 FQDN을 확인하고 해당 주소에 포함된 top-level domain의 IP를 반환

4)

  - DNS server는 반환 받은 top-level domain으로 찾아가서 FQDN을 문의

5)

  - top-level domain은 FQDN을 확인하고 해당 주소에 포함된 second-level domain의 IP를 반환

6)

  - DNS server는 반환 받은 second-level domain으로 찾아가서 FQDN을 문의

7)

  - 자신의 record 중에 FQDN에 포함된 nameserver가 있는지 확인하고 있다면 그 record에 매핑된 IP를 반환

 

8)

  - IP를 받은 DNS server는 자신의 cache에 해당 내용을 저장한 후 client에게 데이터 전달

  - client는 DNS server가 알려준 IP address를 cache에 저장하고 장치를 해당 IP로 연결

 

'Linux' 카테고리의 다른 글

주, 보조 DNS + VirtualHost  (0) 2022.10.09
DNS + HTTP  (0) 2022.10.09
FTP-passive mode  (0) 2022.10.05
firewall 정리  (0) 2022.10.04
FTP-active mode  (0) 2022.10.04