탕구리's 블로그

[네트워크 개론] 네트워크 서비스 2편 - DNS 본문

Conception/Computer Network

[네트워크 개론] 네트워크 서비스 2편 - DNS

탕구리당 2019. 2. 28. 17:31
반응형


시작하기 전에

해당 블로그에 작성되는 글은 주인장의 지극히 주관적인 생각이 다수이며, 대부분의 지식은 구글링을 통해 얻고 있기 때문에 옳지않은 정보가 있습니다. 

잘못된 부분이나 수정해야 하는 부분이 있다면 과감히 덧글을 남겨주세요! 모르는게 많은 새싹입니다




오늘의 주제

오늘의 주제는 네트워크 서비스 2편 DNS 서버에 관한 내용입니다. DNS 또한 DHCP와 같이 관리 및 운영을 담당하는 서비스인데요. DNS 서버는 무슨역할을 하는지, 그 역할을 수행함에 있어서 어떤 과정이 일어나는지에 대해서 간단한게 알아보도록 하겠습니다. 또, 실시간으로 DNS를 실시간으로 갱신해주는 DDNS에 대해서도 간략하게 알아 보겠습니다



DNS 란?

DNS의 풀 네임은 Domain Name Server 입니다. DNS는 네트워크에서 호스트명으로 부터 대응하는 IP 주소를 검색하여 취득하는 서비스를 말합니다.  네트워크에 존재하는 모든 컴퓨터에는 IP 주소가 존재하며, 통신이 이루어질 때 이 IP를 통해 대상이 누구인지를 판별합니다. 하지만 IP 주소는 32비트로 이루어진 숫자이기 때문에 하나하나 기억하기 힘들기 때문에 이런 불편을 해소하기 위해 여러가지 대안책이 나왔으며 DNS는 그 중 하나입니다.


DNS의 종류와 역할


1. Forward Zone => 우리가 흔히 생각하는 "네임서버" (도메인 이름 -> IP)

2. Reverse Zone => DNS서버 자기 자신에 대한 정보를 기록 (IP -> 도메인 이름)


DNS의 종류는 크게 세가지가 있습니다.

1. Primary(Master) => 도메인을 가지기 위해 가장 기본이 되는 서버입니다. 

2. Secondary(Slave) => Primary  서버의 백업 용도 입니다. 

3. Caching Only => 우리가 아는 그 캐싱 역할을 하는 서버입니다. 검색 된 기록이 있는 주소에 대해서 저장해 두었다가 빠르게 응답할 수 있습니다. 



DNS에서 주소를 찾아가는 과정

DNS를 통해 IP주소를 찾아가는 과정은 아래 그림과 같습니다.

사진출처 : https://www.netmanias.com/ko/post/blog/5353/dns/dns-basic-operation



1. 사용자는 브라우저를 통해 "www.naver.com"이라는 도메인에 접근 요청을 합니다.

2-(1). 로컬에 해당 도메인에 대한 기록이 있는경우) - 바로 연결

2-(2). 없다면 Root dns(.) 서버에 요청을 보냅니다. * root dns는 전 세계에 13대가 구축되어 있다고 합니다.

3. root dns로 부터 com DNS의 주소를 얻어 이동하여 naver.com DNS로 이동합니다.

4. naver.com DNS로 부터 www.naver.com의 IP 주소를 최종적으로 얻습니다.

5. IP 주소를 획득한 Local DNS는 브라우저에게 IP 주소를 전달합니다.

6. IP 주소를 획득한 브라우저는 해당 IP를 가진 서버에 요청을 보내고 페이지에 대한 정보를 받아온다.



우리가 브라우저에 도메인 주소를 입력하고 원하는 페이지를 전송받기 까지 위와 같은 과정들이 일어납니다



DDNS (Dynamic Domain Name Server)

DDNS란 실시간으로 DNS를 갱신하는 서버입니다. 도메인의 IP가 유동적인 경우, IP가 바뀌어도 DDNS로 설정한 도메인의 값은 변하지 않습니다. 일반 가정에서 유동 IP를 사용하는 사용자가 DNS를 등록해놓은 경우, 유동 IP가 변경되기 전까지는, 해당 IP로 요청을 한 경우 정상 적으로 연결될 것입니다. 하지만, 이 유동 아이피가 변경된 경우 (다른 사용자가 할당 받게 됨) 해당 도메인으로 연결 시 엉뚱한 곳(?)으로 연결이 되게 됩니다. 이런 이유로 DDNS는 보통 유동 IP로 인터넷을 공급받는 사용자들이 개인서버나 NAS를 구축할 때 많이 사용합니다.






이렇게 이번 포스팅에서는 DNS가 무엇인지 어떤 종류가 있고, DNS를 통해 어떤 과정이 이루어지는지 알아 보았습니다. DNS를 공부하다보니 DNS에 관련한 취약점들이 굉장히 많이 있더라구요. 하나하나 전부 정리하자니 양이 많아서 간단하게 개념을 정리할 수 있을 정도만 정리해 보았습니다.

반응형
Comments