Application Layer Homework

  1. Did you do the HTTP Wireshark lab?


  2. Suppose you and four of your friends are trying to load the same webpage.

    1. You decide to open multiple parallel non-persistent HTTP connections. Will this help you load the webpage more quickly than your friends? Why or why not?

    2. If all of your friends do the same thing and open the same number of parallel non-persistent HTTP connections as you, will your parallel connections still be beneficial? Why or why not?


  3. What is the difference between non-persistent HTTP connections and persistent HTTP connections? Which one is better and why?


  4. Suppose within your Web browser you click on a link to obtain a Web page. The IP address for the associated URL is not cached in your local host, so a DNS lookup is necessary to obtain the IP address. Suppose that four DNS servers are visited before your host receives the IP address from DNS. The first DNS server visited is the local DNS cache, with an RTT delay of RTT0 = 5 ms. The second, third and fourth DNS servers contacted have RTTs of 35, 30, and 1 ms, respectively. Initially, let’s suppose that the Web page associated with the link contains exactly one object, consisting of a small amount of HTML text. Suppose the RTT between the local host and the Web server containing the object is RTTHTTP = 6 ms.

    1. Assuming zero transmission time for the HTML object, how much time (in ms) elapses from when the client clicks on the link until the client receives the object?

    2. Now suppose the HTML object references 2 very small objects on the same server. Neglecting transmission times, how much time (in ms) elapses from when the client clicks on the link until the base object and all 2 additional objects are received from web server at the client, assuming non-persistent HTTP and no parallel TCP connections?

    3. Suppose the HTML object references 2 very small objects on the same server, but assume that the client is configured to support a maximum of 5 parallel TCP connections, with non-persistent HTTP.

    4. Suppose the HTML object references 2 very small objects on the same server, but assume that the client is configured to support a maximum of 5 parallel TCP connections, with persistent HTTP.

    5. What’s the fastest method we’ve explored: Nonpersistent-serial, Nonpersistent-parallel, or Persistent-parallel?


  5. How does SMTP mark the end of a message body? How about HTTP? Can HTTP use the same method as SMTP to mark the end of a message body? Explain.


  6. Suppose you can access the caches in the local DNS servers of your department. Can you propose a way to roughly determine the Web servers (outside your department) that are most popular among the users in your department? Explain.


  7. Suppose that your department has a local DNS server for all computers in the department. You are an ordinary user (i.e., not a network administrator). Can you determine if an external website was likely accessed recently from a computer in your department? Explain.


  8. Suppose you join a BitTorrent torrent, but you do not want to upload any data to any other peers (free-riding). Can you receive a complete copy of a file that is shared by the swarm. Why or why not?