NullNull

Domain Name System 본문

Computer Science

Domain Name System

KYBee 2022. 11. 29. 14:47

Domain Name System

  • 계층구조를 가지는 분산 데이터베이스(DNS Server)를 이용하여 숫자로 구성된 IP 주소를 실제 문자열로 해석해주는 역할을 함
  • 네트워크 Application 계층에서 동작하는 서비스

 

DNS 역할

  • IP 주소와 도메인 네임을 매핑
    • 사용자가 입력하는 문자열에 해당하는 서버의 실제(IP) 주소를 돌려줌
  • 서버의 부하 분산
    • 하나의 도메인 네임에 여러 개의 IP 주소를 연결함
    • DNS Round Robin Load Balancing
      • 도메인 질의 Query를 입력받는 경우, 그 도메인에 등록된 여러 개의 IP 리스트 중에서 라운드 로빈 방식으로 사용자에게 한 개의 IP를 리턴하여 알려주는 방식
      • 여러 사용자가 다수의 웹 서버에 나누어 접속하게 되면서 서버의 부하가 분산됨

 

DNS 계층 구조

  • Root DNS Server (루트 DNS 서버)
  • TLD Server (Top Level Domain 서버)
  • Authoritative DNS Server (책임 DNS 서버)
  • Local DNS Server (로컬 DNS 서버) - default name server

이렇게 분산하여 계층화 한 이유? 왜 하나의 DNS 서버가 아니라 여러개인지?

  • 하나의 서버로 DNS 서비스를 구현한다면 다양한 문제가 발생한다.
    • DNS 서버가 다운 되는 경우, 모든 서비스가 멈춘다.

 

DNS 질의 종류

1. Recursive Query

  • 클라이언트에 최종 결과값을 반환
  • 클라리언트의 도메인 네임 질의 요청을 네임서버가 직접 탐색하여 결과값을 반환

 

2. Iterative Query

  • 자신이 직접 관리하지 않는 질의 요청이 있는 경우 질의에 응답 가능한 네임서버 목록을 응답
  • 응답받은 네임서버로 다시 질의를 요청하여 결과를 받음

 

DNS 동작 과정

  1. 우선 사용자가 웹 브라우저에 www.example.com을 입력한다.
  2. 클라이언트는 local DNS server에 recursive 질의를 하여 local server의 캐시에 www.example.com에 대한 매핑이 있는지 확인한다. (없다고 가정)
  3. local DNS 서버는 www.example.com에 대한 정보가 없으므로 iterative 질의를 다른 Name Server (Root, TLD, Authoritative)로 전송하여 결과를 응답한다.
  4. local DNS 서버는 www.example.com과 아이피를 캐싱하고 클라이언트에게 돌려준다.
  5. 클라이언트는 응답으로 받은 IP 주소를 통해 실제 서버와 통신한다.
Comments