ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Network] DNS 동작 원리
    CS/Network 2021. 9. 29. 12:51

    DNS (Domain Name System)

    DNS는 호스트의 도메인 이름호스트의 네트워크 주소(IP)로 바꾸거나 그 반대의 변환을 수행하는 시스템이다.

    • 분산 데이터베이스를 사용한다.
    • 계층 구조를 가지고 있다.

    DNS 서버는 네 가지 카테고리, 즉 Local DNS name server, Root dns server, Top-level domain(TLD) server, Authoritative DNS server로 분류된다. 캐싱이 없는 일반적인 DNS 조회에서는 이 네 가지 DNS 서버가 함께 작동하여 지정된 도메인의 IP주소를 클라이언트에게 전달하는 작업을 완료한다.

    출처: Computer Networking: A Top-Down Approach

    Root DNS server

    Root DNS server는 요청받은 쿼리의 도메인의 확장자(.com, .net, .org ...)에 따라 TLD server의 정보를 반환한다.

     

    Top-level domain server

    TLD server는 .com, .net과 같이 URL의 마지막 점 뒤에 오는 도메인 확장자를 공유하는 모든 도메인 이름의 정보를 가지고 있다. TLD server는 요청받은 쿼리에 따라 Authoritative DNS server의 정보를 반환한다.

     

    Authoritative DNS server

    Authoritative DNS server는 보통 조직이 소유하는 DNS server로 호스트 네임을 IP 주소로 제공하는 역할을 한다.

     

    Local DNS server

    Local DNS server는 ISP(residential ISP, 회사, 학교 등) 내에 하나 이상 가지고 있다. 클라이언트가 보낸 DNS 쿼리를 Local DNS server가 대신해서 처리해 IP 주소를 클라이언트에게 전달한다.

     

    DNS 동작 원리

    출처: https://www.netmanias.com/ko/post/blog/5353/dns/dns-basic-operation

    Iterated query

    1. 호스트가 웹 브라우저에 www.naver.com을 입력하면 먼저 Local DNS에게 www.naver.com이라는 hostname에 대한 IP 주소를 요청한다. (호스트 → Local DNS server)
    2. Local DNS는 요청에 대한 DNS 쿼리를 만들어 Root DNS에게 전달한다. (Local DNS server → Root DNS server)
    3. Root DNS는 .com에 해당하는 TLD server의 IP 주소를 담은 DNS Response를 반환한다. (Root DNS server → Local DNS server)
    4. Local DNS는 .com TLD server의 IP 주소를 캐싱하고 DNS 쿼리를 다시 .com TLD server에게 전달한다. (Local DNS server → TLD server)
    5. .com TLD server는 naver.com에 해당하는 Authoritative server의 IP 주소를 담은 DNS Reponse를 반환한다. (TLD server → Local DNS server)
    6. Local DNS는 naver.com Authoritative server의 IP를 캐싱하고 DNS 쿼리를 다시 naver.com Authoritative server에게 전달한다. (Local DNS server → Authoritative server)
    7. naver.com Authoritative server는 hostname에 매핑되는 IP 주소를 담아 DNS Reponse를 반환한다. (Authoritative server → Local DNS server)
    8. Local DNS는 hostname에 대한 IP 주소를 캐싱하고 IP 주소를 호스트에게 반환한다. (Local DNS server → 호스트)

     


    Reference

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

    https://www.netmanias.com/ko/post/blog/5353/dns/dns-basic-operation

     

    'CS > Network' 카테고리의 다른 글

    [Network] Dynamic Host Configuration Protocol(DHCP)  (0) 2021.12.11
    [Network] IP 주소 체계와 Subnet  (0) 2021.12.11
    [Network] HTTP vs HTTPS  (0) 2021.09.29
    [Network] TCP vs UDP  (0) 2021.09.28
    [Network] TCP 연결과 해제  (0) 2021.09.28

    댓글

Designed by Tistory.