개발 블로그

DNS 란? DNS 뜻 쉽게 설명하기 본문

DNS 란? DNS 뜻 쉽게 설명하기

daehwan2 2023. 12. 3. 00:08

DNS 는 Domain Name System 의 약자로, 도메인 이름을 ip주소로 변환하기 위한 시스템이다.

여기서 말하는 Domain Name 은 흔히 우리가 접속하는 웹사이트의 주소이다.

 

만약 www.naver.com  을 브라우저에서 입력 하였을 경우, 우리는 아래와 같은 웹사이트를 볼 수 있다.

어떤 과정을 통해서 볼 수 있을까?

 

우선 저 네이버의 html 파일과, css, js, 이미지 파일 등 웹사이트를 구성하는 기본적인 콘텐츠들은 모두 네이버의 서버에 있다.

그렇기 때문에 네이버 서버로 부터 해당 파일들을 받는 과정이 필요하다.

 

그럴려면 네이버의 ip 주소를 알아야 한다.

www.naver.com으로 어떻게 네이버의 ip 주소를 알 수 있을까? 바로 DNS 를 이용해서 ip 주소를 얻을 수 있다!

이해를 하기에 좋은 그림이 있어서 가져왔다.

출처. 얄팍한 코딩사전 ( https://www.youtube.com/watch?v=6fc9NAQkcv0 )

 

출처. 얄팍한 코딩사전 ( https://www.youtube.com/watch?v=6fc9NAQkcv0 )

먼저 본인의 피씨 hosts 파일과 브라우저의 캐싱되어 있는 것에서 www.naver.com  의 ip 주소가 저장이 되어있는지 확인한다. 로컬에 캐싱이 되어 있다면 바로 ip 주소를 얻을 수 있다. 위 그림에서 Local 에 해당하는 과정이다. 

만약 캐싱이 되어 있지 않다면 그제서야 DNS 서버로 요청을 하게 된다.

이 때 DNS 서버의 구조는 계층형으로 되어 있다. 도메인을 뒤에서 부터 읽어 나가면서 각 서버로 접근하게 되고, 각 서버는 아래 계층 서버의 주소를 주게 된다. 그렇게 최종적으로는 맨 아래 계층의 서버가 실제 ip 를 주게 된다.

 

 

크롬 브라우저의 경우 chrome://net-internals/#dns 해당 경로로 접근을 하게 되면

아래와 같이 캐싱되어 있는 주소를 확인할 수 있다. 나의 경우  223.130.195.95 와 223.130.195.200 두개의 주소가 캐싱되어 있다.

실제로 브라우저 창에 해당 주소를 입력하면 같은 네이버 사이트로 접근할 수 있다.

 

 

반응형
Comments