0
0
HLDsystem_design~12 mins

DNS and how domain resolution works in HLD - Architecture Diagram

Choose your learning style9 modes available
System Overview - DNS and how domain resolution works

The Domain Name System (DNS) translates human-friendly domain names into IP addresses that computers use to identify each other on the network. It is a distributed system designed to quickly and reliably resolve domain names to IP addresses, enabling users to access websites and services by name instead of numbers.

Architecture Diagram
User
  |
  v
Local DNS Resolver
  |
  v
Root DNS Server
  |
  v
TLD DNS Server
  |
  v
Authoritative DNS Server
  |
  v
Target Website Server
Components
User
client
Initiates domain name lookup requests
Local DNS Resolver
resolver
Caches and forwards DNS queries on behalf of the user
Root DNS Server
dns_server
Directs queries to the appropriate Top-Level Domain (TLD) servers
TLD DNS Server
dns_server
Directs queries to the authoritative DNS server for the domain
Authoritative DNS Server
dns_server
Provides the IP address for the requested domain
Target Website Server
web_server
Hosts the website or service the user wants to access
Request Flow - 9 Hops
UserLocal DNS Resolver
Local DNS ResolverRoot DNS Server
Root DNS ServerLocal DNS Resolver
Local DNS ResolverTLD DNS Server
TLD DNS ServerLocal DNS Resolver
Local DNS ResolverAuthoritative DNS Server
Authoritative DNS ServerLocal DNS Resolver
Local DNS ResolverUser
UserTarget Website Server
Failure Scenario
Component Fails:Authoritative DNS Server
Impact:Domain IP address cannot be resolved, users cannot reach the website
Mitigation:Use multiple authoritative servers with failover and DNS caching at resolvers to reduce impact
Architecture Quiz - 3 Questions
Test your understanding
Which component directs the resolver to the correct Top-Level Domain server?
ALocal DNS Resolver
BRoot DNS Server
CAuthoritative DNS Server
DTarget Website Server
Design Principle
DNS uses a hierarchical and distributed design to efficiently resolve domain names by delegating responsibility across multiple server types, combined with caching to reduce latency and load.