4.3.23 · D5 · HinglishComputer Networks
Question bank — DNS — recursive vs iterative query, hierarchy, record types (A, AAAA, CNAME, MX, NS)
4.3.23 · D5· Coding › Computer Networks › DNS — recursive vs iterative query, hierarchy, record types
True or false — justify
Har answer side reason dega, sirf verdict nahi.
Ek recursive resolver aur ek authoritative server ek hi physical machine ho sakti hai.
Principle mein True hai lekin woh alag roles play karte hain: recursive resolver clients ke liye referrals chase karta hai, authoritative server ek zone ke records store karta hai. Inhe mix karna discouraged hai kyunki ek recursive-open authoritative server ko cache-poisoning aur amplification attacks ke liye abuse kiya ja sakta hai.
13 root servers ka matlab hai ki exactly 13 physical machines hain.
False. 13 root server identities hain (letters a–m, purane UDP packet-size constraints se limited), lekin har ek anycast ke zariye worldwide hundreds of physical instances par replicated hai — Anycast Routing dekho. Toh 13 se kaafi zyada boxes hain.
.com ka TLD server jaanta hai www.example.com ka IP address.
False. TLD server sirf
NS records jaanta hai — kaunsa authoritative server example.com handle karta hai. Actual A record us authoritative server par hota hai, TLD par nahi.Agar kisi domain ka koi MX record nahi hai, toh usse email karna simply impossible hai.
False. RFC (DNS/email rulebooks) ke anusaar, agar koi
MX record exist nahi karta toh sender domain ke A/AAAA record par fallback karta hai ("implicit MX"). Delivery abhi bhi host tak attempt ki jaati hai — SMTP and Email Delivery dekho.Ek hi naam ke liye ek A record aur ek AAAA record saath coexist kar sakte hain.
True aur common hai.
A IPv4 address deta hai, AAAA IPv6 address deta hai (dekho IP Addressing — IPv4 vs IPv6); ek dual-stack host dono publish karta hai aur client apni connectivity ke hisaab se choose karta hai.Ek CNAME record ki value ek IP address hai.
False. Ek
CNAME doosre naam (ek canonical hostname) ki taraf point karta hai, kabhi IP ki taraf nahi. Resolver ko phir us naam ko resolve karna padta hai jab tak eventually ek A/AAAA record tak na pahunche.Kisi record ka TTL kam karna DNS ko faster banata hai.
False — yeh changes ko faster propagate karta hai lekin resolution ko average par slower banata hai, kyunki caches jaldi expire hote hain toh zyada queries miss hoti hain aur hierarchy mein dobara jaana padta hai. TTL freshness aur cache efficiency ke beech trade karta hai (dekho Caching and TTL).
Query ka "recursive" hona matlab hai ki code mein ek function khud ko call kar raha hai.
Networking sense mein False. Ek recursive query ka matlab hai ki pucha gaya server final answer produce karne ki poori zimmedaari leta hai, jitna bhi legwork chahiye karta hai — yeh code recursion ke baare mein nahi, balki kaam ka maalik kaun hai iske baare mein hai.
Spot the error
Har line ek flawed claim batati hai; answer flaw ko naam deta hai.
"Mera laptop root ko, phir TLD ko, phir authoritative server ko iterative queries bhejta hai."
Error: laptop ka stub resolver apne configured resolver ko ek recursive query bhejta hai aur wait karta hai. Root→TLD→authoritative ka iterative walk recursive resolver karta hai, tumhara laptop nahi.
"ftp.example.com. IN CNAME 93.184.216.34"
Error: ek
CNAME ko ek naam ki taraf point karna chahiye, IP ki taraf nahi. Yeh ftp.example.com. IN CNAME www.example.com. hona chahiye (jo phir A record resolve karta hai), ya agar directly IP chahiye toh ek A record."Hum example.com. IN CNAME webhost.provider.net. zone apex par rakhte hain poori site ko alias karne ke liye."
Error: ek
CNAME zone apex par nahi ho sakta kyunki yeh doosre records ke saath coexist nahi kar sakta, aur apex par mandatory SOA aur NS records already hote hain. Iske bajaye A/AAAA use karo (ya provider ka ALIAS/ANAME)."example.com. IN MX 5 backup.example.com. hamara backup server hai aur example.com. IN MX 50 primary.example.com. primary hai."
Error: lower number = higher preference (pehle try kiya jaata hai). Yahan
5 backup record 50 primary record se pehle try hoga, jo intent ke bilkul ulta hai. Numbers swap karo."Root servers ko tab bhi update karna padta hai jab koi naya website register hota hai."
Error: root servers sirf TLD delegations jaante hain.
example.com register karna .com TLD ke zone ko update karta hai, root ko nahi — root already jaanta hai .com kahan hai aur kisi naye site ke liye kabhi nahi badalta."Kyunki maine TTL 0 set kiya hai, record kabhi cache nahi ho sakta, toh mera change har jagah instant hai."
Aadha galat: TTL 0 ka matlab hai resolvers ko cache nahi karna chahiye, lekin change sirf unke liye "instant" hai jo ise honour karte hain — aur yeh tumhare authoritative server par har query ka pressure dalta hai. Kaafi resolvers minimum TTL bhi enforce karte hain, toh "har jagah instant" guaranteed nahi hai.
"Ek CNAME chain a → b → c → A record invalid hai; ek CNAME sirf ek baar point kar sakta hai."
Error:
CNAME chains legal hain (har hop ek doosre naam ki taraf point karta hai jab tak ek A/AAAA na mile). Performance ke liye (extra lookups) discouraged hain lekin forbidden nahi — resolvers chain follow karte hain.Why questions
Reasoning explain karo, sirf restate mat karo.
Resolver→root query iterative kyun hai, recursive kyun nahi?
Agar root servers recursively answer karte toh woh poori duniya ke har client ki taraf se full lookup karte aur instantly melt ho jaate. Iterative unhe sasta rakhta hai: woh sirf sahi TLD ka referral dete hain aur kuch nahi.
DNS ek distributed tree kyun hai instead of ek central database?
Ek akela
HOSTS.TXT billions of hosts ke liye itni tezi se update, download, ya own nahi ho sakta tha. Namespace ko delegated tree mein todna matlab hai koi single machine sab kuch nahi jaanati — har level sirf agla jaanta hai, load aur authority spread hoti hai.Caching DNS ko billions of names ke baad bhi scale kyun karne deta hai?
Popular answers clients ke paas unke TTL ke liye store rehte hain, toh zyaatar queries hierarchy mein gaye bina instantly serve hoti hain. Ek high cache-hit fraction ek multi-hop lookup ko common case ke liye near-zero kaam mein badal deta hai (dekho Caching and TTL).
Ek CNAME useful kyun hai jab bhi yeh ek extra lookup add karta hai?
Yeh ek canonical host deta hai jisi taraf kaafi aliases point karte hain. Canonical host ka IP ek baar change karo aur har alias automatically follow karta hai — har alias ka
A record edit karne ki zaroorat nahi.Lowest MX preference number kyun jeetta hai?
Number ek preference rank / "distance" hai, importance score nahi. Senders sabse-preferred (lowest) pehle try karte hain aur sirf higher numbers par jaate hain agar woh unreachable ho, ek deterministic failover order deta hua.
Domain ko right-to-left padhna kyun matter karta hai?
Kyunki delegation sabse significant part (root) se neeche flow hoti hai: root TLD ko delegate karta hai, TLD domain ke authoritative server ko. Right-to-left actually tree ke neeche resolution path ko mirror karta hai.
Ek authoritative server tab bhi answer de sakta hai jab woh kahi cache nahi hua ho?
Kyunki woh source of truth hai — woh zone ke records store karta hai cache karne ki bajay. Uske answers "authoritative" mark hote hain aur bina kisi aur lookup ke trusted hote hain.
MX aur NS records ko real hostnames ki taraf point karna kyun chahiye, CNAME ki taraf nahi?
Kyunki RFC 2181 (DNS clarification standard) ise forbid karta hai: mail aur delegation logic target ko directly ek step mein address par resolve karna chahiye, aur ek
CNAME extra indirection introduce karta jo kaafi servers reject ya mishandle karte hain.Edge cases
Boundary aur degenerate scenarios jo topic invite karta hai.
Kya hota hai jab ek queried naam simply exist hi nahi karta?
Authoritative server ek NXDOMAIN (non-existent domain) response return karta hai. Yeh negative answer khud cacheable hai —
SOA record ka timer set karta hai kitni der — toh baar baar galat lookups authoritative server ko hit karte nahi rehte.Kya hoga agar resolver ka cache ek stale record rakhta hai jiska TTL abhi expire hua?
Woh entry ko absent treat karta hai aur hierarchy se re-resolve karta hai, phir fresh result cache karta hai. Purani value discard ho jaati hai — TTL exactly yeh promise hai "mujhe sirf itni der trust karo."
Kya hoga agar ek zone ke liye do authoritative NS servers disagree karte hain?
Unhe nahi karna chahiye — secondaries zone transfers ke zariye primary se pull karte hain. Agar woh diverge hote hain (misconfiguration ya failed transfer), ek client inconsistent answers le sakta hai depending on kaunsa server usne poocha; jo bhi reply karta hai use authoritative treat kiya jaata hai.
www.example.com. mein trailing dot kya hai?
Yeh root denote karta hai — yeh naam ek Fully Qualified Domain Name hai, relative ki bajay absolute. Dot ke bina, resolvers search domain append kar sakte hain (jaise
www ko www.mycorp.local mein badal sakte hain).Kya hota hai ek aisi naam ke liye jiske paas AAAA record hai lekin client ke paas IPv6 connectivity nahi?
DNS phir bhi
AAAA record return karta hai — DNS tumhari connectivity nahi jaanta. Client ki connection logic (aksar Happy Eyeballs) IPv6 try karta hai, fail ya timeout hota hai, aur A record ke IPv4 par fallback karta hai. DNS ne apna kaam kiya; reachability ek alag layer hai.CNAME ki taraf point karne wala MX record kya cause karta hai?
Yeh RFC 2181 ke anusaar invalid hai —
MX (aur NS) targets real hostnames hone chahiye jinke paas A/AAAA records hons, CNAME nahi. Kaafi mail servers ise reject ya mishandle karenge, toh hamesha MX ko ek aisi naam ki taraf point karo jo directly address resolve kare.Kya hoga agar resolution chain mein har server reachable hai lekin authoritative server ke paas requested type ka koi record nahi hai (jaise AAAA poochh rahe ho jab sirf A exist karta hai)?
Tumhe ek NODATA response milega: naam exist karta hai lekin woh specific record type nahi karta. Yeh NXDOMAIN (naam bilkul exist nahi karta) se alag hai aur similarly ek negative answer ke roop mein cacheable hai.
Ek zone ko "glue records" kyun chahiye jab uske apne NS servers zone ke andar hi hote hain?
Circular dependency: agar
example.com ka NS ns1.example.com hai, toh tum ns1.example.com ka address nahi dhundh sakte bina pehle ye jaane ki example.com kahan serve hota hai. Glue records woh ns1.example.com A record hain jo parent (.com) TLD par NS delegation ke saath stored hain, loop todne ke liye taki resolver actually authoritative server tak pahunch sake.Glue records kab nahi chahiye hote?
Jab zone ke
NS naam ek alag zone mein rehte hain (jaise example.com ns1.provider.net ko delegated hai). Phir ns1.provider.net independently .net ke zariye resolve hota hai, koi circular dependency nahi hoti, aur parent sirf NS record deta hai — koi glue nahi.Ek wildcard record *.example.com. IN A ... actually kya match karta hai?
Yeh kisi bhi naam ke liye answer deta hai jiske paas koi zyada specific record nahi — jaise
foo.example.com aur bar.example.com dono wildcard ke zariye resolve hote hain. Lekin explicitly defined naam (jaise www.example.com) precedence leta hai, aur wildcard deeper labels jaise a.b.example.com ko cover nahi karta jab tak woh bhi bina kisi closer match ke fall through na karein.Kya wildcard NXDOMAIN responses suppress karta hai?
Haan us type ke liye jo woh cover karta hai: kyunki ek matching naam ab wildcard ke zariye "exist" karta hai, queries NXDOMAIN ki jagah data return karte hain. Lekin ek aisi type ki query ke liye jo wildcard provide nahi karta (jaise
AAAA jab sirf ek wildcard A exist karta hai) NODATA milega, wildcard ka A nahi — wildcards naam-fallthrough par match karte hain, record types par nahi.Kya ek wildcard ek CNAME ho sakta hai, jaise *.example.com. IN CNAME target.?
Technically allowed hai aur CDNs ke liye use hota hai (dekho CDN and Load Balancing), lekin usual
CNAME rules abhi bhi laagu hote hain: wildcard sirf unhe match karta hai jinke paas koi zyada specific record nahi hai, aur yeh apex par help nahi kar sakta ya exact same wildcard naam par doosre data ke saath coexist nahi kar sakta.Recall Ek-line traps phir se drill karne ke liye
- Recursive = "Relax, main le aaunga"; Iterative = "I sirf point karta hun." Tumhara laptop ka stub resolver hamesha recursive bhejta hai.
- Root sirf TLDs jaanta hai; TLD sirf
NSjaanta hai (plus glue); authoritative record store karta hai. - Lowest
MXnumber = pehle try kiya jaata hai. CNAME→ ek naam, kabhi IP nahi, kabhi apex par nahi;MX/NSkabhiCNAMEki taraf point nahi karte (RFC 2181).- NXDOMAIN = naam gone; NODATA = naam yahan hai, type absent — dono
SOAtimer ke zariye cacheable hain. - Glue loop todta hai jab
NSnaam us zone ke andar rehte hain jo woh serve karte hain.