DNS는 Domain Name System
의 약자로 도메인의 주소를 통해 IP로 변환하는 작업을 수행한다. 우리가 자주 접하는 www.naver.com , www.google.com 모두 IP 주소를 사람이 파악하기 쉽도록 변환시킨 내용이라 할 수 있다.
서비스 | 도메인 주소 | IP 주소 |
---|---|---|
다음(Daum) | daum.net | 203.133.167.81 |
네이버(Naver) | naver.com | 223.130.200.104 |
구글(Google) | google.com | 142.250.207.14 |
ISP (KT, SKT)가 제공하는 서버로 권한이 존재하지 않는 DNS
이며, 실제 DNS
에 대한 프록시 서버로서, 다음과 같은 기능을 수행한다.
DNS
서버에 직접적인 접속으로 나타날 수 있는 보안 요소를 줄일 수 있다.실제 도메인 주소에 대한 권한을 책임지는 DNS
서버이다. 초기에는 하나의 파일에 도메인 정보를 저장한 txt
파일을 다운받아 사용했으나, IP
주소 혹은 도메인 주소가 변경되는 경우, 업데이트가 반영되지 않는다는 문제가 생기며 이를 관리하는 네임 서버가 등장했다.
향후 웹 시장이 커지면서, 하나의 네임 서버로도 관리하기 어려워지자 Top Level
을 시작으로 계층 구조 형태를 가진 네임 서버들이 추가적으로 나타났다. 각각의 네임 서버는 다음 계층(자식) 서버에 대한 IP
주소를 가지고 있으며, Local DNS
가 여러 네임 서버를 탐색하는 과정을 진행하며 이동하려는 도메인 주소의 최종적인 IP
를 찾게 된다.
Root Name 서버 : 모든 DNS
의 루트 노드로 도메인 주소 정보를 바탕으로 적절한 TLD
네임 서버 주소를 반환한다.
TLD (Top Level Domain) Name 서버 : .com
, .net
등 도메인 주소의 마지막 점 뒤에 오는 확장자를 관리하는 서버이다. 도메인 주소 정보를 바탕으로 적절한 2LD
혹은 Sub Domain
네임 서버를 반환한다.
TLD
서버의 종류는 크게 2가지인데, 국가별로 고유한 도메인을 관리하는 ccTLD(country code Top Level Domain) ex).kr,.jp,.us,.uk
등 과 그 외 일반적으로 알려진 도메인을 관리하는 gTLD(generic Top Level Domain) ex).com,.org,.net 등
으로 나뉜다.
2LD, 3LD Name 서버 : 도메인 주소의 첫 점 이후 혹은 첫 점 전에 오는 확장자를 관리하는 서버이다. 도메인 주소 정보를 바탕으로 2LD
는 3LD
혹은 Sub Domain
네임 서버에 대한 주소를, 3LD
는 Sub Domain
네임 서버 주소를 반환한다.
Sub Domain Name 서버 : 실질적으로 최종적인 도메인 주소에 대한 IP를 가진 서버로서, 주로 gabia, cafe24, route53
과 같이, 도메인을 판매하는 회사에서 이를 관리한다. 우리가 실제로 도메인을 구입하여 IP
, 타입, 별칭 등을 설정하는 경우, 실제로 설정 값이 반영되는 서버가 바로 이곳이다.
실제 도메인 주소를 통해, DNS 서버를 탐색하며 IP
주소를 찾아가는 과정을 DNS Recursive Query, DNS 재귀 질의
라고 한다. 이러한 DNS 재귀 질의
를 수행하는 장치를 DNS Recursive Resolver
라고 한다. 일반 가정의 경우 ISP가 제공하는 Local DNS
네트워크 내에 DNS Recursive Resolver
가 내장되어, DNS 재귀 질의
가 수행된다.
검색하려는 주소가 www.naver.com 인 경우, 다음의 과정이 DNS
를 통해 수행된다.
local DNS
의 캐시 테이블을 통해 이전 방문을 통해 IP
주소가 존재하는지 확인한다.IP
정보를 찾을 수 없다면, local DNS
는 DNS 재귀 질의
를 수행한다. Root DNS
에서 요청하여, com
을 관리하는 TLD
네임 서버의 위치를 local DNS
에게 전달한다.local DNS
는 TLD
네임 서버에게 질의를 보내고, TLD
네임 서버는 naver
를 관리하는Sub Domain
네임 서버의 위치를 local DNS
에게 전달한다.local DNS
는 Sub Domain
네임 서버에게 질의를 보내면, Sub Domain
네임 서버는 CNAME
을 통해 www
의 여부를 확인 한 후, www.naver.com
과 연결된 naver.com
의 IP
주소를 local DNS
에게 보낸다.local DNS
는 최종적인 IP
주소를 통해, 해당 사이트를 불러온다.참고
[10분 테코톡] 엘리의 DNS
DNS의 기본 개념과 동작 방식
DNS
DNS란 무엇입니까? – DNS 소개 - AWS