별의 공부 블로그 🧑🏻‍💻
728x90
728x170

28. DNS

1. DNS(Domain Namer Service)

(1) DNS 개요

  • 인터넷 네트워상에서 컴퓨터의 이름을 IP 주소로 변환하거나 해석하는 데 사용되는 분산 네이밍 시스템
  • www.naver.com이라는 URL 주소에 대해서 IP 주소를 알려주는 서비스
  • DNS를 간단하게 확인하는 방법
    • nslookup 도구 사용
> nslookup www.naver.com
서버:    kns.kornet.net
Address:  168.126.63.1

권한 없는 응답:
이름:    www.naver.com.nheos.com
Addresses:  125.209.222.141
          223.130.195.95
Aliases:  www.naver.com

 

(2) DNS 해석 과정

  • DNS는 먼저 DNS Cache 테이블에서 이름을 해석함.
> ipconfig /displaydns

Windows IP 구성

    www.gstatic.com
    ----------------------------------------
    데이터 이름 . . . . . : www.gstatic.com
    데이터 유형 . . . . . : 1
    TTL(Time To Live) . : 40
    데이터 길이 . . . . . : 4
    섹션 . . . . . . . : 응답
    (호스트) 레코드 . . . : 142.250.196.99


    데이터 이름 . . . . . : ns1.google.com
    데이터 유형 . . . . . : 1
    TTL(Time To Live) . : 40
    데이터 길이 . . . . . : 4
    섹션 . . . . . . . : 추가
    (호스트) 레코드 . . . : 216.239.32.10


    데이터 이름 . . . . . : ns2.google.com
    데이터 유형 . . . . . : 1
    TTL(Time To Live) . : 40
    데이터 길이 . . . . . : 4
    섹션 . . . . . . . : 추가
    (호스트) 레코드 . . . : 216.239.34.10
...
  • 만약 DNS Cache 테이블에 없으면, hosts 파일을 사용해서 이름을 해석함.
C:\Windows\System32\hosts

hosts

# Copyright (c) 1993-2009 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
#      102.54.94.97     rhino.acme.com          # source server
#       38.25.63.10     x.acme.com              # x client host

# localhost name resolution is handled within DNS itself.
#    127.0.0.1       localhost
#    ::1             localhost
  • hosts 파일에서도 해당 URL에 대한 IP 주소가 없으면 DNS 서버에서 이름 해석을 의뢰함.
    • 이것을 순환 쿼리(Recursive Query) 라고 함.
  • DNS 서버는 DNS Cache 테이블을 유지하고 있기 때문에 DNS 서버의 Cache 테이블에 등록되어 있으면 바로 IP 주소를 DNS Response 메시지로 전달함.
  • 만약 DNS가 이름을 해석할 수 없으면, 다음과 같이 Top Level 도메인부터 Second Level로 이름 해석을 의뢰함.
    • 이것을 반복 쿼리(Iterative Query) 라고 함.

 

DNS 구조

DNS 구조

  • Root Domain(.)
    • 모든 도메인의 근본이 되는 최상 Root Level Domain
  • Top Level Domain
    • .com, .org, .kr 등의 국가, 지역을 나타냄.
  • Second Level
    • 사용자가 도메인명을 신청해서 등록할 수 있는 영역

 

DNS 서비스 방식

 

(3) DNS Query의 종류

  • 순환 쿼리(Recursive Query)
    • Local DNS 서버에 Query를 보내 완성된 답을 요청함.
  • 반복 쿼리(Iterative Query)
    • Local DNS 서버가 다른 DNS 서버에 Query를 보내어 답을 요청함.
    • 외부 도메인에서 개별적인 작업을 통해 정보를 얻어와 종합해서 알려줌.

 

2. DNS Query

(1) DNS 레코드

  • DNS 서버에 요청
    • 클라이언트가 UDP로 DNS Request를 DNS Server에 전송함.
      • DNS Request를 보낼 때 type라는 필드에 요청하는 레코드의 구분자를 넣음.
        • A : IPv4 주소 요청
        • AAAA : IPv6 주소 요청
  • DNS는 UDP 53번을 사용함.
User Datagram Protocol. Src Port: 47779 (47779), Dst Port: domain (53)
  • DNS 서버는 DNS Request에 대해서 DNS Response로 응답함.
  • DNS Response는 요청한 IP 주소를 넣어서 보내줌.

 

(2) DNS 레코드 종류

종류 내용
A(Address) - 단일 호스트 이름에 해당하는 IP 주소가 여러 개 있을 수 있음.
- 각각의 동일한 IP 주소에 해당하는 여러 개의 호스트 이름이 있을 수 있음.
- 이때 사용되는 레코드가 A(Address)임.
(호스트 이름을 IPv4 주소로 매핑)
AAAA(IPv6 Address) - 호스트 이름을 IPv6 주소로 매핑
PTR(Pointer) - 특수 이름이 도메인의 일부 다른 위치를 가리킬 수 있음.
- 인터넷 주소의 PTR 레코드는 정확히 1개만 있어야 함.
- 역방향 조회 때 사용
NS(Name Server) - 도메인에는 해당 이름 서비스 레코드가 적어도 1개 이상 있어야 하며, DNS 서버를 가리킴.
MX(Mail Exchanger) - 도메인 이름으로 보낸 메일을 받도록 구성되는 호스트 목록을 지정
CNAME(Canonical Name) - 호스트의 다른 이름을 정의하는 데 사용
SOA(Start of Authority) - 도메인에 대한 권한을 갖는 서버를 표시함.
- 도메인에서 가장 큰 권한을 부여 받은 호스트를 선언
Any(ALL) - 위의 모든 레코드를 표시

 


내용 출처 : 이기적 네트워크관리사 1·2급 필기 (임호진, 황성하 공저, 영진닷컴)

728x90
그리드형(광고전용)

'Certificate > Network Manager' 카테고리의 다른 글

31. 윈도우 시스템  (0) 2021.04.25
30. DHCP(Dynamic Host Configuration Protocol)  (0) 2021.04.25
29. SNMP(Simple Network Management Protocol)  (0) 2021.04.25
29. SMTP(Simple Mail Transfer Protocol)  (0) 2021.04.25
27. FTP  (0) 2021.04.25
26. HTTP  (0) 2021.04.25
25. Telnet과 SSH  (0) 2021.04.25
24. 네트워크 접근(Network Access) 계층  (0) 2021.04.24
⚠️AdBlock이 감지되었습니다. 원할한 페이지 표시를 위해 AdBlock을 꺼주세요.⚠️
starrykss
starrykss
별의 공부 블로그 🧑🏻‍💻


📖 Contents 📖