logo Use SA10RAM to get 10%* Discount.
Order Now logo

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

expert
Bryan KAccounting
(5/5)

876 Answers

Hire Me
expert
Ashraf AliComputer science
(5/5)

913 Answers

Hire Me
expert
joyComputer science
(4/5)

12 Answers

Hire Me
expert
Gary BartonAccounting
(5/5)

784 Answers

Hire Me
Computer Network

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

. The fundamental operations of create, read, update, and delete (CRUD) in either Python or Java

CS 340 Milestone One Guidelines and Rubric  Overview: For this assignment, you will implement the fundamental operations of create, read, update,

. 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

Retail Transaction Programming Project  Project Requirements:  Develop a program to emulate a purchase transaction at a retail store. This

. The following program contains five errors. Identify the errors and fix them

7COM1028   Secure Systems Programming   Referral Coursework: Secure

. Accepts the following from a user: Item Name Item Quantity Item Price Allows the user to create a file to store the sales receipt contents

Create a GUI program that:Accepts the following from a user:Item NameItem QuantityItem PriceAllows the user to create a file to store the sales receip

. The final project will encompass developing a web service using a software stack and implementing an industry-standard interface. Regardless of whether you choose to pursue application development goals as a pure developer or as a software engineer

CS 340 Final Project Guidelines and Rubric  Overview The final project will encompass developing a web service using a software stack and impleme

Get Free Quote!

401 Experts Online