본문 바로가기
CS

DNS(Domain Name Server), 네임서버란?

by LasBe 2022. 7. 13.
반응형

⚡️DNS란?


흔히 예를들어 구글을 검색창에 입력할 때 대부분 google.com  처럼 도메인 주소를 검색합니다.

 

그런데 표면적으로는 도메인 주소만으로 구글에 접속하는 것처럼 보이지만

모든 웹사이트의 호스팅 서버는 IP 주소가 할당되어 있고

이 실질적인 주소인 IP 주소로 접속하기 위해 DNS서버를 거치며 도메인 주소로 IP 주소를 얻어 접속하게 됩니다.

 

그러나 도메인만으로 접속할 수 있는 것은 아니고 142.250.196.142를 주소창에 넣어 검색 시

구글로 이동하는 것처럼 IP 주소로도 웹 사이트에 방문할 수 있고,

도메인을 알고 있다고 해도 최종적으로는 IP 주소를 알고 있어야 접속할 수 있습니다.

 

즉, DNS(네임서버)는 도메인 주소와 IP 주소 간 이어주는 하나의 시스템입니다.


📌 URL과 도메인의 차이점

흔히 웹 주소를 URL이라고 표현합니다.

 

이 URL과 도메인의 차이점은 다음과 같습니다.

 

제 블로그 URL인 https://lasbe.tistory.com/107를 예로 들면

  • Protocol : https
  • SubDomain : www
  • Doamin : lasbe.tistory.com
  • Directories : 107

이렇게 분리할 수 있습니다.

 

 

 

⚡️DNS의 구조


DNS의 역트리 구조는 정점인 루트를 포함해 4단계로 나뉩니다.


📌 루트(Root)

DNS 트리 구조의 정점에 있는 서버로서 최상위도메인(TLD) 서버의 주소를 저장하고 안내하는 역할을 합니다.


📌 1단계 도메인 / 최상위도메인(Top Level Domain)

1단계 도메인인 최상위도메인은

국가를 나타내는 국가 코드 도메인(country code Top Level Domain)

등록인의 목적에 따라 사용되는 일반 도메인(generic Top Level Domain)으로 나뉩니다.


📌 2단계 도메인 / Authoritative DNS

실제 도메인의 IP 주소가 기록되는 서버이며 일반적으로 호스팅 업체의 네임서버를 뜻합니다.


📌 3단계 도메인 / Recursive DNS

클라이언트의 요청을 받고 해당 도메인의 정보를 캐시된 데이터로 응답하거나

캐시된 데이터가 없을 경우 위의 네임서버에 요청을 전달하는 역할을 합니다.

 

일반적으로 통신사에서 제공하는 ISP(Internet Service Provider) DNS 서버가 있습니다.

 

 

 

⚡️DNS 동작 과정


위와 같이 google.com을 검색했을 때를 가정하여 설명하겠습니다.

 

  1. 주소창에 google.com을 검색합니다.
  2. 브라우저가 이전 기록을 토대로 구글을 방문했었는지 확인합니다.
    - 브라우저 캐시 확인
    - OS 캐시 확인
    - 라우터 캐시 확인
    - ISP 캐시 확인
  3. 요청한 주소가 캐시에 없을 경우 ISP DNS가 Root 서버에 어디로 가야하는지 요청합니다.
  4. Root 서버는 .com 도메인을 확인하고 com 도메인을 관리하는 TLD를 안내하고
    ISP 서버는 com을 관리하는 서버에게 경로를 요청합니다.
  5. com 서버는 google.com을 관리하는 Authoritative DNS 서버를 알려주고
    ISP 서버는 google.com을 관리하는 서버에 요청합니다.
  6. google.com을 관리하는 서버는 IP 주소가 142.250.196.142라는 것을 알려줍니다.
  7. IP 주소를 최종적으로 확인한 ISP 서버는 해당 IP 주소를 캐싱하고 브라우저에 전달합니다

3번부터 6번까지의 검색(Root -> TLD -> Authoritative DNS)을 Recursive Search라고 부르며,

IP 주소를 찾을 때까지 반복하던가 에러가 발생할 때까지 반복합니다.

 

복잡해보이지만 결국엔

방문했는지 확인 -> 방문 기록 없으면 Root -> TLD -> Authoritative DNS

순으로 요청 응답을 반복하는 단순한 과정입니다.

반응형

'CS' 카테고리의 다른 글

전송계층의 프로토콜 TCP vs UDP  (2) 2022.07.07
HTTP의 구조  (0) 2022.03.05
SSH(Secure Shell Protocol)에 대해  (0) 2022.03.02
기본 자료구조에 대해  (0) 2022.02.20

댓글


오픈 채팅