IP 주소 및 기타 데이터를 저장하고 이름별로 쿼리할 수 있게 해주는 계층형 분산 데이터베이스
DNS는 계층형 분산 데이터베이스로 DNS Resolver, DNS Root Server, TLD Name Server, Authoritative Name Server가 있다.
클라이언트와 DNS 네임서버 사이의 중개자 역할을 한다.
⇒ 웹 클라이언트로부터 DNS 쿼리를 받은 후 캐시된 데이터를 응답하거나 요청을 다음 DNS 네임서버로 보낸 후 받은 응답을 웹 클라이언트로 보낸다.
이 과정 중 네임서버에서 받은 정보를 캐시하여 다음 요청시에는 빠르게 응답한다. DNS Cache는 메모리에 저장된다.
대부분의 인터넷 사용자는 ISP(공유기에서 제공하는 DNS Resolver)를 사용한다.
ICANN이 직접 관리하는 서버로, 캐시되지 않은 DNS 쿼리 중 TLD를 조회하여 해당 TLD 서버 리스트를 반환한다.
DNS Root Server는 다음과 같이 전 세계에 13대가 존재한다.
https://www.iana.org/domains/root/servers
우리는 13대 중 한 곳에 요청을 보내는 것이고 만약 13대의 Root Server가 DDoS와 같은 공격으로 한 번에 멈춘다면 전 세계 인터넷은 멈추게 된다. 20년전 13대 중 9대를 공격한 사이버 사건이 있었다
.net이나 .com과 같이 도메인 이름에서 오른쪽 가장자리 마지막 점 다음에 위치한 것을 말한다.
도메인 확장자라고도 부르며, TLD (Top Level Domain)이라고 한다.
TLD는 웹 사이트의 목적, 소유자 또는 지리적 위치와 같은 웹 사이트의 특정 요소를 인식하는 역할을 한다.
만약 .com TLD 네임서버는 ‘.com’으로 끝나는 모든 웹 사이트의 정보를 갖고 있고, .com TLD 네임서버는 해당 도메인의 Authoritative 네임서버를 가리켜 응답한다.
DNS Resolver가 TLD Name Server로부터 응답을 받고, 해당 응답을 Authoritative ****네임서버로 보낸다.
일반적으로 Authoritative ****네임서버는 IP 주소를 확인하는 마지막 단계이며, IP 주소의 관계가 기록, 저장, 변경되는 서버다.
도메인 / 호스팅 업체의 네임서버를 말하지만, 개인이나 회사 DNS 서버 구축을 한 경우에도 해당된다.
ICANN은 웹사이트의 목적, 소유자 및 지리적 위치에 따라 최상위 도메인을 여러 범주로 분류한다.
최상위 도메인의 최대 길이는 63자이지만 대부분 2~3개의 문자로 구성된다.
.com : 상업용 웹 사이트
.org : 조직
.net : 네트워크
.info : 정보 플랫폼
.biz : 비즈니스
2. 스폰서 최상위 도메인(sTLD)
관련된 개별 조직에서 제안하고 감독하는 도메인 확장자.
조직이란 기업, 정부 기관 또는 다른 유형의 그룹이 될 수 있고, 이려한 유형의 도메인을 신청할 시 사전에 정의된 조직의 기본적인 특성을 바탕으로 신청한 최상위 도메인에게 승인을 받아야한다.
.edu : 고등 교육 기관
.gov : 미국 정부 기관
.cat : 스페인 카탈로니아 지역 언어 및 문화 커뮤니티
.museum : 박물관 관련 조직
.travel : 여행 산업 비즈니스
3. 국가 코드 최상위 도메인(ccTLD)
특정 국가 및 지역에 대해 확립된 312개의 국가 코드가 있고 2개의 알파벳으로 구성된 문자열로 식별한다.
.us : 미국
.es : 스페인
.fr : 프랑스
.it : 이탈리아
.kr : 대한민국
4. 인프라 최상위 도메인(ARPA)
특수한 범주의 유형으로 ARPA라는 하나의 TLD만 포함된다.
IANA에서 직접 관리하며 기술 인프라 용도로 사용한다.
.example : 위치 유지
.invalid : 유효하지 않은 도메인 이름
.localhost : 로컬 네트워크에서 사용
.test : 테스트
DNS Record는 Authoritative Name Server에 있는 명령으로, 도메인에 연계된 IP 주소 및 해당 도메인에 대한 요청 처리 방법에 대한 정보를 제공한다.
DNS 구문이라는 텍스트로 구성되며, DNS 서버에게 수행할 작업을 알려주는 명령으로 사용된다.
A 레코드
A는 주소를 나타내며, DNS 레코드의 가장 기본적인 유형이다.
도메인의 IP 주소를 나타내고, 예를 들면 naver.com의 A 레코드는 IP 주소인 223.130.200.107을 반환한다.
A 레코드는 IPv4 주소만 보유하고, IPv6 주소인 경우 AAAA 레코드를 사용한다.
일반적으로 IP 주소 조회, 즉 도메인 이름을 IPv4 주소와 일치 시키는 용도로 사용되며, 사용자가 실제 IP 주소로 입력하지 않아도 웹 브라우저에서 DNS 쿼리를 통해 자동으로 수행한다.
CNAME 레코드
CNAME은 도메인 주소의 별칭이며, A 레코드 대신 사용된다.
CNAME을 사용하지 않고 A 레코드로 사용해도 괜찮지만 만약 IP 주소가 변경되면 모든 A 레코드의 IP 주소를 변경해야되는 불편함이 있다.
따라서 CNAME을 사용하면 A 레코드 하나만 수정하면 된다.
https://aws.amazon.com/ko/route53/what-is-dns/
https://www.cloudflare.com/ko-kr/learning/dns/dns-records/
https://www.cloudflare.com/ko-kr/learning/dns/dns-server-types/
https://ko.wix.com/blog/post/what-is-tld
https://hanamon.kr/dns란-도메인-네임-시스템-개념부터-작동-방식까지/
https://inpa.tistory.com/entry/WEB-🌐-DNS-개념-동작-완벽-이해-★-알기-쉽게-정리
https://velog.io/@chun_gil/DNS-서버-정의와-종류
https://gentlysallim.com/dns란-뭐고-네임서버란-뭔지-개념정리/#
https://zigispace.net/1126
quote by taemin-jang