Homework 8 - Solution

Note: Typed homework solutions are preferred.

Problem 1 (10)

Read the article "Operation of a root DNS server" written by A. Kato and J. Murai, published on IEICE Trans. Commun. Vol.E84-B, No.8 August 2001. Answer the following questions:

Problem 2 (10)

Use "dig" command to find out the RR of aicip.ece.utk.edu. List the output and answer the following questions: Use dig command to find out the RR of one of the root DNS server (any of the 13 would be fine). List the output and answer the following questions:

Problem 3 (20)

Draw a table to summarize the difference between the four application protocols: DNS, SMTP, HTTP, and FTP. You can compare them from the following aspects: transport layer service, stateless/state, pull/push, port no, non-persistent/persistent, RFC no., etc.

DNS SMTP HTTP FTP
Transport Layer Service UDPTCPTCPTCP
Stateless/State StatelessStatelessStatelessState
Pull/Push PullPushPullPush/Pull
Persistent/Non-persistent NonNonNon (for HTTP1.0), Persistent (for HTTP1.1)Persistent
Port No. 53258020 and 21
Note that SMTP is a stateless protocol as the mail server does not maintain any connection with the client, it does not store any information about the client. If an email is asked to be sent twice, the server will resend it without saying that the email has been sent. POP3 is also a stateless protocol. IMAP is a state protocol, because the IMAP server must maintain a folder hierarchy for each of its users, this state information persists across a particular user's successive accesses to the IMAP server.

Problem 4 (short answer questions) (30)

Problem 5 (15)

Suppose within your Web browser you click on a link to obtain a Web page. Suppose that the IP address for the associated URL is not cached in your local host, so that a DNS lookup is necessary to obtain the IP address. Suppose that n DNS servers are visited before your host receives the IP address from DNS; the successive visits incur an RTT of RTT_1, ..., RTT_n. Further suppose that the Web page associated with the link contains exactly one object, a small amount of HTML text. Let RTT_0 denote the RTT between the local host and the server containing the object. Assuming zero transmission time of the object, how much time elapses from when the client clicks on the link until the client receives the object?

2RTT_0 + RTT_1 + ... + RTT_n
as RTT_0 is spent on connection request, and the other RTT_0 on requesting the URL webpage.

Suppose the HTML file indexes three very small objects on the same server. Neglecting transmission times, how much time elapses with (1) nonpersistent HTTP with no parallel TCP connections, (2) nonpersistent HTTP with parallel connections, (3) persistent HTTP with pipelining?

(1) 8RTT_0 + RTT_1 + ... + RTT_n as 2RTT_0 for receiving the html file and 2RTT_0 for each of the three objects
(2) 4RTT_0 + RTT_1 + ... + RTT_n as 2RTT_0 for receiving the html file and then three parallel TCP connections are established for each of the three objects. The parallel connections take another 2RTT_0
(3) 3RTT_0 + RTT_1 + ... + RTT_n as 2RTT_0 for receiving the html file and RTT_0 for the three objects.
See slides 29, 30 in lecture16.

Problem 6 (15)

Use socket programming to implement a public-key algorithm using RSA. Refer to problem 14 on page 831.

Sample code: rsaserver.c, rsaclient.c