Skip to content

Latest commit

 

History

History
45 lines (30 loc) · 3.82 KB

강민성.md

File metadata and controls

45 lines (30 loc) · 3.82 KB

DNS

  • 호스트의 도메인 네임(www.naver.com)을 네트워크 주소(192.2.168.1.0)로 변환하거나, 네트워크 주소를 도메인 네임으로 변환하는 시스템
  • 원래는 IP 주소로 브라우저에게 제공하면 해당 서버에서 홈페이지를 제공하는 식으로 웹이 동작하지만, IP 주소는 매우 복잡하여 사람이 외우기 힘들다.
  • 별명을 지어 정리하고 접근하게 쉽게 하는 시스템이라고 생각하면 된다.
image

DNS 작동 원리

전세계에 도메인 수가 너무 많기 때문에 DNS 서버 종류를 계층화해서 단계적으로 처리한다.

image
  1. 웹 브라우저에 www.naver.com 을 입력하면 먼저 PC에 저장된 **Local DNS(기지국 DNS 서버)**에게 "www.naver.com"이라는 hostname"에 대한 IP 주소를 요청한다.
    • 만일 예전에 네이버에 접속했던 전적이 있다면, Local DNS에 접속 정보가 캐싱이 되어 있어 바로 PC에 IP 주소를 주고 끝난다. (1 → 8)
  2. Local DNS는 이제 "www.naver.com 의 IP 주소"를 찾아내기 위해 다른 DNS 서버들과 통신(DNS 쿼리)을 시작한다.
    • 가장 먼저 Root DNS 서버에게 요청한다.
  3. Root DNS 서버 는 "www.naver.com 의 IP 주소" 를 찾을 수 없어 Local DNS 서버에게 "www.naver.com 의 IP 주소 찾을 수 없다고 다른 DNS 서버에게 물어봐" 라고 응답을 한다.
  4. 이제 Local DNS 서버는 com 도메인을 관리하는 TLD DNS 서버(최상위 도메인 서버)에 다시 www.naver.com에 대한 IP 주소를 요청한다.
  5. com 도메인을 관리하는 DNS 서버에도 해당 정보가 없으면, Local DNS 서버에게 "www.naver.com 의 IP 주소 찾을 수 없음. 다른 DNS 서버에게 물어봐" 라고 응답을 한다.
  6. 이제 Local DNS 서버는 **naver.com DNS 서버(Authoritative DNS 서버)**에게 다시 "www.naver.com 의 IP 주소" 를 요청한다.
  7. naver.com DNS 서버 에는 "www.naver.com 의 IP 주소" 가 있다. 그래서 Local DNS 서버에게 "www.naver.com에 대한 IP 주소는 222.122.195.6" 라는 응답을 한다.
  8. 이를 수신한 Local DNS는 www.naver.com 의 IP 주소를 캐싱을 하고 이후 다른 요청이 있을시 응답할 수 있도록 IP 주소 정보를 단말(PC)에 전달해 준다.

⇒ Local DNS 서버가 여러 DNS 서버에 차례대로 (Root DNS 서버 → TLD DNS 서버(.com) → Authoritative DNS 서버(naver.com) 요청하여 그 답을 찾는 과정을 재귀적 쿼리 Recursive Query


DNS Cache

  • "www.naver.com" 의 IP주소를 성공적으로 받아 왔고, 몇 분 후 다시 "www.naver.com"에 방문하려고 했을 때, 또다시 위와 같은 복잡한 과정을 반복해서 IP 주소를 받아올까?
  • 너무 비효율적이기 때문에 PC에는 DNS Cache라는 Cache를 활용해 Cache안에 자주쓴는 Domain Name 주소를 저장해 놓는다.

용어 정리

  • Local DNS : 인터넷을 사용하기 위해서 IP를 해당해주는 통신사
  • Root DNS : 인터넷의 도메인 네임 시스템의 루트 존 (ICANN이 직접 관리하는 절대 존엄 서버로, TLD DNS 서버 IP들을 저장해두고 안내하는 역할)
  • TLD : 최상위 도메인, 도메인 등록 기관(Registry)이 관리하는 서버로, 도메인 네임의 가장 마지막 부분을 말한다. 예를들어 웹사이트에서 한번쯤은 봐왔던 .com 이나 co.kr 같은 도메인들을 관리하고 부여하는 서버이다.
  • Authoritative DNS Server : 실제 개인 도메인과 IP 주소의 관계가 기록/저장/변경되는 서버