DNS란?
DNS는 Domain Name System의 줄임말로 도메인 네임 시스템을 의미한다. DNS는 호스트의 도메인 네임을 네트워크 주소(IP주소)로 변환하거나, 그 반대의 역할을 수행하는 시스템이다.
상위 기관에서 인증된 기관에게 도메인을 생성하거나 IP주소를 변경할 수 있는 '권한'을 부여하는 '계층 구조'를 가지는 분산 데이터베이스 구조를 가진다.
예를들어, Naver, Google 같은 경우도 도메인 주소는 Naver.com과 Google.com이지만 IP 주소는 각각 233.130.200.95와 142.250.207.14이다.
터미널에서 네이버의 DN을 적어 ping을 확인해 보는 법

만약 ip주소가 다르더라도 너무 걱정하지는 않아도 된다. 네이버의 서버는 여러 대의 컴퓨터로 구성되어 있어 하나의 IP주소로 제한되어 있지 않다. 또한 네이버는 전 세계 사용자에게 서비스를 제공하므로 여러 지역에서 서로 다른 IP주소를 사용할 수도 있기 때문이다. 실제로 본인도 접속할 때마다 IP주소가 달라진다.
두 IP 주소가 다를 수 있는 이유는 다양하게 존재하지만, 그중 대표적인 이유로는 일부 ISP 또는 네트워크 구성에 따른 것이다. 우리가 중요하게 봐야 할 것은 naver.com으로 들어갔지만 ip 주소로 이동된다는 것이다.
즉, 우리가 naver.com으로 접속하면 아래와 같은 과정을 걸쳐서 접속이 되는 것이다.
- 도메인 주소 naver.com을 브라우저에 입력하게 되면, 도메인 주소들을 가지고 있는 DNS서버에 접속된다.
- DNS서버에 접속한 도메인(naver.com)과 연결된 IP정보(223.130.192.95)를 확인하고, IP를 우리에게 다시 전달해 준다.
- 우리는 전달받은 IP주소로 접속한다.
DNS의 구성요소
DNS는 아래의 세 가지의 구성요소로 구성되어 있다.
1. 도메인 네임 스페이스 - Domain Name Space
2. 네임 서버 - Name Server = 권한이 있는 DNS서버
3. 리졸버 - Resolver = 권한이 없는 DNS서버
도메인 네임 스페이스
도메인 네임 스페이스는 전체적인 도메인 이름 시스템의 계층적인 구조를 나타낸다. 도메인은 계층적으로 구성되어 있어, 상위 도메인에서부터 하위 도메인으로 이어지는 구조를 가지고 있다. 이러한 계층구조는 도메인 이름의 계층적인 분류와 관리를 가능하게 한다.
네임 서버
네임 서버는 도메인 이름과 해당 도메인의 IP주소를 매핑시켜 주는 역할을 한다. 네임 서버는 두 가지 주요 유형으로 나뉜다.
권한이 있는 DNS서버는 특정 도메인에 대한 IP주소 정보를 가지고 있고, 이 정보를 요청받으면 정확한 응담을 할 수 있는 서버이다. 이러한 권한 서버는 도메인 이름의 소유자나 도메인 관리자가 관리하고 있다.
리졸버
리졸버는 사용자 컴퓨터나 네트워크 장비에서 도메인 이름을 IP주소로 변환해 주는 역할을 한다. 리졸버는 사용자가 웹 브라우저에 도메인 이름을 입력하면 이를 IP 주소로 변환하여 해당 웹 사이트에 접속할 수 있도록 도와준다. 리졸버는 일반적으로 ISP나 기업의 네트워크에 제공되며, 사용자가 도메인을 검색할 때마다 적절한 네임 서버에 요청을 보내고 응답을 받아 사용자에게 전달한다.
DNS의 작동 원리
위에서 설명했듯이 클라이언트가 도메인 명을 브라우저에 검색을 하면, 도메인 정보가 저장된 네임서버로 이동해서 도메인 정보와 일치하는 IP주소를 클라이언트에게 제공하고 클라이언트는 IP주소를 가지고 홈페이지로 접속하는 과정은 다르지 않다.
단지, DNS에서 도메인 & IP 정보를 얻는 과정을 쉽게 설명하였지만 사실은 복잡하게 되어 있다는 것이다.
왜냐하면 전체 도메인 수가 너무 많아서 DNS 서버 종류를 계층화해서 단계적으로 처리하기 때문이다.
DNS 동작 순서
1. 도메인 이름 입력
사용자가 웹 브라우저나 다른 네트워크 응용 프로그램에서 도메인이름을 입력한다.
2. 로컬 캐시 탐색
우선 사용자의 컴퓨터에 있는 Local DNS서버에서 이전에 해결한 도메인 이름에 대한 IP주소가 저장되어 있는지 확인한다.
저장된 경우, 추가적인 DNS를 조회하지 않고 캐시에서 IP주소를 가지고 온다.
3. Root DNS 서버 조회
2번 단계에서 캐시에 IP주소가 없다면, IP주소를 찾기 위해서 다른 DNS 서버들과 통신을 시작한다. 우선, Local DNS서버에서 DNS 계층 구조의 최상위에 위치한 Root DNS서버에 쿼리를 보낸다.
만약 Root DNS서버에서 IP주소를 찾을 수 없을 경우 Local DNS서버로 IP주소가 없다고 다른 Root DNS서버로 요청을 보내라고 전달해 준다.
4. Top-Level Domain DNS 서버 조회
Root DNS서버는 com 도메인을 관리하는 최상위 도메인서버(TLD)의 주소를 Local DNS서버에 알려준다.
역시 IP주소를 찾을 수 없는 경우 다시 Local DNS서버에 찾을 수 없다고 전달해 준다.
5. 도메인 네임 서버 조회
TLD DNS 서버는 실제 도메인에 대한 권한을 가지고 있는 도메인 네임 서버의 주소를 로컬 DNS 서버에 제공 한다. 이 도메인 네임 서버는 요청된 도메인에 대한 IP주소 정보를 가지고 있다.
6. 도메인 네임 서버로의 질의
Local DNS 서버는 도메인 네임 서버에 질의를 보내 도메인에 대한 IP주소 정보를 요청한다.
7. Local DNS 서버에서 클라이언트로 응답 전송
Local DNS 서버는 받은 IP 주소 정보를 로컬 캐시에 저장하고, 도메인 이름을 요청한 클라이언트에게 IP주소를 전송한다.
8. 클라이언트 응용 프로그램에서 웹 서버로 접속
최종적으로, 클라이언트 응용 프로그램은 받은 IP주소를 사용하여 웹 서버에 직접 접속한다.
DNS 서버의 종류
Reference
🌐 DNS 개념 & 동작 ★ 알기 쉽게 정리
DNS (Domain Name System) 란? 도메인 네임 시스템 (Domain Name System, DNS) 은 호스트의 도메인네임 (www.example.com)을 네트워크주소(192.168.1.0)로 변환하거나, 그 반대의 역할을 수행하는 시스템이다. 예를 들
inpa.tistory.com
'Theory' 카테고리의 다른 글
운영체제(OS) 메모리 관리 (1) | 2023.11.19 |
---|---|
DNS 서버의 종류 (1) | 2023.11.11 |
인터넷은 어떻게 동작하는가? (1) | 2023.11.09 |
WebSocket과 HTTP, SSE (1) | 2023.10.17 |
Django csrftoken (0) | 2023.08.08 |
DNS란?
DNS는 Domain Name System의 줄임말로 도메인 네임 시스템을 의미한다. DNS는 호스트의 도메인 네임을 네트워크 주소(IP주소)로 변환하거나, 그 반대의 역할을 수행하는 시스템이다.
상위 기관에서 인증된 기관에게 도메인을 생성하거나 IP주소를 변경할 수 있는 '권한'을 부여하는 '계층 구조'를 가지는 분산 데이터베이스 구조를 가진다.
예를들어, Naver, Google 같은 경우도 도메인 주소는 Naver.com과 Google.com이지만 IP 주소는 각각 233.130.200.95와 142.250.207.14이다.
터미널에서 네이버의 DN을 적어 ping을 확인해 보는 법

