DNS 의 기초 상식

DNS 가 무엇이며 어떤 기능을 하는지
간단하게 알아볼 수 있게 정리했습니다.

 

Domain Name system

구글에서 DNS 를 검색해 보시면 도메인 이름 시스템(DNS)은 사용자에게 친숙한 도메인 이름을 컴퓨터가 네트워크에서 서로를 식별하는 데 사용하는 인터넷 프로토콜(IP) 주소로 변환하는 인터넷 표준 프로토콜의 구성 요소입니다. 라고 나와있습니다.

하지만 이렇게 용어가 어렵기 때문에 이해하기가 쉽지 않습니다. 따라서 저는 나름대로 이렇게 생략해 보았습니다.

 

DNS는 사람이 이해하기 쉬운 도메인 이름( http://www.example.com ) 을 

컴퓨터가 이해하기 쉬운 IP 주소(예: 192.0.2.1)로 변환하는 역할을 한다고 말이죠.

 

간단한 용어 설명

1. 도메인 이름 (Domain Name)

도메인 이름은 웹사이트나 네트워크 서비스를 식별하는 데 사용되는 사람이 이해하기 쉬운 문자열입니다. 

도메인 이름은 계층적인 구조를 가지며, 오른쪽에서 왼쪽으로 점으로 구분됩니다. 

예를 들어, "http://www.example.com" 은 "com" 도메인 내에 있는 "example" 하위 도메인 내의 "www" 호스트를 가리킵니다.
    
2. IP 주소 (Internet Protocol Address)

IP 주소는 컴퓨터 또는 네트워크 장치를 고유하게 식별하는 숫자입니다.

모든 인터넷 연결된 장치는 IP 주소를 가지고 있으며, 데이터를 주고받을 때 이 주소를 사용하여 통신합니다.
    
3. DNS 서버 (DNS Server)

DNS 서버는 도메인 이름을 IP 주소로 변환하거나 그 반대로 IP 주소를 도메인 이름으로 변환하는 역할을 합니다.

이러한 서버들은 전 세계에 분산되어 있으며, 이를 통해 인터넷 사용자는 도메인 이름을 입력하여 웹사이트에 액세스할 수 있습니다.
    
4. DNS 쿼리 (DNS Query)

사용자가 웹 브라우저에 도메인 이름을 입력하면, 컴퓨터는 DNS 서버에 해당 도메인 이름을 IP 주소로 변환해 달라는 요청을 보냅니다.

이 요청을 DNS 쿼리라고 하며, DNS 서버는 이를 처리하여 응답을 반환합니다.
    
5. DNS 레코드 (DNS Record)

DNS 서버에는 다양한 유형의 DNS 레코드가 저장되어 있습니다. 
이 레코드들은 도메인 이름과 관련된 정보를 포함하며, 예를 들어 A 레코드는 도메인 이름을 IPv4 주소로 매핑하고, 

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

 

여기까지 용어를 이해하시고 다시 간략하고 쉽게 설명하자면 DNS(Domain Name System)는 인터넷 전화번호부입니다.

사람은 nytimes.com 또는 espn.com과 같은 도메인 이름을 통해 온라인으로 정보에 액세스합니다.

웹 브라우저는 인터넷 프로토콜(IP) 주소를 통해 상호작용합니다. DNS는 브라우저가 인터넷 자원을 로드할 수 있도록 도메인 이름을 IP 주소로 변환합니다. 인터넷에 연결된 각 기기에는 다른 컴퓨터가 기기를 찾는 데 사용하는 고유한 IP 주소가 있습니다.

DNS 서버를 사용하면 사람이 192.168.1.1(IPv4의 경우)과 같은 IP 주소 또는 2400:cb00:2048:1::c629:d7a2(IPv6의 경우)처럼

영문과 숫자로 된 복잡한 IP 주소를 기억할 필요가 없습니다.

그림으로 쉽게 이해하기

 

내 컴퓨터에서 ww.naver.com 에 접속하려고 합니다.  그런데, 현재 내 브라우저는 이 서버의 IP 를 알지 못합니다.
그래서 브라우저는  PC 에 설정된 로컬 DNS 서버에 해당 도메인과 호스트명의 IP 를 갖고 있는지 물어봅니다.
DNS 서버는 그냥 네임 서버라고 불리기도 합니다. 이 로컬 DNS 서버는 보통 통신사마다 지정된 곳이 있는데 사용자가 다른 곳으로 바꿀 수도 있습니다. 여튼 여기에는 이 주소(ww.naver.com)의 정보가 이미 캐싱돼있을 수도 있고 없을 수도 있습니다.
있는 경우 바로 반환을 하며, 없을 경우 로컬 DNS 는 이 Root DNS 서버에다가 이 주소에 해당하는 IP를 어디서 찾을 수 있는지 물어봅니다. 이때 이 루트 DNS 서버 자체는 전 세계에 13군데가 있습니다. 이 Root DNS 서버는 .com 으로 끝나는 도메인들을 담당하는 서버의 IP 주소를 반환합니다. 그럼 로컬 DNS 서버는 이 주소를 받아서 다시 .com 을 담당하는 서버에 도착하면 .com 을 담당하는 서버는 다시 naver.com 의 도메인 정보를 가진 서버의 IP 주소를 반환합니다. 그러면 마지막으로 navber.com 의  도메인 정보를 가진 서버로 도착하게 되면 여러 호스트네임별 IP 주소들이 들어있습니다.  여기로 부터 www 에 해당하는 IP 주소를 얻어낸 다음 브라우저에게 반환하고 비로소 www.naver.com 의 서버로 접속하게 됩니다.

'CS' 카테고리의 다른 글

Docker 실습  (1) 2024.10.28
Docker  (1) 2024.10.26
운영체제 기본에 대해서  (0) 2024.06.28
Cookie vs Session vs JWT  (0) 2024.05.15
Virtual DOM 을 왜 쓰나요?  (0) 2024.05.11