DNS
개요
DNS (Domain Name System)은 인터넷의 전화번호부와 비슷합니다. 본래 웹 서버간의 통신은 IP 주소를 통하여 이루어 지지만, 사람들이 접근하기 쉽도록 IP 주소를 적합한 도메인 이름에 연결하여 주는것이 DNS 의 역할입니다.
도메인 요청 순서
이미지 출처: https://aws.amazon.com/route53/what-is-dns/
- 사용자가 웹 브라우저에서
www.example.com
을 주소창에 입력하고 엔터를 누릅니다. www.example.com
으로의 요청이 DNS resolver로 라우팅됩니다. (어떤 DNS Resolver를 사용하는지는 유저또는 ISP(인터넷 서비스 제공 업체)가 결정합니다.)- DNS resolver는 요청을
Root Name Server
로 라우팅합니다. - DNS resolver는 요청을
.com
의Top Level Domain Name server
로 라우팅합니다. - DNS resolver는 요청을
example.com
을 관리하는Route53 Name Server
로 라우팅합니다. Amazon Route 53 Name Server
는Hosted Zone
내의 레코드를 확인하여 연결되어있는 IP 주소를 응답합니다. 예제의 경우192.0.2.44
를 응답합니다.- DNS resolver는 사용자가 필요한 IP 주소를 브라우저로 전달합니다. 또한
www.example.com
도메인 이름에 해당 IP 주소를 캐싱하여 저장합니다. - 웹 브라우저는
www.example.com
으로의 요청을192.0.2.44
IP 주소의 서버로 요청합니다. 192.0.2.44
IP에 해당하는 웹 서버는 요청한 웹 페이지를 브라우저에 응답합니다.
URL 구조
DNS 의 구조에 대해 이해하기 위해서는 우선 URL 의 구조를 이해해야합니다.
위 이미지의 URL 구조를 보면 다음과 같이 웹 주소를 구분할 수 있습니다.
Root Name Server
전세계에 13개의 루트 네임서버가 존재하며, 공식 명칭이 없기 때문에 마지막 .
으로 표기하며 일반적으로 브라우저에서는 명시되지 않습니다.
TLD (Top-Level Domain) Server
.com
, .kr
등 서버 운영시 구매 가능한 최상위 도메인을 관리합니다.
SLD (Second-Level Domain) Server
Route53
, 가비아
, HostringKR
등의 도메인을 판매하고 DNS 레코드를 관리하는 네임 서버일 수 있습니다.
Subdomain (Subdomain)
www
등과 같이 SLD에서 소유한 도메인에 대한 서브도메인을 관리할 수 있습니다.
Domain Registrar
도메인 네임 등록 대행자라고도하며, HostingKR, 가비아, Cafe24, AWS 등과 같은 업체로 TLD로부터 계약받은 도메인 이름을 일반 사용자가 등록/관리할 수 있도록 대행하는 업체입니다. 구매 뿐만 아니라 DNS 레코드 관리를 함께하기도합니다.
도메인의 네임서버 구조 조회
dig
커맨드로 도메인의 네임서버 구조를 조회를 할 수 있습니다.
# dig +trace <도메인 명>
dig +trace startrail.kr
요청 시 다음과 같이 도메인 구조를 조회할 수 있습니다.