DNS

❗️DNS란?

웹 사이트에 접속하기 위해서는 브라우저가 사이트를 제공하는 서버에 데이터를 요청해서 받아야와야 한다.

그러기 위해서는 서버의 IP 주소가 필요한데, IP 주소는 외우기 힘들기 때문에 외우기 쉬운 도메인으로 접속을 한다.

도메인들의 정보들이 저장되어 있는 곳이 바로 DNS이다.

  • Domain Name System
  • 도메인 이름과 IP 주소에 대한 정보를 관리하는 시스템
  • 도메인 이름 -> IP 로 변환해주는 기능 제공
  • 따라서 사용자는 IP 주소를 몰라도 됨

www.naver.com에서 www는 host  name이고 naver.com이 도메인에 해당한다.


❗️DNS 계층 구조

하나의 서버가 모든 주소를 관리하기에는 무리가 있으므로 도메인을 계층적으로 관리해 서버를 분리한다.

  • Root DNS Server: 루트 네임 서버로, 가장 최상위에 위치한 DNS 서버이다.
    전세계에 13개 존재한다.
  • TLD DNS Server: TLD 네임 서버로, Root DNS 서버 바로 아래에 위치한다.
    top-level 도메인 별로 존재하는 DNS 서버이고, authoritative DNS 서버의 IP 주소를 제공하는 역할을 한다.
  • Authoritative DNS Server: 실제 우리가 요청한 도메인에 대한 IP 주소를 매핑해주는 DNS 서버이다.
    google.com 뿐만 아니라, www.google.com, play.google.com 등 google.com의 서브 도메인에 대한 IP 주소들도 모두 저장되는 곳이다.
  • Local DNS Server: 통신사에서 제공하는 서버로, 클라이언트와 직접적으로 통신하고 네임서버와 통신하기 위해 존재한다.
    일반적으로는 DNS 계층에 포함되지 않지만 중요한 역할을 하는 서버이다.

❗️DNS 동작 과정

아래의 사진은 google.com에 접속하는 예시이다.

  1. 브라우저에서 로컬 DNS 서버로 IP를 요청한다.
    로컬 DNS 서버의 캐시를 확인한 후, 캐시에 존재한다면 바로 반환해주고 존재하지 않는다면 Root DNS 서버의 IP 주소를 넘겨준다.
  2. Root DNS 서버에게 다시 IP 주소를 요청한다.
  3. Root DNS 서버는 TLD DNS 서버의 IP 주소를 넘겨준다.
  4. TLS DNS 서버에게 다시 IP 주소를 요청한다.
  5. TLS DNS 서버는 Authoritative DNS 서버의 IP 주소를 넘겨준다.
  6. Authoritative DNS 서버에게 다시 IP 주소를 요청한다.
  7. 서브 도메인 서버는 IP 주소를 넘겨준다.
  8. 서브 도메인 서버에게 받은 IP 주소를 브라우저에게 반환해주면 비로소 접속이 가능해지는 것이다.

 

위의 과정에서 클라이언트와 로컬 DNS 통신에 사용되는 쿼리를 Recursive Query라고 한다.

Recursive Query는 요청과 응답하는 과정을 포함하는 실제 반환 결과 값이다.

 

로컬 DNS 서버와 Root DNS, TLD DNS, Authoritative DNS 서버 간 통신에 사용퇴는 쿼리를 Iterative Query라고 한다.

Iterative Query는 반복적으로 쿼리를 보내서 IP 주소를 알아낸 후, 로컬 DNS에게 IP 주소를 전달해준다.


❗️DNS 레코드 

DNS 레코드란 도메인 이름에 대한 IP 주소 매핑 정보를 담고 있는 곳이다.

대표적인 타입 중 A와 CNAME에 대해 알아보자.

 

- Type A

A는 "Address"로 IP 주소를 의미한다. 

도메인을 서버의 IP로 직접 연결하는 것이다.

IP로 직접 연결하는 것이여서 접속이 빠르다는 장점이 있다.

도메인 타입 값/위치
ex.com A 100.100.123.1
www.ex.com A 100.100.123.1

 

- Type CNAME

도메인을 별칭과 연결해준다.

IP가 유동적으로 변하는 서버의 경우, 별칭을 연결해주면 별칭의 IP 주소만 바꾸면 된다.

한 군데를 더 거친다는 단점이 있다.

하지만 변경에 유동적이라는 장점이 있다.

도메인 타입 값/위치
www.ex.com CNAME ex.com
ex.com A 100.100.123.1

 

 

만약 100.100.123.1의 IP 주소가 100.100.123.2로 변경된다면

Type A의 경우 ex.com과 www.ex.com  두 개의 IP 주소를 바꿔줘야 하지만,

Type CNAME의 경우에는 ex.com의 하나의 IP 주소만 바꿔주면 된다.


 

도메인을 구매해서 사용하고 싶다면 후이즈나 가비아(국내) 또는 GoDaddy(해외) 업체에서 구매해서 사용할 수 있다고 한다!

'WEB' 카테고리의 다른 글

HTTP vs TCP  (0) 2024.06.24
CDN  (0) 2024.06.17
HTTP/HTTPS  (0) 2024.06.10
JWT Token(+로그인)  (5) 2024.05.07
PWA란?  (0) 2023.05.14