DNS(Domain Name System)이란?
DNS는 도메인명이나 호스트명을 ip 주소와 연결하는 역할을 하는 서버이다. 사용자가 웹사이트에 wwww.naver.com을 작성하면 기본적으로 네트워크(인터넷)은 이 주소를 이해하지 못한다. 이들은 오직 IP 주소만을 이해할 수 있다. 그래서 도메인 이름과 IP 주소를 이어주는 매개 서버가 필요한데, 이것이 DNS이다.
따라서 사용자가 웹사이트(브라우저)에 www.naver.com 쿼리를 보내면 도메인 이름은 DNS 서버로 전송된다. 그러면 DNS 서버는 이 도메인 이름에 해당하는 ip주소를 호스트로 반환해준다. 이를 기반으로 사용자는 원하는 사이트에 ip 주소를 직접 입력하지 않아도 접속할 수 있게 된다.
DNS 구성요소
- Domain Registar : GoDaddy와 같이 도메인을 판매하고 소유자 정보를 등록하는 회사
- Name Server : Cloudflare와 같이 특정 도메인의 원본을 관리하는 서버로, 실제 주소 정보(레코드)를 가지고 있다.
- DNS Records : 실제 주소 정보를 가진 각 도메인
- Recursive DNS Server : 사용자의 인터넷 제공 업체나 공용 DNS 서버로 사용자를 대신하여 네임서버를 뒤져, 최종 IP 주소를 찾아오는 역할을 한다.
작동 방식
- 사용자가 도메인 네임을 입력한다.
- PC는 설정된 DNS 서버에 해당 도메인 이름을 쿼리로 보내 질의한다.
- 설정된 DNS 서버는 루트 네임 서버에
.kr .com등의 주소록을 가진 네임 서버를 질의한다.
- 루트 네임 서버는 해당 주소록을 관리하는 네임 서버에 질의하고, 그곳은 cloudflare 등의 최종 네임 서버로 전달한다.
- 최종적으로 설정된 DNS 서버는 최종 네임 서버에 해당 도메인을 질의하고, IP 주소를 반환받는다.