DNS (Domain name system)
The DNS Domain Name System is what translates your favorite domain names into IP addresses. It was first designed at the University of California Irvine in 1983. It is designed to be a hierarchical distributed system.
It’s capable of translating the massive amounts of requests required by the internet or within a small private network. If a client wants to resolve google.com, it will first check its DNS cache. If it does have it cached, it will simply use that address. If it does not, it will begin the lookup process.
To do a name resolution, an admin must first specify which DNS service to use on their client’s machines. When a host does a lookup, it will send a UDP packet to port 53 on the DNS server asking for resolution of a domain name. If the DNS server has the entry cached, it will send back a response containing the IP. If it does not, it will consult its root hints file. This file is a mapping of some of the root servers to IPs.
Since I am looking for google.com, my server will first make a request to a root server. This root server will then point me over to one of the top-level domain servers. Top-level domains will be things like com, net, org, and so on. After I am referred to the com TLD, I begin my search for the start of authority. This is the DNS server that originates the domain. I will query the com TLD server to find out which server I should reference to find google.com.
The TLD will then tell me who is authoritative for the google.com subdomain.I’ll then query that specific authoritative server. When the server SOA responds with the IP address, the querying server will cache this entry and send the result to the querying host. Each DNS host address with the ultimate record being queried has a finite amount of time it can be cached for. This is known as the Time To Live. Generally, the lowest these can be set is five minutes, though the default is usually around 24 hours.
If an admin plans to make an adjustment to a record and wants it to propulgate quickly, they can set the record low. There are several records types that can be queried. A few of the more popular are host, or A record,canonical name, or CNAME, and mail exchanger, or MX. An A Record is the basic mapping of an IP to a host name. A CNAME is an alias that points to another DNS host name for ultimate resolution. For example, 1.google.com is a CNAME that points you to 2.google.com which is ultimately resolved to an IP.
An MX record is the first step in sending email. When your email server wants to forward a message to the google.com domain, it will request google.com’s MX record. The email will then be forwarded to whatever host IP was resolved by the MX record. And there’s also reverse lookups. This takes an IP and queries for its associated DNS name. This can be used when doing trace routes to resolve each hop or when verifying email servers. If an end user’s machine is infected with a virus that sends copious amounts of spam, it generally doesn’t have a reverse record for that sending domain.
Network basic input/output system was created in 1983 to allow computersto communicate on a LAN. It also operated at Layer 5. Modern networks allow NetBIOS to run over TCP/IP, also known as NBT. NBT implements name service for name registration and resolution using TCP and UDP port 137, datagram distribution service for connectionless communication using UDP port 138, and session service for connection-oriented communication using TCP 139.
For each application that wants to register a 15-character name on the network, it must do so via the name service. This central repository for names is called the NetBIOS naming service. But Microsoft calls its implementation WINS. Packet formats for the name service are identical to those of DNS. Datagrams are distributed via UDP, thus making it a connectionless process. Session mode creates a TCP connection between hosts to allow for larger messages, error detection, and recovery.
NetBIOS has had its day. But for naming services, DNS has long been the service of choice.
Latest posts by Hamza Arif (see all)
- What is RDP (Remote Desktop Protocol) & How RDP works - July 20, 2018
- Understanding SNMP & Install and configure SNMP - July 18, 2018
- Ping, Tracert, PathPing – Troubleshoot Network - July 17, 2018