Computer Network Homework#1 COMPUTER NETWORK Homework #1 Due Date: March 29, 2017 in class Question 1 What is the role of HTTP in a network application? What other components are needed to complete a Web application? HTTP is an application layer protocol for transferring documents (i.e., web pages) and the objects referenced therein. The HTTP protocol only provides the functions to request and retrieve files. Another necessary component to realize a Web application is a document format that describes a hypertext. This allows a web browser to understand what objects need to be requested after a web page has been downloaded, for instance, images to be displayed next to some text. The standard format for the Web is the Hyper Text Markup Language (HTML). Question 2 What does a stateless protocol mean? Is IMAP stateless? What about SMTP? A protocol is called stateless when it does not keep any information about the clients during one or more communication sessions; otherwise, it is known as stateful. In other words, each request sent by a client using a stateless protocol can be interpreted independently of others. IMAP is not stateless (i.e., it is stateful), as it remembers user information (for instance, what messages have been read) across different sessions (see also Section 3 of RFC 3501). SMTP is stateful too (see Section 2.3.6 of RFC 5321). Question 3 Telnet into a Web server and send a multiline request message. Include in the request message : header line to force a response
message with the status code. Telnet is not available in Windows 7 by default. to make it available, go to Control Panel, Programs and Features, Turn Windows Features On or Off, Check Telnet client. To start Telnet, in Windows command prompt, issue the following command > telnet webserverver 80 where "webserver" is some webserver. After issuing the command, you have established a TCP connection between your client telnet program and the web server. Then type in an HTTP GET message. An example is given below: Question 4 Assume a BitTorrent tracker suddenly becomes unavailable. What are its consequences? Can files still be downloaded? If the BitTorrent tracker becomes unavailable, no new downloads can be started. In fact, a peer cannot obtain the list of neighbors to download chunks from. However, ongoing downloads can still continue, as peers have a list of neighbors already. This list may become quickly outdated but downloads can progress at least for a short time. Question 5 Consider the following string of ASCII characters that were captured by Wireshark when the browser sent an HTTP GET message (i.e., this is the actual content of an HTTP GET message). The characters are carriage return and line-feed characters (that is, the italized character string in the text below represents the single carriagereturn character that was contained at that point in the HTTP header). Answer the
following questions, indicating where in the HTTP GET message below you find the answer. a. What is the URL of the document requested by the browser? b. What version of HTTP is the browser running? c. Does the browser request a non-persistent or a persistent connection? d. What is the IP address of the host on which the browser is running? e. What type of browser initiates this message? Why is the browser type needed an HTTP request message? a) The document request was http://gaia.cs.umass.edu/cs453/index.html. The Host : field indicates the server's name and /cs453/index.html indicates the file name. b) The browser is running HTTP version 1.1, as indicated just before the first <cr><lf> pair. c) The browser is requesting a persistent connection, as indicated by the Connection: keepalive. d) This is a trick question. This information is not contained in an HTTP message anywhere. So there is no way to tell this from looking at the exchange of HTTP messages alone. One would need information from the IP datagrams (that carried the TCP segment that carried the HTTP GET request) to answer this question. e) Mozilla/5.0. The browser type information is needed by the server to send different versions of the same object to different types of browsers. Question 6. The text below shows the reply sent from the server in response to the HTTP GET message in the question above. Answer the following questions, indicating where in the message below you find the answer.
a. Was the server able to successfully find the document or not? What time was the document reply provided? b. When was the document last modified? c. How many bytes are there in the document being returned? d. What are the first 5 bytes of the document being returned? Did the server agree to a persistent connection? a) The status code of 200 and the phrase OK indicate that the server was able to locate the document successfully. The reply was provided on Tuesday, 07 Mar 2008 12:39:45 Greenwich Mean Time. b) The document index.html was last modified on Saturday 10 Dec 2005 18:27:46 GMT. c) There are 3874 bytes in the document being returned. d) The first five bytes of the returned document are : <!doc. The server agreed to a persistent connection, as indicated by the Connection: Keep-Alive field Question 7 Assume you request a webpage consisting of one document and five images. The document size is 1 kbyte, all images have the same size of 50 kbytes, the download rate is 1 Mbps, and the RTT is 100 ms. how long does it take to obtain the whole webpage under the following conditions? (Assume no DNS name query is needed and the impact of the request line and the headers in the HTTP messages is negligible) a. Nonpersistent HTTP with serial connections.
b. Nonpersistent HTTP with two parallel connections. c. Nonpersistent HTTP with six parallel connections. d. Persistent HTTP with one connection. The total download time is: a. 2 100 ms + 8 103 bits / 106 bits/s + 5 (2 100 ms + 4 105 bits / 106 bits/s) = 3.208 s b. 2 100 ms + 3 (4 105 bits / 106 bits/s) = 1.4 s c. 2 100 ms + 4 105 bits / 106 bits/s = 0.6 s d. 2 100 ms + 8 103 bits / 106 bits/s + 5 (4 105 bits / 106 bits/s) = 2.208 s