Address Resolution (DNS and ARP)

Context: FIT1047_MOC · translating BETWEEN the layer addresses — name→IP (DNS, application layer) and IP→MAC (ARP, data link layer) · addresses themselves in Network Addresses (URL, Port, IP, MAC)

Quick Revision

  • 🎯 Objective: browsing www.google.com.au needs TWO resolutions ➔ DNS turns the name into ; at the destination LAN, ARP turns that IP into the MAC for frame delivery.
  • ⚡ Key Constraint: iterative vs recursive DNS — WHO does the walking: the client (iterative, servers answer “ask X next”) or the DNS server (recursive, often with ISP caching).

📝 Core

DNS (Domain Name System) — name → IP

  • What ➔ application-layer protocol over a distributed database of names; servers arranged in a hierarchy mirroring domain structure: root zone → TLD (.au, .com, .edu) → organisation (unsw, unimelb) → host.
  • Iterative lookup ➔ client asks root → “ask .au” → client asks TLD → “ask edns-396.unimelb.edu.au” → client asks that server → gets — the CLIENT follows each referral.
  • Recursive lookup ➔ client asks one server (typically the ISP’s) which does the whole walk itself and returns the final answer — enabling the ISP cache that answers repeat queries instantly.

ARP (Address Resolution Protocol) — IP → MAC

  • The last-hop problem ➔ the destination LAN’s router holds a packet for but frames need a MAC.
  • Mechanismbroadcast “Who has ?” to the whole LAN; the owner replies with its MAC (00:23:ae:e7:52:85); sender frames and delivers.

⚖️ Core Decision Matrix

DNSARP
mapsdomain name → IPIP → MAC
layerApplicationData Link
scopeglobal, hierarchical serversone LAN, broadcast
cachingISP/OS caches answersper-host ARP cache

⚠️ Common Mistakes

  • 💡 Two resolutions per page view ➔ DNS once (name→IP), ARP at every LAN hop’s end (IP→MAC) — answers claiming one mechanism does both lose the mark.
  • 💡 ARP is broadcast by necessity ➔ you can’t unicast to a MAC you don’t yet know; the question IS the discovery.
  • 💡 Iterative ≠ recursive by answer quality ➔ both end with the same IP; they differ in who performs the chain (client vs server).

🧠 Active Recall