DNS Resolution & HTTP RTT Delay Calculations
“Iterative vs recursive queries, HTTP/1.0 vs 1.1 pipelining, and RTT counting.”
1.The Domain Name System (DNS) Resolution Hierarchy
§ 8.1.DNS is a distributed, hierarchical database mapped over UDP port 53 (and TCP port 53 for zone transfers or responses exceeding 512 bytes).
Hierarchy of DNS Servers:
1. Root DNS Servers (13 logical root server authorities worldwide, named a.root-servers.net to m.root-servers.net).
2. Top-Level Domain (TLD) Servers: Responsible for generic (.com, .org, .edu) and country-code (.in, .uk, .jp) domains.
3. Authoritative DNS Servers: The organization's own DNS server that provides definitive IP mappings for its hostnames.
Resolution Modes:
- Recursive Resolution: The client asks the Local DNS Server; if the local server doesn't know, it takes the burden of querying the hierarchy and returns the final answer directly to the client.
- Iterative Resolution: The queried server replies with a referral pointer: 'I don't know the answer, but ask this TLD server next.' The client (or local resolver) repeatedly contacts each successive server.
2. GATE Worked Numerical: HTTP Persistent vs Non-Persistent RTTs
Non-persistent HTTP requires a BRAND NEW TCP 3-way handshake for every individual referenced object! Persistent HTTP reuses the single established TCP connection.
Problem: A web client fetches a page containing 1 base HTML text file and 10 referenced JPEG images located on the same server. Neglect transmission delay and DNS lookup time. Calculate total RTTs under:
1. Non-persistent HTTP without parallel connections.
2. Persistent HTTP without pipelining.
3. Persistent HTTP with pipelining.
Step 1: Non-Persistent HTTP without parallel connections:
Each object requires: 1 RTT for TCP Handshake + 1 RTT for HTTP Request/Response = 2 RTTs.
Total objects = 1 (base HTML) + 10 (images) = 11 objects.
Total Time = 11 * 2 RTT = 22 RTTs.
Step 2: Persistent HTTP without pipelining:
Base HTML: 1 RTT (TCP Handshake) + 1 RTT (HTML fetch) = 2 RTTs.
TCP connection stays OPEN. Client sends a request for image 1, waits 1 RTT for image 1 to arrive, then requests image 2...
Each of the 10 images requires exactly 1 RTT.
Total Time = 2 RTT (base) + 10 * 1 RTT = 12 RTTs.
Step 3: Persistent HTTP with pipelining:
Base HTML = 2 RTTs.
Client sends back-to-back requests for ALL 10 images simultaneously in a single burst: takes only 1 RTT for all images to arrive.
Total Time = 2 RTT + 1 RTT = 3 RTTs!
Primary Academic References & Exam Sources
Every concept in Notes From a B.Tech Brain is synthesized from authoritative academic texts, seminal peer-reviewed research, verified exam archives, and renowned university lectures.
Curated for clarity, rigorous numerical solving, and semester excellence:
GATE-level numerical drilling and PYQ analysis.
Step-by-step conceptual walkthroughs with worked GATE numericals.
Clear whiteboard lectures for foundational and semester exam coverage.