edited by
10,907 views
13 votes
13 votes

Suppose in a web browser, you click on the $\textsf{www. gate-2023.in}\; \text{URL}$. The browser cache is empty. The $\text{IP address}$ for this $\text{URL}$ is not cached in your local host, so a $\text{DNS}$ lookup is triggered (by the local $\text{DNS}$ server deployed on your local host) over the $3$-tier $\text{DNS}$ hierarchy in an iterative mode. No resource records are cached anywhere across all $\text{DNS}$ servers.

Let $\text{RTT}$ denote the round trip time between your local host and $\text{DNS}$ servers in the $\text{DNS}$ hierarchy. The round trip time between the local host and the web server hosting $\textsf{www.gate-2023.in}$ is also equal to $\text{RTT}$. The $\text{HTML}$ file associated with the $\text{URL}$ is small enough to have negligible transmission time and negligible rendering time by your web browser, which references $10$ equally small objects on the same web server.

Which of the following statements is/are $\text{CORRECT}$ about the minimum elapsed time between clicking on the $\text{URL}$ and your browser fully rendering it?

  1. $7\; \text{RTT}$s, in case of non-persistent $\text{HTTP}$ with $5$ parallel $\text{TCP}$ connections.
  2. $5\; \text{RTT}$s, in case of persistent $\text{HTTP}$ with pipelining.
  3. $9\; \text{RTT}$s, in case of non-persistent $\text{HTTP}$ with $5$ parallel $\text{TCP}$ connections.
  4. $6\; \text{RTT}$s, in case of persistent $\text{HTTP}$ with pipelining.
edited by

2 Answers

24 votes
24 votes

********************explanation behind 6 and 9 rtts***************************                           

                                           For persistent HTTP with pipelining

Persistent HTTP –  TCP Connection is Established only once and multiple files are transmitted in that single connection.

Pipelined – Pipelined means that a new HTTP request could be sent to server without receiving the Acknowledgment of previous request.

-------------------------------------------------------------------------------------------------------------------------------------------------

  1. The host will contact the DNS servers to Resolve the Domain Name and getting the IP address. This will take   3RTTs.

 

  1. Now, client Establishes TCP connection with the gate-2023.in server that will take 1RTT 

                                 *****The last Ack is sent on HTTP Request Packet (piggybakced) *****

 

  1. Client sends HTTP request to get the Base HTML file and receives it in 1RTT.                                                                            
  1. Finally Client sends HTTP requests( PIPELINED ) for objects and receives all 10 objects in 1RTT . 

Everything together :

 

3RTTs (dns) + 1RTT(TCP connection establishment) + 1RTT(Html Base file) + 1RTT(objects) = 6RTTs

                                               

 

                                     For non-persistent HTTP with 5 Parallel connections

non-Persistent – TCP connection is made for each HTTP request and then closed.

 

5 parallel connections – 5 objects could be sent parallelly at same time.


  1. 3RTTs for DNS resolution.                                                                                                                                                                                            
  2.  1RTT for TCP connection establishment.                                                                                                                                       
  3. 1RTT for getting HTML base file.                                                                                                                                                     
  4. 1RTT for establishing TCP Connection again.                                                                                                                                       
  5. 1RTT for getting 5 objects parallelly ( 5 left ).                                                                                                                                       
  6. 1RTT for establishing TCP connection again.                                                                                                                                       
  7. 1RTT for getting remaining 5 objects.

Everything together:

                                                                                                                                                                                                                 3RTTs (dns) + 3RTTs (TCP connection establishment) + 1RTT (HTML Base file) + 2RTTs ( objects ) = 9RTTs

edited by
4 votes
4 votes

Answer: C, D

Persistent HTTP –  Multiple objects can be sent over a single TCP connection.

Non-Persistent – There can be at most one object that can be sent over a single TCP connection.

Persistent with pipeline

  1. 3 RTT for DNS Resolution (Given in Question 1st para)
  2. 1 RTT for TCP connection
  3. 1 RTT for HTTP Request & Reply (main HTML Page)
  4. 1 RTT for 10 small objects on the same web server( because of a pipeline)


The minimum elapsed time: 6 RTT

Non-persistent with 5 parallel TCP connections.

  1. 3 RTT for DNS Resolution (Given in Question 1st para)
  2. 1 RTT for TCP connection
  3. 1 RTT for HTTP Request & Reply (main HTML Page)
  4. 1 RTT for TCP connection
  5. 1 RTT for 5 small objects (parallel TCP connections).
  6. 1 RTT for TCP connection
  7. 1 RTT for other 5 small objects (parallel TCP connections).


The minimum elapsed time: 9 RTT

A similar type of question is in the standard book Computer Networking: A Top-Down Approach 6th Edition by Kurose & Rose

page no:173



Answer to this question:
https://cs.nyu.edu/~jcf/classes/CSCI-GA.2262-001/handouts/Homework2Solutions.pdf

edited by
Answer:

Related questions