Programming/개념들

[WEB] 도메인, DNS(Domain Name System)서버와 Hosts 개념 이해

joah.k 2021. 7. 6. 15:10
728x90

 

Daum 홈페이지에 접속하려면? 

 

웹브라우저 주소창에 'daum.net'을 검색한다.

 

그러면 우리가 원하는 daum 홈페이지 메인 화면으로 이동한다. 

그런데 주소창을 확인해보면 https://www.daum.net/으로 URL이 바뀌어 나타난다. 

 

우리는 daum.net 을 검색했을 뿐인데,

왜 https~가 붙는 것이며, 브라우저는 어떻게 알아듣고 daum 으로 이동한 것일까? 

 

 

 

 

컴퓨터는 도메인을 이해하지 못한다 => DNS

 

마치 우리가 주소를 도로명, 시군구명, 우편번호로 분리하는 것과 마찬가지로 

브라우저는 전체 URL을 몇 조각으로 나눠서 사용자가 원하는 위치를 파악한다. 

 

 

프로토콜은 '이동수단' 개념으로 기본 프로토콜인 HTTP와, 보안성을 강화한 HTTPS가 있다. 

'www' 는 없어도 상관 없지만, 브라우저는 완전한 주소를 보여주기 위해 굳이 표시한다. (국가번호 +82 처럼) 

'daum.net' 은 도메인(domain)을 의미한다. 우리가 흔히 아는 사이트 주소가 그것이다. 

 

그런데 반전. 두둥. 컴퓨터는 도메인 이름을 이해하지 못한다. 

 

컴퓨터가 이해하는 것은 IP라는 숫자 코드이다. 컴퓨터는 ip 주소를 알아야만 웹사이트에 접속할 수 있다. 

마치 우리가 핸드폰에 '빌게이츠'라고 입력한다고 해서 빌 게이츠와 통화할 수 있는 것이 아니라

그의 전화번호를 알아야만 하는 것과 같다.

 

하지만 사이트 이용을 위해 ip 주소를 매번 외우기란 쉽지 않다.

따라서 domain 주소의 개념과, IP 주소를 domain 주소로 변경하기 위한 DNS 개념이 등장한다. 

 

 

 

 

DNS 서버가 하는 일

 

도메인 이름을 IP 주소로 전환하기 위해 브라우저는

도메인 이름 서비스 (DNS: Domain name system) 라는 것을 이용한다. 

 

DNS는 마치 방대한 주소록이라고 생각하면 쉽다.

 

컴퓨터의 하드드라이브에는 최근에 사용한 도메인 이름과 IP 주소의 조합이 저장되어 있다.

만일 도메인 이름과 결합된 IP 주소를 찾지 못한다면 컴퓨터는 컴캐스트에게 IP 주소를 묻는다. 

 

 

 

dns 서버에 가장 위에 있는 것은 root dns 서버이다.

root dns 서버는 com , org , edu , net 등 domain 주소 가장 마지막에 있는 주소의 ip를 관리한다. 

com dns 서버는 여러개의 dns주소를 관리 한다.

 

우리가 알고 있는 naver 등 com으로 끝나는 주소들은 com dns 서버가 ip를 갖고 있으며 관리한다.

 

관리하는 대상이 있는경우의 dns 서버를 책임 dns 서버라고 한다.
(우리가 연결한 dns - rocal dns 서버)


rocal dns 서버는 우리가 사용하는 dns 서버를 말한다. 모든 nds서버를 사용가능하지만, 가장 가까이
위치해있는 서버를 사용하여야 통신이 빠르다.

 

예를 들어 우리가 'blog.example.com'을 검색할 때,  

최초 root 네임서버의 IP 주소에게 blog.example.com을 물어보면 .com을 담당하는 Top-level을 알려주고,

Top-level은 example.com을 담당하는 Second-level을 알려주고,

Second-level은 blog.example.com 담당하는 sub DNS Server에게 물어보고, sub가 해당 IP 주소를 알려준다. (계층적) 

 

 

 

ip 주소와 Hosts의 개념 

 

모든 IP 주소를 기억하는 일은 너무 어렵다.

이것을 해결하기 위해 운영체제마다 hosts라는 파일이 존재한다.

 

이 파일에 IP와 도메인 이름을 저장해두면, 도메인 이름을 통해 다른 host에 접근할 수 있다. 

이 경우 DNS 에서 주소 정보를 제공받지 않고도 서버의 위치를 찾을 수 있다. 

 

 

 

* 호스트 파일 저장 위치는 윈도우 기준  C:\windows\system32\drivers\etc\hosts


 

728x90

'Programming > 개념들' 카테고리의 다른 글

[WEB] 웹 서비스 REST 와 SOAP / 장단점 비교  (0) 2021.07.07