DNS (Domain Name Service)
한 줄 정리
DNS (Domain Name Service)
- 도메인 주소(www.google.com 등)를 그에 대응하는 IP주소(172.217.175.228 등)로 변환해주는 서비스.
(두 줄이라구요? 어쩌라구요.)
일반적으로 우리가 웹 사이트에 접속할 때, 웹 브라우저 주소창에 [www.google.com]과 같은 사이트 주소를 입력한다.
하지만 사실 컴퓨터는 [www.google.com]과 같은 형태의 주소를 알아듣지 못한다.
인터넷에 연결된 모든 컴퓨터는 IP주소를 통해 서로를 식별하기 때문이다.
그럼 컴퓨터는 어떻게 문자열로 된 주소를 이용해 다른 사이트에 접속하는 것일까?
이 때 사용되는 것이 DNS다.
DNS가 무엇인지 이해하려면, 주소창에 주소를 입력했을 때 무슨 일이 일어나는지 먼저 알아야 할 필요가 있다.
사용자가 웹 사이트에 접속하는 과정
우리가 특정 웹 사이트에 접속하는 과정을 간략히 정리하면 다음과 같다.
1. 사용자가 웹 브라우저에 [www.google.com]과 같은 사이트 주소를 입력한 뒤 접속을 요청한다.
2. 사용자는 DNS 서버에게 [www.google.com]의 IP주소를 질의한다.
3. DNS 서버를 통해 [www.google.com]의 IP 주소를 획득한 사용자는 주소창의 [www.google.com] 부분을 해당 IP 주소로 바꿔 웹 사이트에 접속한다.
도메인과 DNS
인터넷에 연결된 모든 컴퓨터는 자신의 IP주소를 가지고 있고, 이 IP주소를 통해 서로를 식별한다.
기업에서 운영하는 웹 서비스도 기업이 운영하는 서버(웹 서버)를 통해 구현되며, 이 웹 서버 역시 자신의 IP 주소를 가지고 있다.
하지만 사용자가 웹 사이트에 접속할 때마다 이러한 IP주소를 모두 외워서 통신하기 힘드므로 [www.google.com]이나 [www.naver.com]과 같이 사람이 알아볼 수 있는 형태의 문자열로 IP주소를 대체할 수 있도록 하였다.
이 때 [www.google.com], [www.naver.com]과 같은 문자열 형태의 주소를 도메인 혹은 도메인 주소라 하며,
도메인 주소를 그에 대응하는 IP주소로 바꿔주는 서비스를 DNS(Domain Name Service)라 한다.
그럼 DNS 서버는? 말 그대로 DNS를 제공하는 서버다.
도메인, 도메인 주소 (Domain)
- [www.google.com], [www.naver.com]과 같이 사용자가 알아보기 쉬운 문자열 형태의 주소
DNS (Domain Name Service)
- 도메인 주소를 IP주소로 변환해주는 서비스
DNS 서버를 간단히 네임 서버라 부르기도 한다. 약칭이지만 대부분의 사람이 알아듣는다.
물론 여기서 사람은 네트워크 혹은 시스템 엔지니어다.
DNS의 특징
1. 계층 구조를 이룬다.
우리가 사용하는 모든 사이트 주소(호스트 이름)는 끝에 . 기호가 생략되어 있는 형태다.
. 은 루트 DNS 서버를 나타내며, 루트 DNS 서버의 하위 계층에 com, edu, net 등의 네임 서버가 위치해 있다.
특히 이 레벨에 있는(루트 DNS 서버 바로 아래 계층, com 등) DNS 서버들을 Top Level DNS(TLD)이라 한다.
com, edu 등의 DNS 서버 하위에 또 다시 여러 계층의 DNS 서버가 존재한다.
예컨데, [www.itclass.com]이라는 호스트의 전체 도메인 이름은 [www.itclass.com.]이며,
루트 DNS(.) 하위의 com DNS 하위의 itclass DNS 하위의 www 이름을 가진 호스트를 의미한다.
또한, 상위 DNS 서버는 등록된 하위 DNS에 대해 하위 DNS가 자신의 하위 도메인을 어떤 방식으로 구성하든지 관여하지 않는다. 이를 느슨한 계층 구조라 한다.
2. 분산형 데이터베이스의 첫 성공사례다.
DNS의 계층 구조를 보면, 각 DNS 서버는 자신의 하위 도메인에 대한 정보만 가진다.
예를 들어 루트(.) DNS는 자신 하위의 com, edu, net 등의 DNS 서버에 대한 정보만을 가지고 있으며, 누군가 루트 DNS에게 [www.google.com]의 주소를 질의한다면 루트 DNS는 자신이 관리하고 있는 com DNS 서버의 주소만 전달한다.
해당 도메인을 질의한 사용자는 전달받은 com DNS 서버에게 다시 하위 범위의 주소를 묻는 식이다.
즉 하나의 네임 서버(DNS 서버)가 자신의 하위 계층으로 이어진 모든 주소를 관리하지 않는다.
DNS가 등장하던 당시에는 이런 방식의 데이터 관리 방식이 성공하지 못할 것이라 여겼지만,
문제 없고 안정적이라는 사실이 밝혀져 지금까지 이 시스템이 잘 유지되고 있다.
사실 DNS의 내용 자체는 대단하거나 어려운 내용이 없다.
정리하다 보니 내용이 좀 길어졌지만 도메인 이름을 IP주소로 변환하는 역할을 수행한다는 것만 잘 기억하면 될 듯하다.