네트워크에서 도메인이란 www.example.com 과 같은 형태로, 특정 웹사이트나 리소스를 식별하기 위해 사용되는 고유한 이름이다.
우리는 주소 창에 example.com이라는 도메인을 검색하면 그 도메인과 연결된 특정 웹사이트나 리소스에 연결되는 경험을 할 수 있다.
전화번호부를 생각해보자 010-0000-0000이라는 숫자를 모두 외우고 다니면 불편하기 때문에 우리는 전화번호부에 전화번호(숫자)를 의미 있는 문자열로 저장해 놓는다.
네트워크에서는 IP주소를 의미 있는 도메인으로 매핑해 저장해 놓는다.
도메인을 통해 어떤 서버와 연결되는 것은 서로 다른 PC간에 통신하는 것으로 볼 수 있다.
특정 서버에 접속하기 위해 매번 123.123.123.123과 같은 IP주소를 외우고 다닌다고 생각해보자.
심지어 IPv6는 2001:0db8:85a3:0000:0000:8a2e:0370:7334와 같은 훨씬 더 복잡한 주소를 사용한다.
도메인을 사용하면 도메인이 가리키는 IP주소가 바뀌어도 사용자는 원래 사용하던 도메인을 통해 바뀐 서버에 연결될 수 있다.
또한 하나의 도메인을 통한 연결 요청을 여러 IP(서버)로 분산시키거나 보안 서버를 경유하도록 하는 등 네트워크 환경을 유연하게 구성할 수 있다.
DNS는 도메인 네임을 IP주소로 변환시켜주는 시스템이다.
DNS는 여러개의 DNS가 계층적(hierarchical)으로 연결된 분산형(distributed) 데이터베이스다.
DNS Resolver란 클라이언트(웹 브라우저, 응용 프로그램)로부터 DNS 쿼리를 받아 IP주소를 찾기 위해 다양한 도메인 네임 서버와 통신하는 주체이다.
대부분의 경우 DHCP(Dynamic Host Configuration Protocl)에 의해 ISP(Internet Service Provider)가 제공하는 DNS Resolver를 사용하지만 설정을 통해 특정 resolver를 사용할 수도 있습니다.
루트 네임 서버는 DNS 계층 구조의 최상위에 위치하며 전 세계에 13개의 루트 서버 집합이 존재한다.
DNS Resolver가 특정 도메인의 IP주소를 찾을 때, 도메인 확장자(.com, .net, .org, etc..)에 따라 그 최상위 도메인(TLD)에 대한 정보를 제공한다.
TLD 네임 서버는 .com, .net, .kr과 같은 url의 마지막 점 뒤에 오는 도메인 확장자 별로 하위 도메인 정보들을 가지고 있는 서버다.
TLD 네임 서버는 일반 최상위 도메인과 국가 코드 최상위 도메인으로 구분된다.
권한있는 네임 서버는 특정 도메인에 대한 최종적인 정보를 제공하는 서버다.
Authoritative Name Server에는 도메인의 서브 도메인에 대한 IP주소도 모두 저장된다.
1) 클라이언트가 주소 창에 도메인을 입력한다.
2) 클라이언트가 입력한 도메인이 DNS Resolver에게 전달된다.
3) DNS Resolver는 Root Name Server로 요청을 전달하고 TLD Name Server 주소를 전달받는다.
4) DNS Resolver가 TLD Name Server로 요청을 전달하고 Authoritative Name Server 주소를 전달받는다.
5, 6) DNS Reslover가 Authoritative name Server로 요청을 전달하고 도메인의 IP 주소를 전달받는다.
7) DNS Resolver가 도메인의 IP주소를 클라이언트에게 전달한다.
8, 9) 클라이언트는 도메인에 해당하는 IP주소를 통해 서버에 접근하고 필요한 자원을 전달받는다.
DNS Round Robin은 Authoritative Name Server에 의해 수행되는 부하 분산(Load Balancing)기술이다.
이처럼 하나의 도메인에 여러 ip주소가 연결된 경우 DNS Round Robin을 적용하여 서버의 부담을 줄이고 가용성을 확보할 수 있다.
AWS, what is dns?
CloudFlare, DNS란 무엇인가?|DNS 작동 방식
CloudFlare, DNS 서버 유형
CloudFlare, DNS 루트 서버
팬도라, 라운드로빈 DNS (Round-Robin DNS), tistory
널널한 개발자 TV, 전세계 인터넷을 멈추는 방법과 DNS, Youtube
KISA 한국인터넷진흥원, 국가DNS 운영