One of the most common interactions that people have with computers is using a browser to navigate to websites. The unprecedented access to information and communication provided by the internet has changed our lives, but many people are unaware of the fundamental principles behind how it all works.
The internet is made up of networks of computers, connected through routers. Routers are responsible for directing packets between networks so that they reach their intended destination. It is very easy for two different networks to be connected together through a third network if there exists a router on each end which can 'talk' directly to one another; this allows data to be passed along the intermediary network without having to travel across multiple links. This process, also known as Network Shortcut or IP Redirect is very useful when there are computers which are heavily firewalled or censored, which few people have access to.
The Internet Assigned Numbers Authority (IANA) manages the global allocation of unique IP addresses, and therefore it is impossible for an individual host to have its own unique address. Instead, each computer on the internet has its own long number called an "IP address", which routes packets destined for it through the network. Domain Name Servers contain a table linking domain names to these numerical addresses, so that typing "example.com" into your browser sends a request to your local DNS server asking if it knows where example.com 's computer is located in order to direct you there. The response will include any intermediate DNS servers along the way, and the number of the computer you are trying to find, which is sent back to your browser.
The DNS system is a hierarchical structure which means that there is another layer of indirection on top of IP addresses- instead of a numerical address, a domain name like example.com can be linked directly to an IP address, but it has also been delegated down from the root server for .com , and then from com itself down to one or more servers responsible for that particular domain. In this way the location of every single machine with a unique internet address can be determined by starting at the root servers and finding each level as needed until reaching the final destination.
Domain names look somewhat similar to IP addresses due to their structure: they have a series of words separated by dots, with each representing a different level in the hierarchy. This is one reason for the prevalence of using domain names over IP addresses: they are more intuitive and easier for people to remember or guess than numbers, as well as being human readable- however not all browsers support URLs which include special characters such as commas or slashes due to their use as separators.
All modern browsers allow you to enter an IP address directly into the URL bar, but there is usually no major advantage to doing so unless it's necessary for some reason. One main difference between domain names and IP addresses is that DNS servers rely on cached entries from recursive lookups earlier in order to work more efficiently. With a vast number of clients using a single server, it would be inefficient for every lookup to be forwarded on to the root DNS servers- instead, they are cached locally and can be used as needed. This feature is useful from an end user perspective because the information returned by local DNS servers will always be faster than upstream ones due to the network latency, but also means that you can never be entirely sure of where your request ends up going.
If there is ever a problem with the way that data is being passed along between domain names and IP addresses, it will result in "Domain Name Server Not Found" error messages such as those received when trying to access a hostname which doesn't exist or has been removed from its parent zone. not technically incorrect, this message is usually due to the fact that the recursive lookup failed for some reason and so it is impossible to know where the request is supposed to go next.
There are numerous reasons why this might happen, but the most common one in my experience is because of a faulty or broken rule set in your local DNS server software which is causing requests to fail. For example, if you want to use an alternate DNS configuration like OpenNIC's servers instead of typical ones like those provided by your internet service provider (ISP), then there will be issues with trying to access domains that start with "0." because these are considered invalid characters by default under BIND .
Another common problem is caused when using forwarding on your home router- many wireless routers allow you to setup a local DNS server which will only be used as a forwarder, but this might actually fail to work properly due to not being configured properly. In some cases you may need to disable the forwarding altogether by setting it as enabled=no in your configuration file instead of yes .
In other cases where your issue is not so easily solved or pinpointed, there are tools including NSLOOKUP and WHOIS which can provide additional details on issues related to DNS servers. This post ends here because it is getting too long... if anyone wants me to write about them let me know!
Top Blog Posts
- Learn HTML in 12 Minutes 3 months ago
- FOCUS ON YOURSELF NOT OTHERS - Best Motivational Speech 2021 4 months ago
- British English Slang [Advanced Pronunciation Practice] - Reductions & Contractions 4 months ago
- How To Build Your URL Short System (Premium URL Shortening Setup) 4 months ago
- Improve Your Problem Solving Skills 4 months ago