DNS

김명주·2025년 1월 5일

네트워크 상에서 호스트를 특정지을 수 있는 주소는 MAC 주소와 IP 주소가 있다.
DNS(Domain Name System)는 인터넷의 핵심 구성 요소 중 하나로 사람이 읽을 수 있는 도메인 이름(예 : goole.com)을 컴퓨터가 이해할 수 있는 IP 주소로 변환하는 역할을 한다.
-> 사람이 기억하기 쉬운 도메인 이름과 호스트를 특정지을 주소를 매핑
즉 도메인과 IP 주소를 연결지어주는 프로토콜이 바로 DNS다.
DNS 덕분에 도메인만 가지고 특정 호스트의 IP 주소를 지칭할 수 있다.

구조

DNS 서버는 계층적 도메인 구조를 가지고 있다.

  1. Root DNS 서버
  • 구조의 맨 위에 있음
  • 루트 영역에서 작동하는 DNS 이름 서버.
  • 이러한 서버는 루트 영역 내에 저장되거나 캐시된 레코드에 대한 쿼리에 직접 응답 할 수 있으며 다른 요청을 적절한 최상위 도메인 서버(TLD)에서 참조할 수 있음
  1. TLD(Top Level DNS) DNS 서버
  • .com, .org 등의 정보를 저정하고 관리하는 DNS 서버
  • Root DNS 서버 밑에 위치하고 있다.
  1. 서브 도메인 (하위 도메인)
  • 도메인의 일부인 도메인
  • naver.com -> maps.naver.com 같은 형태
  1. Authoriative DNS 서버
  • 찾고자 하는 도메인의 IP 주소를 저장하는 최종 서버
  • www.goole.com 에서 www.goole.com 대한 최종적인 정보를 갖고 있는 DNS 서버는 www 가 된다.
  1. local DNS 서버
  • 클라이언트가 가장 먼저 찾는 DNS 서버 (DNS Resolver)

  • 클라이언트를 대신해서 Root 네임 서버부터 Authoriative DNS 서버에 이르기까지 있는 여러 도메인 서버에 질의를 하고 IP주소를 알아냈다면 클라이언트에게 IP 주소를 알려준다.

    • 클라이언트의 DNS 쿼리를 받아 처리하고 -> 필요한 경우 여러 DNS 서버에 반복적으로 쿼리를 보내고 -> 최종적으로 IP 주소를 찾아 클라이언트에게 반환
  • DNS Resolver의 작업 덕분에 클라이언트는 복잡한 DNS 조회 과정을 의식하지 않고도 도메인 이름만으로 웹사이트에 접속할 수 있다.

리눅스에서 DNS 리졸버 설정

리눅스 시스템에서 DNS Resolver 설정은 주로 /etc/resolv.conf 파일을 통해 이루어진다. 이 파일에는 사용할 DNS 서버의 IP 주수와 기타 관련 설정이 포함된다.

DNS 서버는 무엇을 저장하고 있을까?

DNS 서버는 DNS 레코드(자원 레코드) 라는 것을 저장하고 있다.
DSN 레코드 타입은 어떤 종류에 대한 자원인지를 나타낸다.

  • A 레코드 : 도메인에 대한 IPv4 주소
  • AAAA 레코드 : 도메인에 대한 IPv6 주소
  • CNAME 레코드 : 도메인에 대한 별칭
  • NS 레코드 : 네임 서버 주소
  • SOA 레코드 : 도메인에 대한 관리자 정보

DNS 캐시

방문한 도메인의 사본을 보관했다가 다음 방문시 빠르게 열 수 있도록 하는 방식과 유사하다(캐싱).
캐시는 TTL 기간동안 저장된다.

profile
개발자를 향해 달리는 사람

0개의 댓글