본문 바로가기

Frontend

[Frontend_Roadmap] DNS 작동원리

DNS, 도메인 네임 시스템은 인간이 식별할 수 있는 도메인 이름으로 IP주소를 찾아주는 시스템이다.

 

그럼 DNS는 어떻게 IP 주소를 찾아서 브라우저에게 알려주는 것일까?

 

DNS 조회 8단계

  1. 사용자가 웹 브라우저에 도메인 이름을 입력하면, 쿼리가 인터넷으로 전달되고 DNS 리커서가 이를 확인합니다. 
  2. DNS 리커서가 DNS 루트 서버를 쿼리합니다.
  3. 루트 서버는 최상위 도메인(TLD) 서버의 주소를  DNS 리커서에게 응답합니다.
  4. DNS 리커서가 TLD에 요청을 합니다.
  5. TLD 서버가 도메인 이름 서버의 IP 주소로 응답합니다.
  6. DNS 리커서가 이를 받아서 도메인 이름 서버로 쿼리를 보냅니다.
  7. 이제 도메인 이름이 IP 주소가 이름 서버에서 DNS 리커서에게 반환됩니다.
  8. DNS 리커서가 IP 주소를 받아서 웹 브라우저에 응답합니다.

DNS 조회 8단계를 거쳐 도메인 주소에 할당된 IP 주소가 반환되면 웹 브라우저가 웹 페이지를 요청할 수 있습니다. 브라우저가 IP 주소로 HTTP 요청을 보냅니다. 해당 IP 서버가 브라우저에 렌더링할 웹 페이지를 반환합니다.

 

DNS 시스템 작동원리

 

DNS 캐싱

캐싱의 목적은 데이터를 임시 저장하여, 데이터 요청에 대해 성능과 신뢰성을 높이는 것입니다. DNS 캐싱은 요청하는 클라이언트와 가까운 곳에 데이터를 저장함으로써, DNS 쿼리를 조기에 확인할 수 있고 DNS 조회 체인의 추가 쿼리를 피할 수 있어 로드시간이 향상되고 대역폭 및 CPU 소비가 줄어듭니다. DNS 데이터는 다양한 위치에 캐시될 수 있으며, 각 위치는 TTL(Time-To-Live)에 의해 정의된 설정 시간 동안 DNS 레코드를 저장합니다.

 

캐싱에는 크게 브라우저 캐싱과 OS(운영체제) 캐싱이 있습니다. 최신 브라우저는 기본적으로 정해진 시간 동안 DNS 레코드를 캐시하도록 설계되었습니다. 또한 운영 체제 수준 DNS 확인자는 DNS 쿼리가 컴퓨터를 떠나기 전의 두번째 중단점이며 로컬에 있는 마지막 중단점입니다. 애플리케이션의 요청을 받으면 자체 캐시를 검사하여 레코드의 존재를 확인하고 없으면 ISP 에게 DNS 리커서를 보냅니다.

 

참조: https://www.cloudflare.com/en-gb/learning/dns/what-is-dns/

 

참조: https://howdns.works/

 

How DNS works. What is DNS? Learn how step by step.

Learn what is the domain name system (DNS) that brings computers and IP addresses together when you type a website address in your browser with our webcomic.

howdns.works

 

참조: https://www.youtube.com/watch?v=Wj0od2ag5sk