logo Use CA10RAM to get 10%* Discount.
Order Nowlogo

DNS servers communicate with each other using their own protocol. It is your job to implement your own DNS server that adheres to this protocol and performs recursive queries.

INSTRUCTIONS TO CANDIDATES
ANSWER ALL QUESTIONS

Assignment Description

DNS servers communicate with each other using their own protocol. It is your job to implement your own DNS server
that adheres to this protocol and performs recursive queries. Start by reading the official specification, RFC 1035.6 The
RFC mentions in detail the request formats, the queries that you will receive, and many other valuable information.

Requirements

Typically, a client application forwards a domain name to the operating system, which in turn forwards it to a DNS
server that performs recursive queries. Performing a recursive query means that the DNS server will query other DNS
servers until it finds the address that belongs to the given domain name. This address is then returned to the application
via the operating system.
Your task is to implement your own DNS server with the following requirements:
1. Perform recursive DNS queries.
2. Handle requests from multiple operating systems.
3. Implement the RTT (Round Trip Time) algorithm to choose a name server.
4. Implement the caching policy specified in the RFC section “7.4. Using the cache”
5. Handles mail exchange servers requests.

Evaluation

Your implementation is evaluated by the TAs. To test your server implementation, you can configure your Web browser
or operating system to use it as its DNS server. Make sure that your server is able to handle requests from different
operating systems. Your implementation must resolve requests by communicating with the root server and the servers
it lists in its replies. You cannot pass the assignment if you simply forward requests to another DNS server that performs
recursive queries.

 

Resources

Below is a list of free, popular, and public DNS servers. You can analyze their responses to learn more about how to

implement your own server.

Google

(8.8.8.8 and 8.8.4.4)

 

Quad9

(9.9.9.9 and 149.112.112.112)

 

OpenDNS

(208.67.222.222 and 208.67.220.220)

 

You can find the addresses of the DNS root servers at

https://www.iana.org/domains/root/server

 

Related Questions

. Introgramming & Unix Fall 2018, CRN 44882, Oakland University Homework Assignment 6 - Using Arrays and Functions in C

DescriptionIn this final assignment, the students will demonstrate their ability to apply two ma

. The standard path finding involves finding the (shortest) path from an origin to a destination, typically on a map. This is an

Path finding involves finding a path from A to B. Typically we want the path to have certain properties,such as being the shortest or to avoid going t

. Develop a program to emulate a purchase transaction at a retail store. This program will have two classes, a LineItem class and a Transaction class. The LineItem class will represent an individual

Develop a program to emulate a purchase transaction at a retail store. Thisprogram will have two classes, a LineItem class and a Transaction class. Th

. SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of Sea Ports. Here are the classes and their instance variables we wish to define:

1 Project 1 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of

. Project 2 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of Sea Ports. Here are the classes and their instance variables we wish to define:

1 Project 2 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of

Ask This Question To Be Solved By Our ExpertsGet A+ Grade Solution Guaranteed

expert
Um e HaniScience

966 Answers

Hire Me
expert
Muhammad Ali HaiderFinance

816 Answers

Hire Me
expert
Husnain SaeedComputer science

868 Answers

Hire Me
expert
Atharva PatilComputer science

598 Answers

Hire Me