DNS란 무엇인가?

도메인 이름이 IP 주소로 변환되는 방법을 알고 계십니까? 인터넷은 도메인 이름 시스템(DNS)이라는 서비스를 사용합니다. 이 기사에서는 DNS가 무엇이며 도메인 이름을 IP 주소로 번역하는 방법에 대해 배우게 될 것입니다. 이를 통해 브라우저 및 기타 인터넷 연결 앱 및 서비스가 웹 서버를 찾을 수 있습니다.

게다가 DNS 작동 방식을 빠르게 이해하기 위한 유용한 인포그래픽도 확인해보세요.

광고

DNS란 무엇인가요?

도메인 이름 시스템은 도메인 이름이 IP 주소로 변환되어 브라우저가 정보를로드 할 수 있게 하는 서버입니다. 더 구체적으로, DNS는 도메인 이름에 해당하는 IP 주소(IPv6 또는 IPv4 주소)를 찾아 웹 브라우저가 도메인에 첨부된 정보를 찾고 제공할 수 있도록 돕습니다.

도메인 이름(또는 웹사이트 도메인)은 웹 주소입니다. 도메인 이름은 웹 사이트를 위한 균일 자원 지시자(URL)에 사용됩니다. 예를 들어, 구글 웹 사이트를 방문하려면 웹 브라우저에 ‘www.google.com’을 입력해야 합니다. 그리고 Facebook 웹 사이트의 경우 ‘www.facebook.com’를 입력해야 합니다.

IP 주소

IP 주소는 인터넷에서 기기나 서버와 같은 리소스를 식별하는 데 사용되는 고유한 주소입니다. IP 주소는 인터넷이나 로컬 네트워크에서 기기들이 서로 연결하는 데 도움이 되는 숫자입니다. 전화번호가 특정 인물을 걸을 때 도움을 주는 것과 비슷합니다.

IP 주소에는 두 가지 유형이 있습니다: IPv4와 IPv6입니다.

광고

IPv4 주소

IPv4는 32비트 주소 체계입니다. 점-10진법 표기를 사용합니다. IPv4는 42억 개 이상의 주소를 할당할 수 있는 능력이 있습니다. 예를 들어, IPv4 주소는 192.0.2.1과 같을 수 있습니다.

IPv6 주소

IPv6는 128비트 주소 방식입니다. IPv4의 점-10진법 표기 대신 알파벳과 숫자로 표기됩니다. 또한 약 3.4×1038개의 고유 IP 주소를 수용할 수 있는 능력을 갖고 있습니다. 다시 말해, 340경 개의 IP 주소가 있습니다!

IPv6는 설계상으로 IPv4보다 더 진보적이고 안전합니다. IPv6 주소의 예는 2001:0db8:85a3:0000:0000:8a2e:0370:7334입니다.

DNS는 무엇에 사용되나요?

DNS의 주요 사용은 도메인 이름을 IP 주소로 변환하는 것이지만, 다른 여러 용도가 있습니다. DNS 서버는 검색 중인 정보 자원에 빠르게 액세스할 수 있도록 하고, 인터넷 메일 서버로의 메일 라우팅을 용이하게 합니다. DNS는 또한 서버와 사물 인터넷(IoT) 장치 간의 통신을 가능하게 합니다.

광고

DNS는 어떻게 작동합니까?

DNS가 어떻게 작동하는지 이해하기 위해서는 뒷단에서 일어나는 프로세스에 대해 알아볼 필요가 있습니다. 도메인 이름을 IP 주소로 변환하는 과정은 다음과 같은 단계가 포함됩니다.

DNS가 도메인 이름을 IP 주소로 해석하는 데 어떻게 사용되나요?

DNS의 주요 역할은 웹 브라우저에 입력하는 도메인 이름을 IP 주소로 변환하는 것입니다. 도메인 이름을 IP 주소로 변환하는 과정을 DNS 조회 또는 DNS 해결이라고 합니다. DNS는 다음을 포함하여 여러 가지 다른 구성 요소를 사용합니다:

  • 도메인 네임 서버
  • DNS 쿼리
  • DNS 레코드
  • DNS 캐싱
  • DNS 전파
  • 그리고 더 많은 것들
How DNS queries work infographic

웹 페이지를 로드하기 위한 4가지 도메인 이름 시스템 구성 요소

DNS는 도메인 이름을 IP 주소로 해석하기 위해 네 가지 다른 서비스를 사용합니다.

DNS 리졸버

A DNS resolver, also known as a DNS recursive resolver, is the primary function of a DNS query. It either directly provides the required information from its stored cache, or it sends requests to other DNS servers including the root nameserver, top-level domain (TLD) nameserver, and authoritative nameserver.

DNS 루트 서버

루트 네임서버 또는 DNS 루트 서버는 재귀 리졸버로부터 쿼리를 수락하고 재귀 리졸버를 TLD 네임서버로 안내하여 재귀 리졸버가 일치하는 IP 주소를 찾을 수 있도록 합니다.

