DNS

정민교·2024년 5월 13일
0

네트워크

목록 보기
4/4

📒목표

DNS에 대해 알아보며 이해하는 시간을 갖는다.

📒DNS

DNS에 대해 간단하게 알아봅시다.

DNS는 Domain Name System입니다. 실제로 우리가 사용하고 있는 IPv4는 8비트로 이루어진 옥텟 네 자리로 이루어진 숫자들의 조합입니다.

예를 들면 우리가 자주 사용하는 127.0.0.1(localhost) 같은 주소입니다.

이는 사람이 기억하기 힘들기 때문에 이 주소를 사람이 기억할 수 있는 매핑된 이름 주소를 도메인 네임이라고 합니다.

✔️DNS 계층 구조

DNS는 계층적인 구조로 되어 있습니다.

이러한 계층 구조는 도메인 이름 시스템(DNS) 내에서 중요한 역할을 합니다.

DNS 서버는 이 구조를 사용하여 각 도메인과 서브도메인의 주소 정보를 찾아내고, 사용자가 인터넷을 통해 웹사이트에 접근할 수 있도록 합니다.

"www.google.com" 같은 전체 도메인 이름을 통틀어 FQDN (Fully Qualified Domain Name)이라고 부릅니다.

이는 해당 도메인이 위치한 전체 경로를 명확히 나타내는 이름입니다.

구글(www.google.com)을 예를 들어 보겠습니다.

📌최상위 도메인(TLD)

"www.google.com"에서 ".com"은 최상위 도메인(Top-Level Domain, TLD)입니다.

.com은 주로 상업적 기관을 위한 도메인으로 사용됩니다. TLD는 전 세계적으로 일관된 관리가 필요하며, 각 TLD는 전담 기관에 의해 관리됩니다.

예를 들어, ".com" 도메인은 VeriSign과 같은 기관에 의해 관리됩니다.

다른 TLD로는 .us, .in, .gov, .org 등이 있습니다.

📌세컨 레벨 도메인(SLD)

"google"은 두 번째 레벨 도메인(Second-Level Domain, SLD)입니다.

이 레벨의 도메인은 개별 회사나 조직에 의해 등록되고 관리됩니다.

"google"의 경우, 구글 회사가 소유하고 관리하는 도메인 이름입니다.

📌서브 도메인

"www"는 세 번째 레벨 도메인으로서, 흔히 서브도메인(Subdomain)으로 불립니다.

이 부분은 주로 조직 내부에서 자유롭게 설정하고 관리할 수 있습니다.

일반적으로 "www"는 웹 서비스를 가리키는데 사용되지만, 다른 목적으로 다양한 서브도메인을 설정할 수 있습니다. (예: mail.google.com, docs.google.com 등)

✔️Domain Registrar(도메인 등록소)

Domain Registrar는 우리들의 도메인을 등록하는 곳입니다.

Route 53, Go Daddy 등 이 외에도 다른 레지스트라들이 있습니다.

✔️DNS Records

DNS (Domain Name System) 레코드는 도메인 이름과 관련된 다양한 유형의 정보를 제공하는데 사용됩니다.

주요 DNS 레코드 유형에는 A, AAAA, CNAME, NS 등이 있으며, 각각의 목적과 기능이 다릅니다.

이 밖에도 다양한 DNS 레코드 유형이 존재하며, DNS 레코드는 인터넷의 다양한 기능과 서비스가 원활하게 작동하도록 중요한 역할을 합니다.

📌A 레코드(Address Record)

A 레코드는 도메인 이름을 IPv4 주소로 매핑합니다.

예를 들어, "example.com"이 93.184.216.34라는 IP 주소를 가지고 있을 때, 이 정보는 A 레코드에 저장됩니다.

웹 브라우저나 다른 클라이언트가 이 도메인에 접속하려고 할 때, A 레코드를 통해 해당 IP 주소로 연결됩니다.

📌AAAA 레코드(IPV6 Address Record)

AAAA 레코드는 도메인 이름을 IPv6 주소로 매핑합니다.

IPv6 주소는 IPv4보다 훨씬 더 많은 주소 공간을 제공하기 때문에, 새로운 인터넷 기기와 서비스를 위해 필요합니다.

예를 들어, 도메인 이름 "example.com"이 IPv6 주소인 2001:0db8:85a3:0000:0000:8a2e:0370:7334를 가질 수 있습니다.

📌CNAME 레코드(Canonical Name Record)

CNAME 레코드는 한 도메인 이름을 다른 도메인 이름으로 매핑합니다.

이는 주로 별칭을 사용할 때 유용합니다. 예를 들어, "www.example.com"이 "example.com"으로 매핑될 수 있으며, 이를 통해 여러 도메인 이름을 하나의 IP 주소에 연결할 수 있습니다.

CNAME 레코드는 항상 다른 도메인 이름을 가리키며 IP 주소를 직접 포함하지 않습니다.

📌NS 레코드 (Name Server Record)

NS 레코드는 특정 도메인에 대한 DNS 서버 정보를 제공합니다.

이 레코드는 도메인이 어떤 네임서버에 의해 관리되는지를 나타냅니다.

