1. Homepage
  2. Programming
  3. ECE 4016 Computer Networks - Assignment 1: Local DNS Server

ECE 4016 Computer Networks - Assignment 1: Local DNS Server

Engage in a Conversation
CUHKECE4016Computer NetworksLocal DNS ServerPython

ECE4016 Assignment 1 CourseNana.COM

In this assignment, you are required to implement a simple Local DNS Server . CourseNana.COM

Introduction CourseNana.COM

The Domain Name System (DNS) is the hierarchical and decentralized naming system used to identify computers reachable through the Internet or other Internet Protocol (IP) networks. The resource records contained in the DNS associate domain names with other forms of information. These are most commonly used to map human-friendly domain names to the numerical IP addresses computers need to locate services and devices using the underlying network protocols, but have been extended over time to perform many other functions as well. The Domain Name System has been an essential component of the functionality of the Internet since 1985. (wikipedia) CourseNana.COM

Iterative query and Recursive query CourseNana.COM

Detailed grading rule CourseNana.COM

The local DNS server should have the following function: CourseNana.COM

Listen and accept the DNS queries CourseNana.COM

Send response to the clients CourseNana.COM

Maintain a cache(20 points). If the ip address is queried before, it should be stored in the cache. if the answer for the query is found in cache, Local DNS Server send this answer to Client as the DNS response CourseNana.COM

Support the DNS queries of www.baidu.com through recursive or iterative searching (30 points) CourseNana.COM

Support the DNS queries of www.example.com through recursive or iterative searching (20 points) CourseNana.COM

Support the DNS queries of www.baidu.com through public DNS server (15 points) Support the DNS queries of www.example.com through public DNS server (15 points) CourseNana.COM

Requirements CourseNana.COM

Print the ip address of all the servers you pass by during the searching CourseNana.COM

Use a variable flag to indicate whether ask the public server for the IP address. When the flag is set to be 0 , ask the public server for the IP address. When the flag is set to be 1 do the recursive or iterative searching CourseNana.COM

Make sure your program works under ubuntu 20
Show how to execute your code
The programming language should be Python(version 3.9) Dnspython is not allowed to use in this lab
The server is required to work on port
1234 of 127.0.0.1 CourseNana.COM

Useful tools CourseNana.COM

There are some useful tools that may help you in your programming. (Dnspython is not allowed to use in this lab) CourseNana.COM

socket dnslib CourseNana.COM

CourseNana.COM

Simple test by yourself CourseNana.COM

You can use dig to test your local NDS server. An example test code: CourseNana.COM

dig www.example.com @127.0.0.1 -p 1234 dig www.baidu.com @127.0.0.1 -p 1234 CourseNana.COM

Note that this test code will be used in the evaluation of this project, make sure your program works given this test code. CourseNana.COM

CourseNana.COM


Get in Touch with Our Experts

WeChat (微信) WeChat (微信)
Whatsapp WhatsApp
CUHK代写,ECE4016代写,Computer Networks代写,Local DNS Server代写,Python代写,CUHK代编,ECE4016代编,Computer Networks代编,Local DNS Server代编,Python代编,CUHK代考,ECE4016代考,Computer Networks代考,Local DNS Server代考,Python代考,CUHKhelp,ECE4016help,Computer Networkshelp,Local DNS Serverhelp,Pythonhelp,CUHK作业代写,ECE4016作业代写,Computer Networks作业代写,Local DNS Server作业代写,Python作业代写,CUHK编程代写,ECE4016编程代写,Computer Networks编程代写,Local DNS Server编程代写,Python编程代写,CUHKprogramming help,ECE4016programming help,Computer Networksprogramming help,Local DNS Serverprogramming help,Pythonprogramming help,CUHKassignment help,ECE4016assignment help,Computer Networksassignment help,Local DNS Serverassignment help,Pythonassignment help,CUHKsolution,ECE4016solution,Computer Networkssolution,Local DNS Serversolution,Pythonsolution,