본문 바로가기
컴퓨터

[티라노] DNS,도메인 이란? (2)

by tyrannojung 2020. 10. 1.
반응형

안녕하세요 tyrannoCoding입니다.

 

DNS 란? (2)

DNS는 도메인에 대한 IP를 등록한 것을 기억하는 것과, 해당 도메인을 누군가가 물어보면 IP를 알려주는 기능을 합니다.

다만 여기서 중요한 것은 DNS 서버는 전 세계 한대가 아닌, 수천수만 대의 서버가 있습니다. 그것이 어떻게 가능한지에 대해 설명드리겠습니다.

 

도메인이란?

예를 들어 tyrannocoding.tistory.com이라는 주소가 있습니다. 그런데 com. 뒤에는. 이 있고, 그. 은 항상 생략되어 있습니다. tyrannocoding.tistory.com. 이런 식으로 도메인은 각 부분마다 이름이 있습니다.

출처 - 생활코딩

. 은 최상위에 있다고 해서, root도메인입니다. 그리고 com은 top-level도메인, example은 second-level도메인 , blog는 sub도메인입니다. 그리고 각각의 부분들을 담당하는 독자적인 서버 컴퓨터들이 존재합니다. 위는 총 4대의 서버가 있고, 그 각각이 dns서버들입니다. 기능은 똑같은데, 전담하는 파트가 다를 뿐이죠.

 

그리고 핵심은 ROOT도메인을 담당하는 서버는, top-level을 담당하는 서버들의 목록들을 알고 있습니다. top-level을 담당하는 서버들은 마찬가지로 second-level ~ 이런 식으로 각각의 관계는 상위계층이 하위 계층을 알고 있습니다. 하지만 root는 second가 무엇인지를 모릅니다. 직속 하위 파트만 알고 있을 뿐이죠. (약간 블록체인 같네요.)

 

결국 위 사진의 blog.example.com 주소의 ip를 알고 싶으면, sub도메인을 전담하고 있는 dns서버의 ip주소를 알아야 합니다.

(인터넷  dns 서버에는 cash가 있습니다. 만약 blog.example.com. 을 검색했을 때, root에 물어보고 top에 물어보고 이런 식으로 하면 매우 느리겠죠. 그런데 다음에 요청할 땐, 해당 ip를 기억하고 있어야 성능도 좋고 네트워크의 부화도 줄어들기 때문입니다.)

 

도메인 등록

 

출처 - 생활코딩

사진을 보면 맨 우측 ICANN이라는 비영리단체 IP배급사가 있습니다.

ICANN은 도메인 관련 국제 최고 기구이며, 도메인 관리 및 정책을 결정합니다. 즉 root name서버들의 관리자입니다. 

(전 세계 IP주소를 관리하는데, 대륙마다 배급사가 달라집니다. 우리 아시아는 apnic라는 곳에서 관리합니다.)

(ROOT name server는 중요한 역할을 가지고 있습니다. 바로 top-level도메인 서버들의 주소를 기억하는 거죠)

 

Registry(등록소, 시행사)는 전 세계 도메인 DB를 관리합니다. 대표적으로 KISA(. kr), VERISIGN(. com) 등이 있습니다.

 

Registrar(등록대행자)는 Registry와 계약한 공식 등록 업체입니다. ICANN과 Registry의 승인을 받아, 국가도메인(ccTLD) 또는 일반 도메인(gTLD)의 등록/관리 대행을 맡고 있습니다.

 

도매인 등록과정

이제 우리가 tyrannocoding.com이라는 주소를 등록하고 싶다고 가정해봅시다.

 

우리가 서버 한대를 마련해서 name server를 깔고 여기에 도메인 세팅을 하여 직접 구축할 수도 있지만, 많은 경우에 등록 대행자가 name server를 제공하는 경우가 많고, 무료로 사용 가능한 name서버 또한 많습니다.

 

우리는 등록대행자에게 tyrannocoding.com 주소로 우리  ip를 쓰고 싶다고 말하면, 등록 대행자는 등록소에 등록을 해줍니다. 등록소는 tyrannocoding.com을 등록했으므로, 계약기간 동안 다른 사람들에게 도매인을 사용할 수 없게 합니다. 이렇게 등록되면 이제 다른 사람들이 방문을 할 수 있게 됩니다.

 

도매인 방문과정

Client들은 우리의 사이트 접속을 위해 인터넷을 사용이 필요하고, 그래서 랜선을 꼽거나, 와이파이를 연결할 텐데요. 연결하는 순간 자동으로 DBCP를 통해 Client의 컴퓨터가 도메인 정보를 조회할 때 사용할, 도메인 네임서버의 주소가 자동으로 세팅이 됩니다. 이제 해당 DNS 서버를 이용해 자신이 필요한 도메인의 IP를 알아내는 것이죠.

 

전 세계의 모든 NAME 서버는 반드시 ROOT NAME SERVER의 주소를 알고 있습니다. 그것을 모르면 통신 자체가 되지 않습니다. 그러므로 tyrannocoding.com을 치는 순간 dns서버가 해당 주소를 모르면, Client의 컴퓨터에 연결된 DNS 서버는 root name server의 주소를 알고 있으므로, 거기에 물어봅니다. 그러면 top-level 서버의 주소를 알려주고,  우리가 또 top-level서버에 물어보면, tyrannocoding.com 주소를 알고 있는, authoritative name server의 주소를 알려주고 그 친구가 정답을 알려주게 됩니다.

 

핵심요약

도매인이란 우리 ip를 쉽게 표현하는 주소이며, DNS를 통해 복잡한 과정을 알 필요 없이, 안전하게 도매인을 이용해 모든 사이트 들을 접속 할 수 있다.

반응형

댓글