1. DNS(Domain Name System)란?
DDNS를 이해하기 위해서는 먼저 DNS(Domain Name System)에 대해 알아야 한다.
인터넷 상에서 보통 웹에 접속하기 위해서는 ip주소라는 것을 사용하는데
이는 인터넷에서의 우리가 흔히쓰는 주소와 같은 개념이라고 보면 된다.
즉, 우리가 택배를 보내면 목적지에 해당하는 주소까지 택배기사 분들이 배송해주듯이
인터넷 세상에서도 데이터의 목적지의 ip를 적고 보내면 해당 ip를 가진 컴퓨터까지 데이터를 보낼 수 있다.
하지만 ip주소는 000.000.000.000 과 같이 연속된 12자리 숫자로 되어있어
일반 사람들이 외우기 힘든 구조로 되어있다.
여기서 필요한 개념이 DNS인데
ip주소를 사람들이 외우기 쉬운 www.naver.com과 같은 글자로 매핑하는 것이다.
실제로 한번 예시를 보면
네이버나 구글과 같은 유명한 사이트들을 cmd창을 열어 ping naver.com이라고 치면 아래와 같이 나오는데
이는 네이버의 실제 ip주소가 125.209.222.142 라는 것을 뜻한다.
어떻게 이런 것이 가능한 것일까?
스마트 폰이 나오기 전에 사람들은 전화를 걸 때 전화번호부에서 전화를 걸고싶은 상대(key)의 전화번호(value)를 찾고는 했는데 그것과 유사한 시스템이라 보면 된다.
우리가 www.naver.com이라고 치면 브라우저는 DNS를 운영하는 기업의 서버에게 이 도메인(key)에 해당하는 ip(value)가 무엇인지 물어보고 ip를 알아내면 그 주소로 다시 요청을 보내는 시스템이다.
이런 식으로 컴퓨터가 실제로 사용하는 ip주소 대신
인간이 외우기 쉬운 글자들로 주소를 매핑하는 것을 DNS(Domain Name System)라고 한다.
2. DDNS(Dynamic Domain Name System)란?
하지만 이렇게 ip를 000.000.000.000 형식으로 운영하다보면 문제가 발생한다.
바로 인터넷을 쓰는 사람은 전 세계에 있는데 반해 ip를 할당할 수 있는 것은 제한되어 있어 언젠가 할당 가능한 ip값이 고갈되어 버린다는 것이다.
이러한 문제를 해결하기 위해 웹서버와 같이 특정한 목적이 있지 않는 인터넷을 사용하는 대부분의 사람들은
ip주소값이 고정되어 있지 않고 접속할 때마다 주소가 바뀌는 유동ip를 사용하게 된다.
그리고 웹서버를 운영하는 등의 특정한 목적이 있어 고정된 ip값이 필요로 하는 사람들은 돈을 내고 고정ip를 주로 사는 방식을 이용하게 된다.
하지만 일반 개인도 이러한 고정 ip가 필요한 경우도 있는데 이런 경우에 활용하기 좋은 것이 DDNS이다.
DDNS를 사용하게 되면 개인이 사용하는 유동ip는 계속 바뀌지만
계속 바뀌는 ip를 도메인에 매핑되는 ip로 업데이트 해주면서 기억해주게 된다.
따라서 DDNS로 등록한 ip값이 바뀌어도 그때그때 바뀔때마다 바뀐 ip를 주기 때문에
서버처럼 쓸수가 있는 것이다.
(ip값이 고정되어 있지 않고 동적으로 계속 바뀌기 때문에 Dynamic Domain Name System이라고 부른다.)
간단한 예시를 들어서
우리가 웹서버를 하나 만들어서 DDNS를 www.chung.com이라고 매핑했다고 가정해보자.
그리고 등록할 당시에 이 DNS가 123.456.789.101에 매핑된 상태에서 서버를 배포하였다.
그런데 하루 뒤에 ip가 123.456.789.102 로 바뀌었다고 가정해보자.
이 때 사람들은 여전히 www.chung.com이라고 입력하여 서버에 접속하지만
이 도메인에 매핑된 ip주소값은 바뀐 123.456.789.102 로 주기 때문에 여전히 서버에 접속 가능하게 되는 것이다.
대기업이나 기관에서 사용하는 보안 솔루션을 개인이 사용하기엔 무리가 따르므로
보안상으로도 위험하다.
DDNS의 원리
Domain : IP 쌍을 파일에 저장하지 않고 주메모리에 저장. 유동 IP를 대상으로 하는 본 시스템의 특성상 IP를 영구 저장할 필요가 없으며 또한 수시로 그 내용을 갱신하면서 관리하는데는 주메모리가 가장 적당하기 때문.
DDNS 시스템을 구성하는 또 하나의 요소에는 Noti가 있다. DDNS는 각 회원의 컴퓨터에 설치되어 있는 Noti로부터 그 컴퓨터에 현재 할당되어 있는 IP를 통보받아서 그 IP를 Domain : IP 쌍으로 기억.
=>자신만의 Domain : IP 쌍을 기억하고 있는 DNS 가 인터넷 상에 있는 것이 되므로 자신의 컴퓨터로 인터넷상에서 모든 네트워크 서비스 (Web, FTP, Mail, Chatting 등 전용선에서만 가능한 모든 서비스) 를 제공할 수 있으며 자신이 슈퍼 유저이므로 CGI, DB 등을 최대한 활용 가능
출처: https://chung-develop.tistory.com/58 [춍춍's 블로그]
http://www.ddns.co.kr:8080/ddns/site/ddns/ddnsis_ddns.html