사용자가 example.com을 브라우저에서 요청할때 발생하는 로직 요약

  1. 해당 도메인의 IP주소를 알아내기 위해 DNS 조회 시작
  2. DNS Resolver에서 캐시 체크후 캐시에 없으면 Root DNS 서버 요청
  3. Root DNS 서버 요청 > .com TLD DNS 서버 주소 반환
  4. .com TLD DNS 서버 요청 > example.com 네임서버의 주소 반환
  5. 네임서버 요청 > example.com zone 파일 접근 > 도메인의 IP 주소 반환(운영하고 있는 서버의 주소)
  6. DNS Resolver에 TTL 만큼 캐시 저장

TLD DNS(Top-Level Domain DNS) : 최상위 도메인의 약자로 .com, .org, .net, .kr 등이 존재한다.

만약 가비아(ICANN으로 부터 인증받은기관)에서 도메인을 구매 하게 되면 가비아는 TLD DNS 서버에 구매한 도메인의 가비아의 네임서버 정보(ns.gabia.co.kr)를 등록하게 된다. 이연결을 통해 2번과정이 진행 될수 있다.

가비아가 TDL DNS 서버에 네임서버를 등록하는 방법 예시

# 예시: Namecheap API를 사용하여 도메인 등록하기 (API 인증 키 필요)
curl -X GET "<https://api.namecheap.com/xml.response?ApiUser=yourusername&ApiKey=yourapikey&UserName=yourusername&ClientIp=yourclientip&Command=namecheap.domains.create&DomainName=example.com&Years=1&Nameservers=ns1.yournameserver.com,ns2.yournameserver.com>"

네임서버는 특정 도메인에 대한 정보(DNS 레코드의 IP주소등)를 관리하고, DNS 서버는 그 정보를 찾아주는 시스템이다.

참고 이미지

참고 이미지

4번에서 dig 명령어로 TLD DNS 서버에서 example.com의 네임서버를 조회 하는 예시