UNIX
Network Programming (CS515)
Project : Simple-minded DNS Client (smDnsClnt):
Final Project Requirement:
CS515 Project Overview
- Title:
Simple-minded DNS Client (smDnsClnt)
-
Practice socket programming
Learn to implement a real Application Layer protocol
Intcract with a real server
-
Gain understanding of DNS and DNS
implementation
-
SmDnsClnt –d [hostname|ip_addr]
* -d : debug
option (print many debug messages)
-
Work as a DNS client (similar to a small
set of nslookup or host)
. Find the IP
address of a host
. Find the
hostname of an IP address
-
Build DNS request (question) and parse
DNS response (reply)
-
Find the server and the default domain in
/etc/resolv.conf
-
Recover from server error (add a retry
mechanism to your client because you are using UDP!)
-
Not to use the resolve library(i.c., must
not call gethostbyname or gethostbyaddr)
-
Recursive query (send the request to
other servers if the server rejects to do the recursive
search for you and returns a list of the server names instead
of the answer)
-
Truncated response (send a TCP request to
the server if the UDP reply from the server is truncated)
-
Purpose: improve research skill
-
Topic: one aspect of DNS
. A description of a DNS-related web site
. A description of a DNS-related software or service
. A study on a DNS feature
. A study of DNS implementation at NPU
-
You must write the report
yourself!
. Copying large amount of materials (e.g., an entire
paragraph) from other resources is not acceptable
. Downloaded code is acceptable only if the code has
been
built and tested and is used to accompany the report
-
All the source files ).c, .h and the
makefile)
Hand in a print copy to me at the time of demonstration
-
Executable amDnsClnt.login_name
Copy it to –bzhang/class/cs515/homework/proj
-
Survey report (a hard copy)
-
Notes on the sample testing
.
You need to do more testing!
.
Your program can (and should) have different output
content and format
-
Test case 1: get IP address from host
name
SmDnsClnt npu6.npu.edu
-
Test case 2: get host name form IP
address
SmDnsClnt 216.133.192.36
-
Test case 3: get IP address from host
name with –d
SmDnsClnt –d npu6.npu.edu
Project:
Simple-minded DNS Client (smDnsClnt)
LINKS:
Book 1:
UNIX Network Programming (2nd ed.), Vol 1 -- Networking APIs
Book 2:
UNIX Network Programming (2nd ed.), Vol 2 -- Interprocess
Comm.
Links
|