솔솔

[네트워크] DNS(Domain Name System)란 본문

나의보물들/네트워크

[네트워크] DNS(Domain Name System)란

솔솔하네 2025. 1. 3. 16:18
반응형

🍀 DNS(Domain Name System)란?


네트워크 통신에서 IP 주소를 사람이 이해하기 쉬운 도메인 이름으로 매핑해주는 서비스.

예를 들어, 네이버에 접속하려면 네이버 서버의 IP 주소로 연결해야 하지만, 우리는 IP 주소를 외우지 않고 naver.com이라는 문자로된 주소를 사용한다. DNS는 문자 형태의 도메인 주소를 해당 IP 주소로 변환하여 네이버 서버와 연결되도록 도와준다. 이를 통해 우리는 복잡한 IP 주소를 기억하지 않아도 쉽게 원하는 웹사이트에 접속할 수 있다.

 

 

🍀 도메인의 종류 


made in 솔솔 불펌금지

 

  • 루트 도메인 (Root Domain) : DNS 계층의 최상단을 의미하며, "."로 표시되며 보통 생략, 모든 도메인의 끝에 존재.
  • 최상위 도메인 (Top-Level Domain, TLD) : 루트 도메인 바로 아래에 위치하며, 도메인의 종류를 나타냄. (예: .com, .net, .org, .kr)
  • 2차 도메인 (Second-Level Domain, SLD) : TLD 바로 아래에 위치하며, 도메인의 주된 이름을 나타냄.
  • 서브 도메인 (Subdomain) : SLD 앞에 추가되어 특정 하위 영역을 나타냅니다.

 

🍀 DNS의 종류 


1. 루트 네임서버 (Root Name Server)

  • 역할: DNS 계층에서 가장 상위에 위치한 서버로, DNS 해석을 시작하는 첫 번째 단계.
  • 기능: 루트 네임서버는 도메인 이름을 최상위 도메인(TLD) 서버로 전달하는 역할을 함. 예를 들어, .com, .net, .org와 같은 TLD를 관리하는 서버로 요청을 보냄.
  • : 전 세계에 13개의 루트 네임서버 클러스터가 있으며, 각 서버는 여러 복제본을 가잠.
  • 예시: . (루트 도메인) → .com, .net 등으로 이동.

2. TLD (Top-Level Domain) 네임서버

  • 역할: 최상위 도메인(TLD)을 관리하는 서버.
  • 기능: 루트 네임서버에서 받은 요청을 해당 TLD의 네임서버로 전달하여, 도메인의 정확한 위치를 찾음. 예를 들어, .com TLD 네임서버는 example.com에 대한 정보를 찾음.
  • 예시: example.com → .com TLD 네임서버로 요청 전달 → example.com의 권한 있는 네임서버로 전달.

3. SLD (Second-Level Domain) 네임서버

  • 역할: 특정 도메인의 2차 도메인(SLD)을 관리하는 네임서버.
  • 기능: TLD 네임서버에서 받은 요청을 해당 도메인 이름의 권한 있는 네임서버(Authoritative DNS Server)로 전달함. 권한 있는 네임서버는 도메인의 실제 IP 주소와 같은 정보를 제공함.
  • 예시: example.com의 권한 있는 네임서버는 ns1.example.com일 수 있음.

4. DNS 해석기 (DNS Resolver)

  • 역할: 사용자가 입력한 도메인 이름을 IP 주소로 변환하는 클라이언트 측 DNS 서버.
  • 기능: DNS 해석기는 도메인 이름을 해석하여 해당 IP 주소를 찾는 과정에서 여러 DNS 서버와 상호작용함. 일반적으로, 사용자의 컴퓨터나 ISP(인터넷 서비스 제공자)가 제공하는 DNS 서버가 이 역할을 함.
    1. 사용자가 웹사이트 주소를 입력하면, DNS 해석기는 먼저 로컬 캐시에서 해당 정보를 찾음.
    2. 로컬 캐시에 정보가 없다면, 루트 네임서버TLD 네임서버SLD 네임서버 순으로 요청을 전달함.
    3. 최종적으로 권한 있는 네임서버에서 IP 주소를 받아 사용자에게 반환함.

 

🍀 통신 흐름


사용된 아이콘  이미지: flaticon.com'. 이 커버는 Flaticon.com의 자료를 사용해 디자인되었습니다

 

1. 사용자가 웹 브라우저에 mail.naver.com을 입력하면 브라우저는 먼저 로컬 DNS 해석기(예: ISP 제공 DNS 서버)에 mail.naver.com에 대한 IP 주소를 요청.

 

1-1. DNS 해석기는 로컬 캐시를 확인하여 이전에 조회된 정보가 있는지 확인.

    캐시된 정보 있음: 캐시된 IP 주소를 바로 반환.

    캐시된 정보 없음: DNS 해석기는 DNS 서버에 질의를 보냄.

 

2. DNS 해석기(DNS Resolver)에 캐시된 정보가 없으면, 루트 네임서버에 요청을 보냄.

 

3. 루트 네임서버는 최상위 도메인(TLD) 서버의 위치 정보를 제공. (예: mail.naver.com → .com TLD 네임서버로 요청을 전달)

 

4.  DNS 해석기(DNS Resolver)는 .com TLD 네임서버에 요청을 보냄.

 

5. .com TLD 네임서버는 naver.com에 대한 정보를 관리하는 권한 있는 네임서버의 위치를 알려줌. (예: naver.com → ns1.naver.com과 같은 권한 있는 네임서버로 요청을 전달)

 

6. DNS 해석기(DNS Resolver)는 naver.com의 권한 있는 네임서버(예: ns1.naver.com)에 요청을 보냄.

 

7. 권한 있는 네임서버는 mail.naver.com에 대한 IP 주소를 반환. (예: mail.naver.com → 123.123.123.123)

 

8. DNS 해석기(DNS Resolver)는 해당 IP 주소를 사용자에게 반환.

 

9. 브라우저는 이 IP 주소를 사용하여 mail.naver.com 서버에 직접 연결.

 

10. mail.naver.com 서버가 요청받은 자원을 반환.

 

 

 

 

 

🔹 참고 서적 및 자료

1. AWS 교과서 (출판사 길벗)

2. https://www.cloudflare.com/ko-kr/learning/dns/dns-server-types/

3. Chat GPT

'나의보물들 > 네트워크' 카테고리의 다른 글

라우터란?  (0) 2024.08.25
스위치란?  (0) 2024.08.25
Cisco Packet Trace 다운로드 및 Cisco IOS Sotfware Modes  (0) 2024.08.25