The assignment is due Thursday, October 6, 6.59 pm EDT, to be submitted via CourseWorks.
Some of the questions below are research questions, where you are asked to find information about a particular issue. You may use the Engineering Library, any text books you have, one of the paper from the class readings, or the web to come up with answers. Be sure to cite your sources. Generally, a paragraph or two should be sufficient to answer the question. There is no need to write a tutorial.
For C/C++, you can use adns and the GNU web site. RULI is another option; a synchronous library supporting SRV is a modified version of resparse.
Java libraries include dnsjava and the Java Naming and Directory Interface (JNDI).
You should build an application that allows to retrieve DNS records
from a commandline tool, specified as adns type domain,
where type is the resource record (RR) type and domain is
the domain name to be resolved. You only need to support A, CNAME and
SRV (RFC 2782) records. You can use the
_sip._udp.columbia.edu DNS SRV and
www.cs.columbia.edu CNAME records for testing.
Capture the DNS exchange using Ethereal or tcpdump. (If you have difficulty uses tcpdump in CLIC, you should arrange to use the CS INTEREST lab.)