TLD 네임서버

최상위 도메인(TLD) 네임서버는 .com, .net, .org 등의 최상위 도메인에 따라 도메인 이름과 관련된 모든 정보를 유지하는 역할을 담당합니다. 예를 들어, .com TLD 네임서버는 .com으로 끝나는 도메인에 대한 모든 정보를 보유합니다. 두 종류의 TLD 서버 그룹이 있습니다: .com, .edu, .gov 등의 일반 최상위 도메인과 .uk, .us, .ru 등의 국가 코드 최상위 도메인입니다.

권위 있는 네임서버

권위 있는 네임서버는 IP 주소를 해결하는 여정에서 마지막 단계입니다. DNS 레코드에서 특정 도메인 이름에 일치하는 IP 주소를 재귀 리졸버에 제공할 수 있습니다.

만일 도메인이 다른 도메인의 별칭을 가지고 있다면, 권위있는 네임서버는 리소스를 레코드로부터 찾기 위해 Canonical Name Record (CNAME)을 사용합니다. 예를 들어, 만약 DNS 쿼리가 ‘blog.google.com’이라면, ‘google.com’은 blog.google.com의 정식 이름이거나 별칭입니다.

DNS 쿼리의 3가지 유형

DNS 쿼리는 DNS 클라이언트로부터 DNS 서버로 특정 정보를 요청하는 요청들입니다. 주로 DNS 쿼리는 도메인 이름과 관련된 IP 주소를 요청하는 것입니다.

다음은 상위 3가지 DNS 쿼리 유형입니다:

재귀 쿼리

이 유형의 쿼리에서 DNS 서버는 당신을 대신하여 다른 DNS 서버에게 질의하여 응답합니다. DNS 서버는 DNS 레코드로부터 요청된 리소스를 제공하거나, 재귀 리졸버가 질의와 관련된 정보를 찾지 못했다면 에러 메시지를 제공할 수 있습니다.

반복 쿼리

반복 쿼리에서 DNS 서버는 가능하다면 당신의 쿼리에 대한 답변을 제공합니다. 만일 당신의 요청을 위해 재귀 DNS 쿼리가 해당 IP 주소를 반환하지 못했다면, 다른 권위있는 DNS 서버나 루트 서버를 참조하여 당신의 쿼리에 대한 답변을 제공합니다.

비-재귀 쿼리

A non-recursive query occurs when a DNS server answers your query from a record that exists in its cache. An immediate response is available with non-recursive queries as they are stored the necessary information is stored locally.

도메인 네임서버란 무엇인가요?

도메인 네임서버는 A 레코드, CNAME 레코드, 및 MX 레코드를 포함하여 도메인 네임의 모든 DNS 레코드를 저장하고 유지하는 역할을 담당합니다 (아래에서 이것들이 무엇인지 설명하겠습니다). 일반적으로 여러 개의 네임서버가 의존하는데, 주로 하나는 주 네임서버이고, 나머지는 보조 네임서버입니다.

여러 네임서버의 가용성은 DNS의 신뢰성을 높입니다. 하나의 네임서버가 사용 불가능해지면 다른 네임서버를 사용할 수 있습니다. 네임서버는 모든 DNS 레코드에 대한 정확한 정보를 저장하고 유지합니다.

DNS 존이란 무엇인가요?

A DNS zone is a specific portion of the namespace in DNS. And it’s managed by an administrator or organization. DNS zones provide better control over DNS components such as TLD nameservers, authoritative nameservers, and more.

A DNS zone is implemented in a domain name server and it includes a zone file that contains all DNS records of domains in a zone. Domain name servers can contain multiple DNS zones. And a DNS zone can contain several subdomains.  

DNS 레코드의 주요 유형은 무엇인가요?

DNS 레코드는 도메인 네임과 관련된 모든 세부 정보를 제공하며, 이러한 DNS 레코드의 세부 사항은 DNS 존 파일에서 찾을 수 있습니다. DNS 레코드는 DNS가 쿼리에 응답할 수 있도록 도와줍니다.

다양한 유형의 DNS 레코드는 다음과 같습니다:

  • A record: An A record includes IPv4 addresses for FQDNs (Fully Qualified Domain Name). An FQDN has four parts: hostname (www, ftp, etc.), domain name (Google, Facebook, etc.), Top Level Domain (.com, .org, etc.), and a period (.).
  • AAAA 레코드: A 레코드와 대조적으로, AAAA 레코드 (또는 사중 A)는 도메인 네임을 IPv6 주소에 매핑합니다.
  • MX 레코드: 메일 교환 서버(Mail Exchange, 또는 MX 레코드)는 IP 주소가 아닌 메일 서버를 가리키며, 이메일 라우팅을 용이하게 합니다.
  • TXT 레코드: 이 레코드를 통해 관리자는 DNS 레코드에 텍스트를 저장할 수 있습니다. 주로 친근한 언어로 작성된 메모지만, DNS에 기계 판독 가능한 텍스트를 입력할 수도 있습니다. TXT 레코드는 주로 도메인 소유권을 확인하고 스팸 이메일을 방지하는 데 사용됩니다.
  • NS (네임 서버): NS 레코드은 도메인이나 서브도메인에 대한 권책 있는 \n네임 서버를 나타냅니다.
  • CNAME: 근본 도메인이름 (또는 별칭) 레코드는 도메인 이름을 다른 도메인이나 서브도메인에 매핑하는 별칭입니다.