만약 ip주소가 다르더라도 너무 걱정하지는 않아도 된다. 네이버의 서버는 여러 대의 컴퓨터로 구성되어 있어 하나의 IP주소로 제한되어 있지 않다. 또한 네이버는 전 세계 사용자에게 서비스를 제공하므로 여러 지역에서 서로 다른 IP주소를 사용할 수도 있기 때문이다. 실제로 본인도 접속할 때마다 IP주소가 달라진다.
두 IP 주소가 다를 수 있는 이유는 다양하게 존재하지만, 그중 대표적인 이유로는 일부 ISP 또는 네트워크 구성에 따른 것이다. 우리가 중요하게 봐야 할 것은 naver.com으로 들어갔지만 ip 주소로 이동된다는 것이다.
즉, 우리가 naver.com으로 접속하면 아래와 같은 과정을 걸쳐서 접속이 되는 것이다.
- 도메인 주소 naver.com을 브라우저에 입력하게 되면, 도메인 주소들을 가지고 있는 DNS서버에 접속된다.
- DNS서버에 접속한 도메인(naver.com)과 연결된 IP정보(223.130.192.95)를 확인하고, IP를 우리에게 다시 전달해 준다.
- 우리는 전달받은 IP주소로 접속한다.
DNS의 구성요소
DNS는 아래의 세 가지의 구성요소로 구성되어 있다.
1. 도메인 네임 스페이스 - Domain Name Space
2. 네임 서버 - Name Server = 권한이 있는 DNS서버
3. 리졸버 - Resolver = 권한이 없는 DNS서버
도메인 네임 스페이스
도메인 네임 스페이스는 전체적인 도메인 이름 시스템의 계층적인 구조를 나타낸다. 도메인은 계층적으로 구성되어 있어, 상위 도메인에서부터 하위 도메인으로 이어지는 구조를 가지고 있다. 이러한 계층구조는 도메인 이름의 계층적인 분류와 관리를 가능하게 한다.
네임 서버
네임 서버는 도메인 이름과 해당 도메인의 IP주소를 매핑시켜 주는 역할을 한다. 네임 서버는 두 가지 주요 유형으로 나뉜다.
권한이 있는 DNS서버는 특정 도메인에 대한 IP주소 정보를 가지고 있고, 이 정보를 요청받으면 정확한 응담을 할 수 있는 서버이다. 이러한 권한 서버는 도메인 이름의 소유자나 도메인 관리자가 관리하고 있다.
리졸버
리졸버는 사용자 컴퓨터나 네트워크 장비에서 도메인 이름을 IP주소로 변환해 주는 역할을 한다. 리졸버는 사용자가 웹 브라우저에 도메인 이름을 입력하면 이를 IP 주소로 변환하여 해당 웹 사이트에 접속할 수 있도록 도와준다. 리졸버는 일반적으로 ISP나 기업의 네트워크에 제공되며, 사용자가 도메인을 검색할 때마다 적절한 네임 서버에 요청을 보내고 응답을 받아 사용자에게 전달한다.
DNS의 작동 원리
위에서 설명했듯이 클라이언트가 도메인 명을 브라우저에 검색을 하면, 도메인 정보가 저장된 네임서버로 이동해서 도메인 정보와 일치하는 IP주소를 클라이언트에게 제공하고 클라이언트는 IP주소를 가지고 홈페이지로 접속하는 과정은 다르지 않다.
단지, DNS에서 도메인 & IP 정보를 얻는 과정을 쉽게 설명하였지만 사실은 복잡하게 되어 있다는 것이다.
왜냐하면 전체 도메인 수가 너무 많아서 DNS 서버 종류를 계층화해서 단계적으로 처리하기 때문이다.
DNS 동작 순서
1. 도메인 이름 입력
사용자가 웹 브라우저나 다른 네트워크 응용 프로그램에서 도메인이름을 입력한다.
2. 로컬 캐시 탐색
우선 사용자의 컴퓨터에 있는 Local DNS서버에서 이전에 해결한 도메인 이름에 대한 IP주소가 저장되어 있는지 확인한다.
저장된 경우, 추가적인 DNS를 조회하지 않고 캐시에서 IP주소를 가지고 온다.
3. Root DNS 서버 조회
2번 단계에서 캐시에 IP주소가 없다면, IP주소를 찾기 위해서 다른 DNS 서버들과 통신을 시작한다. 우선, Local DNS서버에서 DNS 계층 구조의 최상위에 위치한 Root DNS서버에 쿼리를 보낸다.
만약 Root DNS서버에서 IP주소를 찾을 수 없을 경우 Local DNS서버로 IP주소가 없다고 다른 Root DNS서버로 요청을 보내라고 전달해 준다.
4. Top-Level Domain DNS 서버 조회
Root DNS서버는 com 도메인을 관리하는 최상위 도메인서버(TLD)의 주소를 Local DNS서버에 알려준다.
역시 IP주소를 찾을 수 없는 경우 다시 Local DNS서버에 찾을 수 없다고 전달해 준다.
5. 도메인 네임 서버 조회
TLD DNS 서버는 실제 도메인에 대한 권한을 가지고 있는 도메인 네임 서버의 주소를 로컬 DNS 서버에 제공 한다. 이 도메인 네임 서버는 요청된 도메인에 대한 IP주소 정보를 가지고 있다.
6. 도메인 네임 서버로의 질의
Local DNS 서버는 도메인 네임 서버에 질의를 보내 도메인에 대한 IP주소 정보를 요청한다.
7. Local DNS 서버에서 클라이언트로 응답 전송
Local DNS 서버는 받은 IP 주소 정보를 로컬 캐시에 저장하고, 도메인 이름을 요청한 클라이언트에게 IP주소를 전송한다.
8. 클라이언트 응용 프로그램에서 웹 서버로 접속
최종적으로, 클라이언트 응용 프로그램은 받은 IP주소를 사용하여 웹 서버에 직접 접속한다.
DNS 서버의 종류
Reference
🌐 DNS 개념 & 동작 ★ 알기 쉽게 정리
DNS (Domain Name System) 란? 도메인 네임 시스템 (Domain Name System, DNS) 은 호스트의 도메인네임 (www.example.com)을 네트워크주소(192.168.1.0)로 변환하거나, 그 반대의 역할을 수행하는 시스템이다. 예를 들
inpa.tistory.com
'Theory' 카테고리의 다른 글
운영체제(OS) 메모리 관리 (1) | 2023.11.19 |
---|---|
DNS 서버의 종류 (1) | 2023.11.11 |
인터넷은 어떻게 동작하는가? (1) | 2023.11.09 |
WebSocket과 HTTP, SSE (1) | 2023.10.17 |
Django csrftoken (0) | 2023.08.08 |