UNIX Network Programming (CS515)          
Project : Simple-minded DNS Client (smDnsClnt):  
                                             New : Project, Simple-minded DNS Client --- Hand in last class

Final Project Requirement:

CS515 Project Overview

  • Title: Simple-minded DNS Client (smDnsClnt)
  • Objective

-        Practice socket programming

                           Learn to implement a real Application Layer protocol

   Intcract with a real server

-        Gain understanding of DNS and DNS implementation

  • Command syntax

-        SmDnsClnt –d [hostname|ip_addr]

* -d : debug option (print many debug messages)

  • Required features

-        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)

  • Optional features

-        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)

  • Survey

-        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

 

  • Due: last class

-        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)

  • Testing

-        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

Hosted by www.Geocities.ws

1