예를 들어, "example.com" 도메인이 ns1.example.com과 ns2.example.com의 두 DNS 서버에 의해 관리될 수 있습니다.

이 레코드는 도메인의 DNS 구성과 관련된 권한 있는 정보를 제공합니다.

✔️존 파일(Zone File)

DNS의 구성 요소 중 하나인 존 파일(Zone File)은 특정 도메인과 관련된 모든 DNS 레코드를 저장하는 텍스트 파일입니다.

존 파일은 도메인의 구조와 해당 도메인 내 레코드의 집합을 나타냅니다

존 파일은 DNS 서버가 도메인에 대한 조회 요청을 처리할 때 참조하는 중요한 데이터입니다.

DNS 서버는 이 존 파일을 기반으로 DNS 조회에 응답하며, 이를 통해 인터넷 트래픽이 올바르게 라우팅되도록 합니다.

📌존 파일의 주요 요소

SOA 레코드 (Start of Authority)

SOA 레코드는 존 파일의 시작을 나타내며, 해당 존의 기본 정보와 존을 관리하는 DNS 서버, 존 데이터의 책임자의 연락처 정보 등을 포함합니다.

또한, 존 파일의 리프레시 타임, 리트라이 타임, 만료 시간 등의 타이밍 정보도 제공합니다.

그 외 NS, A, AAAA, CNAME 등이 있고 그 외 다른 레코드들도 존재합니다.

✔️Name Server

DNS (Domain Name System)에서 네임 서버(Name Server)는 매우 중요한 역할을 합니다.

네임 서버는 도메인 이름을 IP 주소로 변환하는 과정을 처리하며(DNS 쿼리 응답), 이를 통해 사용자가 사람이 읽을 수 있는 도메인 이름을 사용하여 인터넷 리소스에 접근할 수 있도록 합니다.

📌네임 서버의 주요 역할

도메인 이름 해석

네임 서버는 도메인 이름을 해당하는 IP 주소로 변환하는 기능을 수행합니다.

예를 들어, 사용자가 웹 브라우저에 "www.example.com"을 입력하면, 네임 서버는 이 도메인 이름에 해당하는 IP 주소를 찾아서 사용자의 요청을 그 주소로 리디렉션합니다.

존 데이터 유지

각 네임 서버는 특정 도메인 또는 도메인 그룹(존)의 데이터를 유지 관리합니다. 이 데이터는 해당 도메인의 모든 DNS 레코드를 포함하며, 이 레코드는 도메인의 다양한 정보(IP 주소, 메일 서버 등)를 정의합니다.

쿼리 응답

네임 서버는 외부에서 들어오는 DNS 쿼리에 대해 응답을 제공합니다. 이 쿼리는 인터넷상의 다른 서버나 사용자의 컴퓨터로부터 올 수 있으며, 네임 서버는 이 쿼리에 대한 정보를 존 데이터에서 검색하여 응답합니다.

📌네임 서버의 종류


사진 출처

근본 네임 서버(Root Name Servers):

근본 네임 서버는 DNS 계층 구조의 최상위에 위치하며, 최상위 도메인(TLD)의 네임 서버 정보를 제공합니다.

전 세계에 13개의 근본 네임 서버가 있으며, ICANN에 의해 관리됩니다.

이들은 TLD 네임 서버로 쿼리를 안내하는 역할을 합니다.

예를 들어, "www.google.com"에 대한 조회가 시작될 때, 루트 서버는 .com 도메인을 관리하는 TLD 서버로 조회를 안내합니다.

TLD 네임 서버(Top-Level Domain Name Servers):

TLD 네임 서버는 특정 최상위 도메인(.com, .org, .net 등)에 대한 정보를 관리합니다.

이 서버는 해당 TLD에 속한 도메인의 네임 서버 정보를 제공합니다.

예를 들어, "www.google.com"에서 TLD는 ".com"입니다. 루트 서버로부터 받은 요청을 통해, TLD 서버는 해당 도메인 (.com)을 관리하는 네임서버의 정보를 제공합니다.)

권위 있는 네임 서버(Authoritative Name Servers):

권위 있는 네임 서버는 특정 도메인의 모든 DNS 정보를 가지고 있으며, 해당 도메인에 대한 최종 권위를 가집니다.

이 서버는 해당 도메인의 모든 쿼리에 대해 직접적인 정보를 제공할 수 있으며, DNS 레코드 변경이 있을 때 그 정보를 업데이트하고 유지합니다.

예를 들어, TLD 서버로부터 요청을 받은 후, "www.google.com"에 해당하는 IP 주소를 반환합니다. 이 IP 주소는 실제로 구글의 웹 서버와 연결되어 있습니다.

로컬 DNS 서버 (Local DNS Server, Recursive DNS server)

일반적으로 인터넷 서비스 제공업체 (ISP)에 의해 운영되며, 사용자의 DNS 조회 요청을 받아 처리하는 서버입니다.

로컬 DNS 서버는 계층적으로 쿼리를 통해, 해당 도메인과 매핑된 IP 주소를 알아낸 후 클라이언트로 응답합니다.

이렇게 얻어낸 IP 주소는 일정시간 동안 캐싱하여 보관합니다.

profile
백엔드 개발자

0개의 댓글