DNS 기초 정리

Sb_chi·2025년 4월 29일
post-thumbnail

🔍 Intro

 웹사이트에 접속할 때 도메인 주소를 입력하면, 실제 서버의 IP 주소로 연결되는데, 
 
 도메인과 IP를 연결해주는 역할을 하는 것이 DNS다.
 
 AWS에서는 이런 DNS 기능을 제공하는 서비스도 운영하고 있고,
 
 이번 글에서는 AWS에 대해 제대로 공부하기 전, DNS의 기본 개념들과 구조를 간단히 정리해보자

DNS ?

사람이 읽을 수 있는 도메인 이름을 머신이 읽을 수 있는 IP주소로 변환하는 시스템

DNS 주요 개념

    - 도메인 : 대상의 IP 주소등의 정보와 맵핑되는, 사람이 알아볼 수 있는 문자열
    
    	- 서브도메인 : 도메인 중 스트링 앞에 추가 문자열이 붙은 도메인 ex) a.example.com -> (a)
        
        - APEX도메인(Zone Apex, Root Domain...) : 도메인 중 앞에 추가 문자열이 없는 순수한 최상위 도메인 
        ex) example.com -> (example)
        
        - 레코드  (DNS Record) : 도메인이 어떤 방식으로 데이터와 매칭되는지 정의하는 기록  ( 주소록의 역할 )
        
            1. A 레코드
            설명: 도메인 이름을 IPv4 주소에 매핑
            ex)
            example.com → 192.0.2.1
            
            2. AAAA 레코드
            설명: 도메인 이름을 IPv6 주소에 매핑
            ex)
            example.com → 2001:0db8:85a3:0000:0000:8a2e:0370:7334
            
            3. CNAME 레코드
            설명: 도메인 이름을 다른 도메인 이름에 매핑
            ex)
            www.example.com → example.com
            
            4. MX 레코드
            설명: 이메일 서버를 정의
            ex)
 			example.com → mail.example.com
            
		- Domain Zone : 도메인 정보를 담은 레코드 모음
        
        - Zone File : Domain Zone 정보를 저장한 텍스트 파일
        
        - DNS Query : 주어진 도메인에 해당하는 정보를 요청하는 쿼리
        ex) example.com이 어떤 IP주소를 가지고 있니? 요청하는 행동
        
          Name Server : DNS Query를 Zone File을 기반으로 응답할 수 있는 서버
          Authoritative Server : DNS 정보의 원본을 가지고 있는 가장 최상위 NS 서버
          None-Authoritative Server : Authoritative NS Server를 조회하여 
                                      정보를 보관하고 있거나 응답하는 서버
                                    
		  DNS Resolver : 사용자와 NS 서버 사이에 위치한 서버로 
          				 실제 유저의 요청에 따라 IP주소등의 정보를 확보하는 서버                                      

DNS의 구성

DNS는 계층 구조?

	- 최상위 도메인부터 차례대로 계층구조로 구성되어 있음
    
    - 실제 레코드는 가장 마지막 계층에서 관리(보관 및 처리)

도메인은 . 단위로 상위 레벨로 올라간다는 의미

즉 계층구조로 상위 계층에 하나씩 올라가면서 마지막에 내가 원하는 도메인의 NS서버에 도달해야지만 원하는 정보를 얻을 수 있는 구조이다.

DNS의 계층 구조

  1. DNS Root
	- DNS 계층 구조의 최상위 레벨 (DNS Query 수행 시 최초로 조회하는 거점)
    
    - 다음 단계인 TLDs(Top Level Domain)의 Zone file을 가진 NS서버의 주소 정보 보유
    
    - Root Hints File
    
          - DNS Root의 주소를 담은 파일

          - 각 DNS Resolver에 하드코딩되있다.
          

도메인 조회 과정

도메인 조회는 탑레벨 도메인부터 실제 IP까지 점점 구체적인 정보로 내려가는 계층적 구조를 따른다.

도메인은 어떻게 생겼을까?

예시) www.example.com

com: 탑레벨 도메인 (TLD)

example: 세컨드 레벨 도메인 (SLD)

www: 서브도메인

🔍 도메인 조회

1. 브라우저 → 로컬 DNS 캐시 확인

컴퓨터가 내 컴퓨터, 공유기 안의 캐시에 도메인 정보가 있는지 확인하고,

있으면 IP 주소 반환, 없으면 다음 단계로 넘어간다.

2. 로컬 DNS 서버(보통 ISP)로 요청
인터넷 제공업체(ISP)의 DNS 서버에 example.com이 뭔지 물어보고,
여기도 정보가 없으면, DNS 서버가 직접 루트 네임서버로 요청

3. 루트 네임서버 → TLD 네임서버 안내
루트 네임서버는 요청을 받고,.com을 관리하는 서버에게 물어보고,
.com TLD 네임서버의 주소를 알려준다.

4. TLD 네임서버 → SLD 네임서버 안내
.com TLD 네임서버는 example.com을 담당하는 네임서버(NS) 정보를 알려준다.

ex)
ns1.exampledns.com
ns2.exampledns.com

5. 권한 네임서버(NS) → 실제 IP 주소 반환

브라우저는 이제 ns1.exampledns.com에 접속해서 www.example.com의 IP 주소를 묻는다.

권한 있는 네임서버는 최종적으로 IP 주소를 반환

www.example.com = 192.0.2.10


💡 결론

[브라우저]
↓ 요청 (예: www.example.com)
[운영체제의 DNS 캐시]
(없으면)
[로컬 DNS 서버 (ISP나 회사의 DNS)]
(없으면 재귀 질의 시작)
[루트 네임서버] → .com 어디 있는지 알려줌

[TLD 네임서버 (.com)]

[권한 네임서버 (예: ns1.exampledns.com)]

[최종 IP 응답: 93.184.216.34]

0개의 댓글