DDNS, short for Dynamic Domain Name Server, describes the process of automatically updating the server name list found within a Domain Name Server (DNS) with information like a server’s IP address and its matching fully qualified domain name (FQDN).
This helps ease server-to-server communication over the Internet as host identification is done quickly and accurately.
What is a Domain Naming System (DNS)?
Every single device that connects to the Internet has a unique IP address. A device that tries to go online using an existing IP address creates an “IP address conflict” – an error that will prevent it from making a successful connection.
Now, these IP addresses can either be:
- Static: a unique IP address assigned to only one device, or
- Dynamic: an IP address that changes because it is assigned to devices when they become available from a pool of re-usable IP addresses
This unique identifier ensures that any device can be located using its IP address. If the device happens to be a web hosting server, then the IP address is usually pointed to the home page of the website it is hosting.
This means, for example, if we wanted to find the IP address of Google.com, we would simply PING it from a command-line interface:
Now, if we were to type this IP address – 22.214.171.124 – into any browser [that has an Internet connection] we would be able to find its homepage:
Once we type it into our address bar – and press Enter – it takes us to Google’s home page:
Alternatively, using TRACERT with Google’s IP address as a parameter would return information like:
- How many hops (routers) there are between the machine and the Google server
- Whether (or not) all the routers along the route are up and running
- How well the routers are performing as they bridge the communication between the devices
- Letting us know if the Google server itself was up and running at all
Now, all this is kind of fun when you’re just experimenting with IP addresses. But, what if that was the only way to locate and navigate to a website? It would have quickly become a major pain because:
- We would need to remember the digits in the IP addresses of all our favorite sites
- At the very least, we would need to look them up in some sort of reference directory
In other words, the quality of our online UX (user experience) would have been a very low one – it would also have been a tedious and much less user-friendly affair than it is in reality.
Instead, and luckily for us, we use the more familiar Uniform Resource Locator (URL) which is usually in the form of:
Domain Name (Google, Facebook, etc.) + Top Level Domain (TLDs) (.com, .info, etc.)
This gives us the fully qualified domain name (FQDN):
Google.com, Facebook.com, etc.
It is this format that we have now gotten so used to, and never even give a second thought about when surfing the net.
Translation from FQDN to IP address and vice versa
But, although this FQDN format is user-friendly, we shouldn’t forget that we are giving instructions to the collection of machines that is also known as “the Internet.”
For our instructions to be understood and executed there needs to be a way of translating the addresses into machine-friendly formats. That is why the URLs are converted into units of digital information called “octets.”
Now, octets are basically groups of eight bits. When four octets are combined together they become a 32-bit unique identifier of devices on the Internet called an IP address.
Image source: Indeterminate – Own work, Public Domain
This IP address now needs to be matched to its corresponding server’s URL as it is the only way routers can find the destination device or the website hosted on it.
And so, this means:
- There needs to be a mechanism that translates the URL into the 32-bit IP address which the machines can then understand
- The reverse case, where an IP address is converted into the human-friendly URL, also needs to be handled for traffic headed in the opposite direction
This translation and handling are done by a DNS or Domain Naming System server.
Fun fact: A DNS is known as “the phone book of the Internet,” because it correlates website names (URL) with their corresponding numbers (IP Addresses).
The definition of a DNS server, thus, becomes:
“A DNS server is a registry that associates computers, services, and any other online resources that are connected to the Internet using their addresses which could be in IP (octets) or URL (words) format.”
This registry or database also helps with determining the hierarchy (domain, sub-domain, sub-sub-domain, etc.) and the address spaces (host, network, peripheral device, etc.) of the devices which, in turn, help in identifying them with even more precision.
What is a DHCP server?
Most of the devices that are connected on the Internet use “dynamic IP addresses.” This means, these IP addresses are assigned to them on a temporary basis – known as a “lease time” – and can change at any time after the lease is up.
This job is handled by a DHCP Server: it is the server that assigns IP addresses, default gateways, and other network parameters to every device that connects to the network it is responsible for. It is named so because it uses the Dynamic Host Configuration Protocol (DHCP) to respond to its clients’ requests for an IP address.
The computers and servers on a DHCP network have the option of renewing their leases so they can keep the same IP addresses for a longer time. On the other hand, the DHCP server waits for the devices to request to renew their leases. This usually occurs in the middle of the lease period and, following such a request, the lease termination date is extended.
Otherwise, once the lease expires – and as soon as the device disconnects from the network – the DHCP server returns the IP address to its pool. When the device needs to go back online again, it is assigned a new IP address.
What is a Dynamic Domain Naming System (DDNS)?
Now, let’s look at a scenario where you would remotely connect to your laptop at home. If you knew the IP address of your device, you would type it into the gateway application and wait for the connection to go through.
But, how would you be able to do so if your IP address was changed regularly – as would be the case with networks controlled by DHCP servers?
The solution relies on your laptop being assigned a URL like “My_Laptop@My_Home.com”. This would then be the reference ID you would need to type into your remote access tool, regardless of the IP address that it was assigned.
A DNS would then take the URL and match it with its assigned IP address. We should remember that a directory in the DNS near you (or one you have chosen) is continuously updated with every new IP address that is assigned to your laptop. You can, therefore, connect to the laptop without having to know a single octet by heart.
Now in that same scenario, imagine there was a DNS service that:
- Allowed you to create a customized URL for your laptop
- Could continuously, and automatically, pair the URL and IP address of your laptop every time it goes online
- Constantly scanned the network for changes in IP addresses of other connected devices and also automatically updated its “telephone directory” so that whenever you typed their URLs you would be able to connect to them
Now, imagine this DNS service working on the Internet so it can perform all of these tasks automatically and on a much larger network – the World Wide Web, no less – and keep track of IP address changes on a global scale.
This auto-updating DNS service is what is known as a Dynamic Domain Name System or DDNS.
Fun fact: an easy way to differentiate between the two is to simply remember that “DNS is to STATIC IP addresses while DDNS is to DYNAMIC IP addresses.”
At this point, we can define a DDNS as:
“A DDNS is a service that updates the directory – the ‘name server’ – in a Domain Name Server (DNS) which is then used as a reference table for clients and servers looking for IP-address-to-hostname mappings, and vice versa. This service updates the records in real-time, meaning no manual intervention is needed (as would be the case in a normal DNS).”
Static IP addresses eliminate the need for DDNS
As a home Internet user, you may not need to worry about using a DNS or DDNS. The IP address allocation is seamlessly handled by your ISP provider. This won’t be too much of a bother for normal online activities.
But, things are different when it comes to, say, a business website that is hosted on a home server. As a matter of fact, a static IP address should be one of the first investments you would need to make in your website’s development cycle.
Here are a few points explaining why:
- You avoid the risk of having to share the same IP address with spam or malicious sites that have been flagged as would typically be the case if you use cheap shared hosting. After all, reputation does contribute towards favorable SEO rankings.
- Visitors and clients need to find your products and services, and quickly. Search engines rank sites with static IP addresses favorably simply because they are located quicker and, hence, load faster.
- If the IP address keeps changing every time visitors’ devices try to make a connection, it will make it difficult to do things that require constant access like stream videos, video chat or even make voice calls.
- The same thing applies if you own or run apps that need the client or host to connect using the same IP address.
Generally speaking, the main reason you should opt for a static IP address is if you were running a server that needs to be found quickly and using the same address. But, it becomes a must when your visitors need to stay in contact with the server during the length of their visit – think of messaging, streaming, online trading, and real-time data storage – where there is a need for constant, stable communication.
This is because once your IP address has been registered on all applicable DNS servers, it will forever remain unchanged and, hence, available for everyone to use.
But, what if you don’t have a static IP address?
In case you can’t afford, or don’t need to, buy a static IP address, you will have to deal with a new one being assigned to your device every time its lease runs out.
This means you (like most of the world) will need to use DHCP-assigned IP addresses that are assigned by your ISP (Internet Service Providers) or local area network (LAN) DHCP servers.
As we have seen and depending on the lease time, a device is assigned an IP address every time it goes online. But, without an automatic and updated directory that pairs a domain name or URL with its assigned IP addresses, it would be next to impossible to find the device without prior knowledge of the new address.
And so, after a DHCP server has assigned an IP to a requesting client, it automatically uploads this current information to a DNS server – using a DDNS service – which, in turn, updates its DNS directory.
The process from start to end
Before we move off of the topic completely, let’s go through all the steps involved in using DHCP and DNS servers and how the DDNS facilitates it all.
- Get on network: every time your device connects to the Internet, it will need to do so via a LAN connection, Wi-Fi connection or a router.
- Query for an IP address: as we’ve seen in the video above, a request for an IP address is then sent to the DHCP server.
- Get an IP address: depending on the setup, the DHCP server will pass on information about what IP address to use for the connection via the bridge devices and back to your device.
- Store other information: other information like which DNS server to use – depending on its proximity – is stored and used by your device to complete the connection.
Meanwhile, the DNS servers out there are also updated about the IP address your device will be using for its connection to the Internet. This is done with the help of a DDNS service.
What are the benefits of a DDNS?
Let’s have a look at the advantages of using DDNS services:
- You can access your website or server from anywhere in the world without worrying about changes to your IP address
- You won’t have to update your DNS records manually each time your IP address changes; DDNS is more practical than static DNS which needs to be updated manually
- Your network and system administrators don’t have to reconfigure settings for each IP address change, which frees them up to attend to your network’s wellbeing
And, as we have seen, this service becomes an absolute necessity when dealing with networks using DHCP servers.
Are there any security risks associated with using a DNS?
So far, we have had a look at how DNS servers have made it possible for website or server owners and their visitors to enjoy a seamless connection, regardless of the IP address being used.
But, using a DNS – with or without a DDNS service – doesn’t come without its own risks. Like all technologies, there are people out there who seek to exploit their weaknesses.
Here are some warnings and lessons on how DNS servers can be exploited:
- Switching IP addresses of data dumps: when hackers use malware to steal data, they require a host where the stolen data or responses can be sent for storage. Now, in order to avoid detection or the blocking of access to their IP address, the hackers can keep switching [PDF] or updating their DNS entries so the attack can continue uninterrupted.
- Staying undetected in RAT attacks: hackers can use remote access tools (RATs) to sneak onto victims’ computers. Here too, they can then keep changing their IP address records to avoid any attempts at being blocked.
- Weak hardware designs can create exploits: even when a DNS server has been configured right and is all patched up, its security could be compromised due to defects in the devices that connect to it. This poses a serious problem in a world that is rapidly embracing the Internet of Things (IoT).
- Traffic diversion: one of the most common hacks involves redirecting traffic from a website to another one that has been set up by the attackers. Then, anyone trying to visit the original website will instead be diverted to the fake one because the domain name has been paired with the IP address of the attackers’ website. This is known as a DNS hijacking or redirection attack.
Altering directory records of command-and-control (C&C) servers, hiding the IP addresses of malware attack servers, configuring exploit kits to stay in contact, regardless of identification and defense steps that may be taken to stop an attack – these are just some of the ways a DNS server can be used to attacks networks and devices.
Fortunately, there are ways to prevent such DNS-based attacks.
What are some good DDNS service providers out there?
Okay, it is now time to have a brief glimpse at some of the best DDNS service providers out there. These companies allow users to create hostnames for their devices which are then mapped to IP addresses on their DDNS servers.
Here are our choices that offer the best free services. If you choose to, you can pay for the premium and get more features. But, right now, let’s have a look at how good they already are without you having to pay:
Dynu provides reliable DDNS uptime from numerous servers found all around the world; this helps improve your domain’s reputation and ranking because it allows for faster access to your website, from anywhere on the planet.
Other plus points for this service provider include the fact that it’s very easy to set up and use: simply download the Dynu client and follow the instructions. Once set up, it runs unobtrusively in the background – updating Dynu DNS records in real-time, every time your IP address changes.
DuckDNS is a DDNS service provider that was built on Amazon’s virtual private cloud (VPC) structure. Although it comes from a company that uses the infrastructure of a leading cloud technology company, this is still an easy-to-use service.
Also, you can tell this is a really efficient DDNS service provider because they were dedicated enough to create a client application that runs on diverse platforms like Windows, OS X, Linux, Amazon EC2, and even a Raspberry PI.
With No-IP you get a free DDNS service that offers 100% uptime mainly because of its redundancy strategy that is supported by over 100 servers spread across the world.
Other features include three hostnames (and a limited selection of subdomains) to choose from that are available to clients for free.
Another big plus is its user interface (UI) and a dashboard that is pleasant and easy to master. In fact, it wouldn’t be a surprise if even novices were to effectively navigate, configure, and work with their accounts in a matter of hours.
One drawback we noticed, though, is that the free subscription service requires confirmations every 30 days, failing which, the account gets immediately deleted. Another thing to look out for (only in the free subscription) is the ads that can be a bit annoying.
Other than that, we think this is another great DDNS company.
Free DNS aka afraid.org
Contrary to its name, Free DNS is not a company you should be scared of because of its domain name; in fact, we recommend you embrace it.
Apart from free DDNS services this company provides numerous other services like URL redirection and web forwarding. And for those who might need it, static DNS services are also offered.
Free DNS is, quite arguably, the leading service provider in the field that also comes with regular backups and an impressive selection of domains to choose from.
Finally, DDNS and static IP addresses – when to choose which
Whether you prefer to host a website on your own web server at home, want to connect to your home PC from anywhere and at any time, or you need a single IP address to efficiently run apps, you will need to use a DDNS. You can use paid subscriptions and get better services, but for most jobs, you could simply join the service providers we have just seen.
But, if you’re a business – and are serious about it – we’d recommend you buy your own IP address and domain name – after all, professionalism starts with a good online presence.