Every single resource on the internet, whether a website, an FTP server, a printer, API, a game server, a web camera, or something else, has a unique identifier called the IP address. IP addresses are sometimes called “quads” because they are formed by four sets of numbers. And because people have trouble keeping track of numbers, a DNS server (domain name system) “translates” cleartext names into IP addresses.
For example, the website www.google.com has an IP address of 184.108.40.206. If you want to visit the website, you can either type 220.127.116.11 in your browser or type “google.com.” If you do the latter, your browser will contact a DNS server to learn what the IP address is associated with google.com and then direct you there.
Many ISPs operate their own private DNS servers that keep track of cleartext URLs and their associated IP addresses visited by their customers. Therefore, if a customer wants to visit google.com, the ISP can look up the address in their own DNS server more quickly to avoid having to contact a public DNS server to get the information and thus cause congestion on the internet.
A Dynamic DNS (also known as DynDNS or DDNS) is used when the IP address for a given resource changes rapidly (the “dynamic” part of the name), and you need to ensure that the plaintext URL can be matched to the new IP address. Most websites do not constantly change their IP address, so DDNS is primarily used for finding and creating a remote connection to a private network (usually a home network).
Note: DDNS only works with addresses formatted in IPv4. This is because IPv6 addresses are very rarely assigned dynamically.
An easy way to think of DDNS is like a mobile phone. The information in your contact list contains easy to remember information (names) and difficult to remember information (phone numbers). DDNS ensures that the name always matches to the right phone number even if the phone number changes.
In most cases, every time want to access the internet, the router on your home network will contact the ISP to find an available IP address. The ISP will then assign it to your router for a period of time. ISPs prefer to issue dynamic IP addresses in order to ensure both that duplicate IP addresses are not used and that older sessions are timed out and the connection dropped. A DDNS server is therefore used to correctly locate your router’s current (dynamically assigned) IP address.
Note: Most businesses use static IP addresses, so dynamic IP addresses are primarily found in conjunction with a home network connected to the internet via a personal contract with an ISP. Some ISPs do offer static IPs to non-commercial customers for an additional (and often expensive) fee.
DDNS servers help the wider internet keep track of resources that are constantly changing their IP addresses. The DDNS server does not “live” or operate on your home computer but exists somewhere else on a dedicated internet connection so that it is always available even when your home computer/network is in sleep mode, not responding, or turned off. Some companies operating DNS servers offer their services for free, but many charge a small fee.
Note: Although there are some restrictions, one of the cool aspects of using a DDNS server to keep track of your home network’s router’s IP address is that you can pick an easy to remember plaintext URL that will automatically map to your current IP address. Most DDNS servers allow you to choose from a list of URLs (usually variants of their own URL) for free but charge extra for a custom URL.
A DDNS client, on the other hand, is a software program that runs on your own computer. Its job is to periodically talk to your router (or other resources) and update DDNS servers when the router or resource gets a new IP address assigned by the ISP. There are a large number of DDNS client software programs available on the internet for free, for free for a limited time (on a trial basis), as shareware, or paid.
When the internet was first invented, all IP addresses were static. This provided a lot of stability. But when the internet expanded, it made it more difficult to keep track of all the addresses simply because there were so many of them. To make things easier, the DHCP protocol (dynamic host configuration protocol) was invented which allows ISPs to assign an unused IP address dynamically as needed. Today, the IPv6 standard means that there is no shortage of available IP addresses, so every router and resource could have a static (unchanging) IP address. But because most of the internet still uses IPv4, the DHCP protocol is still very commonly used by ISPs to dynamically assign IP addresses.
Therefore, if you want to remotely access your home network, you’ll need to contact a DDNS server to discover your home network’s router’s current IP address (or pay your ISP for a static IP address). For a home network with a router which is assigned an IP address dynamically, you’ll also have to ensure that all of your home network components (i.e. the computer, the printer, webcam, IoT device, etc., but not the router) have a static IP address because DDNS servers do not keep track of that information. Some companies offer all-in-one remote access software that handles all of the DDNS client/server stuff for you.
Although less common, DDNS can also refer to occasionally updating a DNS server with the new IP address for a resource like a website. Generally speaking, however, DDNS almost always refers to remotely accessing a home network by looking up the current IP address for a home network’s router or other resource (like a game server).
It’s important to remember that there are billions and billions of online resources, each with their own IP address. Although there are multiple public DNS servers around the world, it still takes a long time (in most cases, hours) for them to all be updated with new information about IP addresses. DDNS servers, therefore, play an important role by only keeping track of frequently changed IP addresses and thus helping take the load off of DNS servers.
Uses for implementing a DDNS client on your computer and having a DDNS server keep track of your home network’s current IP address include: remotely accessing your own home network for personal reasons, having an IT expert or someone else remotely access your home computer for diagnostic or other purposes, and activities like setting up a game server that players can remotely access over the internet.
Essentially, if you aren’t interested in remotely accessing your home computer network, you will rarely ever have to deal with DDNS clients and servers. But if you do want to make your home network remotely accessible (to you and/or someone else), you’ll need to use a DDNS client to monitor your dynamic IP address and inform a DDNS server whenever it changes.