DNS 캐싱이란 무엇인가요?

DNS 캐싱은 DNS 레코드 정보를 일시적으로 저장하여 같은 쿼리가 가까운 미래에 발생할 때 재사용하는 프로세스를 가리킵니다. 캐싱은 운영 체제나 웹 브라우저 수준에서 활성화할 수 있습니다. 따라서 DNS 서버는 당신의 기기가 DNS를 쿼리하거나 웹사이트를 방문할 때마다 DNS 조회를 처리할 필요가 없습니다.

DNS 전파는 어떻게 작동하나요?

DNS 전파는 DNS 레코드가 인터넷이나 로컬 네트워크의 모든 DNS 서버에 업데이트되기까지 걸리는 시간을 가리킵니다. 전파는 누군가 새 DNS 레코드를 네임 서버에 추가할 때 시작됩니다.

도메인 네임 서버는 DNS 레코드를 위한 다른 Time to Live (TTL) 값이 구성되어 있기 때문에 최대 72시간이 걸릴 수 있습니다.

자체 DNS 서버를 설정할 수 있나요?

일반적으로 DNS 서버는 인터넷 서비스 제공업자(ISP)가 제공합니다. 그러나 자체 DNS 서버를 운영하면 시스템과 네트워크에 대한 더 나은 제어권을 제공할 수 있습니다. Windows DNS Server, PowerDNS, Technitium 등과 같은 DNS 서버 소프트웨어를 설치하여 자체 DNS 서버를 설정할 수 있습니다. DNS 서버 소프트웨어는 Windows, Linux, iOS 등 다양한 운영 체제용으로 제공됩니다.

DNS와 보안

DNS는 다른 인터넷 프로토콜과 마찬가지로 보안을 고려하여 설계되지 않았습니다. 그러나 DNS 보안은 DNS 구성요소를 모든 수준의 공격으로부터 보호하는 데 중요한 역할을 합니다. 따라서 DNS 인프라를 보호하기 위해 DNSSEC, DNS 로깅 등 효과적인 보안 전략을 개발하는 것이 중요합니다.

DNS에는 보안 취약점이 있나요?

DNS는 다양한 보안 위협에 취약하며, 해커들은 DNS 서버를 타겟으로 하는 고급 공격 방법을 찾아냅니다. 일반적인 DNS 공격에는 다음이 포함됩니다:

DNS 캐시 독점공격

DNS 캐시 위조 또는 DNS 스푸핑은 공격자가 DNS 캐시에 잘못된 정보를 추가하여 웹 트래픽을 악의적인 웹 페이지로 리디렉션하는 DNS 공격 유형입니다.

DNS 터널링

DNS 터널링은 DNS 프로토콜을 활용하여 DNS 쿼리나 응답 패킷에 민감한 데이터를 터널링하는 공격 기법입니다.

환상 도메인 공격

A type of Denial of Service (DoS) attack in which attackers create a bunch of phantom domains that restrict servers from responding to DNS queries.

임의 하위 도메인 공격

A random subdomain attack is a type of Distributed Denial of Service (DDoS) attack in which many queries are sent to a targeted domain. Due to the high volume of traffic from multiple sources, requested information or services become unavailable to users.

DNSSEC란 무엇인가요?

DNS 보안 확장 (또는 DNSSEC)은 디지털 서명 프로세스를 구현하여 DNS 구성 요소를 보호하도록 개발된 보안 조치입니다. 이 프로세스에서 각 DNS 조회 과정에서 서명이 이루어져 DNS 레코드의 유효성을 보장하고 조회 과정을 안전하게 합니다.

DNS의 미래

DNS의 미래 발전은 보안에 크게 초점을 맞추고 있으며, 원래 형태의 DNS는 근본적으로 보안이 취약하다. 암호화된 쿼리가 보안 DNS를 어느 정도 보호할 수 있지만, DNS 서버는 공개 인터넷에서 널리 접근 가능하기 때문에 기밀성 문제가 남아있습니다.

DNS 쿼리의 초기 단계는 암호화되지 않았으며 누구에게나 보였습니다. 따라서 DNS 레코드의 암호화는 보안을 강화하고 도메인 공격을 예방하는 데 효과적일 것입니다.

리졸버 없이 DNS를 도입하면 성능과 개인 정보 보호가 향상될 수 있습니다. DNS 조회를 수행하는 데 소요되는 시간을 줄이고 정확하고 검증된 DNS 레코드를 제공할 수 있습니다.

Source:
https://petri.com/what-is-dns/