Suppose in a web browser, you click on the www.gate-2023.in URL. The browser…

2023

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

Let RTT denote the round trip time between your local host and DNS servers in the DNS hierarchy. The round trip time between the local host and the web server hosting www.gate-2023.in is also equal to RTT. The HTML file associated with the 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 CORRECT about the minimum elapsed time between clicking on the URL and your browser fully rendering it?

  1. A.

    7 RTTs, in case of non-persistent HTTP with 5 parallel TCP connections.

  2. B.

    5 RTTs, in case of persistent HTTP with pipelining.

  3. C.

    9 RTTs, in case of non-persistent HTTP with 5 parallel TCP connections.

  4. D.

    6 RTTs, in case of persistent HTTP with pipelining.

Attempted by 73 students.

Show answer & explanation

Correct answer: C, D

Key insight: count every necessary RTT: DNS iterative queries (one per tier), TCP handshake, and the request/response RTTs for HTML and objects.

  • DNS resolution: No caching and iterative lookup across three DNS tiers requires 3 RTTs (one RTT per server contacted).

  • Retrieving the HTML page: 1 RTT for TCP three-way handshake + 1 RTT for the HTTP request/response (HTML is small) = 2 RTTs.

  • Fetching the 10 referenced small objects depends on HTTP connection behavior:

    • Non-persistent HTTP with 5 parallel TCP connections: objects are fetched in two sequential rounds (ceil(10/5)=2). Each round requires 1 RTT to open each TCP connection and 1 RTT for the request/response = 2 RTT per round → 4 RTT total.

    • Persistent HTTP with pipelining: after one TCP handshake you get the HTML, then you can send 10 pipelined GETs and receive all object responses in 1 RTT (no per-object handshake) = 1 RTT for all objects.

Final totals:

  • For non-persistent HTTP with 5 parallel TCP connections: 3 (DNS) + 2 (HTML) + 4 (objects) = 9 RTTs.

  • For persistent HTTP with pipelining: 3 (DNS) + 1 (TCP handshake) + 1 (HTML) + 1 (pipelined objects) = 6 RTTs.

Therefore, the statements claiming 9 RTTs for non-persistent with 5 parallel connections and 6 RTTs for persistent HTTP with pipelining are correct. Other listed values undercount necessary RTTs.

Explore the full course: Gate Guidance By Sanchit Sir