인터넷에 연결된 모든 PC와 휴대폰, 태블릿, 프린터, 심지어 가전제품까지.. 인터넷에 연결된 모든 것들은 저마다 아이피를 하나씩 가졌다. 이와 같은 기기들로 어떤 서버에 접속해서 정보를 보거나 자료를 다운로드하거나 서비스를 이용하려면 서비스를 제공하는 서버의 아이피를 알아야 접속이 가능하다. 사람이 일일이 아이피를 기억하는 것도 불가능하지만 모든 서비스의 목적지가 숫자의 조합으로 이루어진 아이피로 제공된다면 서비스 이용자도 공급자도 혼란스러울 것이다. 그래서 등장한 게 도메인(Domain)과 DNS (Domain Name Server)의 개념이다.
[목차]
1. 도메인(Domain) 이란?
도메인은 인터넷상에서 컴퓨터나 네트워크를 식별하는 데 사용되는 고유한 이름이다. 웹사이트, 이메일 서버, 네트워크 서비스 등을 지정하는 데 사용된다. 도메인 이름은 일반적으로 웹 주소의 일부로서 사용되며, 예를 들어 gbminnote.com와 같이 사용된다.
2. DNS(Domain Name Server) 란?
도메인 이름은 DNS(Domain Name System)를 통해 IP 주소로 변환되며, 이 IP 주소는 해당 웹사이트나 서비스의 실제 위치를 나타낸다.
DNS를 쉽게 비유하면 휴대폰에 저장된 주소록으로 이해할 수 있다.
이름 : 홍길동
전화번호 : 010-000-000
도메인 : gbminnote.com
아이피번호 : 27.0.236.139
3. DNS 레코드의 종류
DNS는 아이피만 지정하는 게 아닌 레코드별로 다양한 유형이 있고, 레코드마다 서로 다른 정보를 제공하며 특정한 기능을 수행하기도 한다. 일반적인 DNS 레코드 유형은 아래와 같다.
- A 레코드 (Address Records) : 도메인 이름을 IPv4 주소로 변환한다. 이 레코드는 웹사이트의 주소를 나타내는 레코드 다.
example.com A 192.0.2.1
- AAAA 레코드 (IPv6 Address Records) : AAAA 레코드는 A 레코드와 유사하지만, 도메인 이름을 IPv6 주소로 변환한다.
example.com AAAA 2001:0db8:85a3:0000:0000:8a2e:0370:7334
- CNAME 레코드 (Canonical Name Records) : 한 도메인 이름을 다른 도메인 이름으로 매핑한다.
www.gbminnote.com CNAME host.tistory.io
- MX 레코드 (Mail Exchange Records) : 도메인의 이메일 서버를 지정하며, 이메일 메시지를 어디로 보낼지 결정한다.
gbminnote.com MX 10 mail.gbminnote.com
- NS 레코드 (Name Server Records) : NS 레코드는 도메인에 대한 DNS 서버를 지정한다. 도메인의 DNS 설정을 관리하는 데 필요하다.
gbminnote.com NS gerald.ns.cloudflare.com
- PTR 레코드 (Pointer Records) : PTR 레코드는 IP 주소에서 도메인 이름으로의 매핑을 제공한다. 이 레코드는 보통 리버스 Reverse DNS 조회에 사용된다.
2.0.192.in-addr.arpa PTR gbminnote.com
- SOA 레코드 (Start of Authority Records) : DNS 영역에 대한 권한을 가진 주 DNS 서버와 관련 정보를 나타낸다.
ghbminnote.com SOA ns.gbminnote.com hostmaster.gbminnote.com
- SRV 레코드 (Service Records) : SRV 레코드는 특정 서비스에 대한 서버 위치를 제공한다. 이 레코드는 VoIP, SIP, IMAP 등과 같은 서비스에 주로 사용된다.
_sip._tcp.gbminnote.com SRV 10 60 5060 sipserver.gbminnote.com
- TXT 레코드 (Text Records) : TXT 레코드는 임의의 텍스트를 포함하며, 보통 SPF 정보나 도메인 소유권 검증 등의 목적으로 사용된다.
gbminnote.com TXT "v=spf1 ip4:211.37.179.216 ~all"
- CAA 레코드 (Certification Authority Authorization) : 어떤 인증 기관이 도메인에 대한 SSL/TLS 인증서를 발급할 수 있는지 지정합니다.
gbminnote.com. CAA 0 issue "letsencrypt.org"
더 많은 DNS 레코드와 설정 내용은 아래 페이지에서 확인이 가능하다.
https://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml
4. DNS와 라우팅 과정
라우팅은 도메인의 DNS 정보를 조회하여 목적지 경로를 찾는 최적의 프로세스를 말한다. DNS 라우팅 과정을 이해하려면 브라우저에 입력되는 도메인의 의미를 알아야 한다. DNS Zone을 다뤄봤다면 알 수 있겠지만 브라우저에서 보는 도메인은 맨뒤에 ". (점) "이 생략되어 있다. 인터넷 브라우저는 사용자 친화적인 이유로 이 점이 생략되어 보이는 것이며 브라우저가 도메인을 처리할 때 알아서 점을 추가하여 DNS 조회를 한다. 실제 브라우저의 도메인 뒤에 ".(점) "을 입력해 접속해도 사이트 접속이 잘된다. 즉 www.gbminnote.com. 의 형식은 DNS 계층구조를 나타내는 것을 의미한다.
www.gbminnote.com. 에서 맨뒤의 . 은 root를, .com. 은 top-level domain(TLD)를, gbminnote.com.은 second-level domain(SLD)를, 마지막으로www.gbminnote.com.은third-level domain 또은 subdomain을 나타낸다.
1차 도메인, 2차 도메인, 3차 도메인(서브도메인) 이런 개념이 여기서 나온 것이다.
www.gbminnote.com도메인을 PC 브라우저에 입력하면 DNS 라우팅 과정은 다음과 같다.
- 라우팅 순서
- PC 로컬 DNS에서 www.gbminnote.com 아이피를 찾음
- 라우터를 거쳐 인터넷 제공 업체의 DNS에 www.gbminnote.com 네임서버를 확인
- .com ROOT DNS에서 TLD DNS를 찾음.
- TLD DNS에서 gbminnote.com의 아이피를 찾음
- www.gbminnote.com 아이피를 찾음
- 지금까지 과정을 반대로 돌아가면서 각 DNS에 www.gbminnote.com 도메인의 아이피를 갱신함.
- PC에서 www.gbminnote.com 도메인의 아이피를 찾았기 때문에 서버로 접속하여 웹페이지를 다운로드하여 브라우저에 보여줌.
이렇게 도메인과 DNS의 개념과 DNS 라우팅 과정에 대해서 간단히 정리하였다. 인터넷을 이용한 웹사이트나 애플리케이션 서비스들을 이용할 때 DNS를 다루는 일이 많아졌다. 기본적인 개념을 이해하고 DNS 설정을 한다면 많은 도움이 될 것이다 다만 DNS는 잘못 설정하면 서비스가 정상 동작 하지 않거나 서버에 접속하지 못하는 일이 발생될 수 있다. 작업 시 정확하고 신중하게 처리해야 한다.