DDNS는 동적 DNS(Dynamic DNS), 즉 다이내믹 도메인 네임 시스템의 약자입니다. 인터넷 도메인 이름을 IP 주소에 연결해 주는 서비스로, 이를 활용하면 전 세계 어디에서나 집에 있는 컴퓨터에 접속할 수 있습니다.
DDNS는 인터넷의 DNS(Domain Name System)와 비슷한 역할을 합니다. 웹 서버나 FTP 서버를 운영하는 사람이라면 누구나 DDNS를 통해 공개된 이름을 잠재적 사용자에게 알릴 수 있기 때문입니다.
다만 일반 DNS가 고정(static) IP 주소에서만 작동하는 것과 달리, DDNS는 DHCP 서버가 할당하는 것과 같은 유동(변경되는) IP 주소도 지원하도록 설계되었습니다. 그래서 인터넷 서비스 업체(ISP)로부터 유동 공인 IP를 할당받는 가정용 네트워크에 특히 잘 어울립니다.

참고로 DDNS는 철자가 비슷하다고 해서 DDoS와 같은 기술이 아닙니다. 두 용어는 완전히 다른 개념이니 혼동하지 않도록 주의하세요.
DDNS 서비스의 작동 원리
DDNS를 사용하려면 먼저 동적 DNS 제공업체에 가입한 뒤, 호스트 컴퓨터에 해당 업체의 소프트웨어를 설치해야 합니다. 여기서 호스트 컴퓨터란 파일 서버, 웹 서버 등 서버 역할을 수행하는 컴퓨터를 의미합니다.
예를 들어, 컴퓨터에 FTP 소프트웨어를 설치해 FTP 서버로 운영하고 있다면 그 컴퓨터에 DDNS 프로그램을 설치하면 됩니다. 사용자가 서버에 접속 요청을 보낼 때 실제로 도달하는 컴퓨터가 바로 이 컴퓨터이므로, 현재 IP 주소를 항상 DDNS 제공업체에 갱신해 주어야 하는 대상이기도 합니다.
설치된 소프트웨어는 IP 주소의 변화를 지속적으로 감시합니다. IP 주소가 바뀌면(유동 IP라면 언젠가 반드시 바뀌게 됩니다) 소프트웨어가 자동으로 DDNS 서비스에 접속해 계정에 등록된 IP 주소를 새 주소로 업데이트합니다.
즉, DDNS 소프트웨어가 항상 실행 중이며 IP 변경을 제대로 감지만 한다면, IP 주소가 몇 번이고 바뀌더라도 계정에 연결된 DDNS 이름은 계속해서 방문자를 호스트 서버로 안내합니다.
반면 고정 IP를 사용하는 네트워크에는 DDNS 서비스가 필요하지 않습니다. 도메인에 처음 한 번만 IP 주소를 알려주면 되고, 이후에는 주소가 바뀌지 않기 때문입니다.
단, 컴퓨터를 통해 인터넷으로 파일을 제공하려면 DDNS만으로는 부족합니다. 외부 사용자가 서버에 접속할 때 네트워크 내 어떤 컴퓨터와 연결할지 라우터에 알려줘야 하는데, 이는 라우터의 포트 포워딩(port forwarding) 설정으로 처리합니다.
DDNS 서비스가 필요한 이유
집에서 직접 웹사이트를 운영하거나, 어디서든 내 파일에 접속하고 싶거나(예: 외출 중 원격으로 컴퓨터에 접속), 멀리서도 가정용 네트워크를 관리하고 싶다면 DDNS 서비스가 딱 맞습니다. 이 외에도 원격 접속이 필요한 다양한 상황에서 유용하게 활용할 수 있습니다.
무료 및 유료 DDNS 서비스를 이용할 수 있는 곳
Windows, Mac, Linux를 지원하는 무료 DDNS 서비스를 제공하는 온라인 업체가 여러 곳 있습니다. NoIP, FreeDNS, Dynu 등이 대표적인 예입니다.
다만 무료 DDNS 서비스에서는 원하는 URL을 마음대로 정할 수 없습니다. 예를 들어 files.google.org 같은 주소를 파일 서버 주소로 쓸 수 없다는 뜻입니다. 대신 호스트명(hostname)을 정하면 제공업체가 허용한 제한된 도메인 목록 중에서 선택해야 합니다.
예를 들어 NoIP를 DDNS 서비스로 사용한다면, my1website처럼 본인 이름이나 임의의 단어 조합으로 호스트명을 정할 수 있지만, 무료로 선택 가능한 도메인은 hopto.org, zapto.org, systes.net, ddns.net 정도입니다. hopto.org를 선택했다면 최종 DDNS 주소는 my1website.hopto.org가 됩니다.
그 밖에 유료 플랜을 제공하는 업체도 있으며, Google Domains 역시 동적 DNS 기능을 지원합니다. 필요에 따라 무료 서비스와 유료 서비스 중 자신에게 맞는 옵션을 선택하면 됩니다.