Lesson 8 of 15
DNS Resolution
DNS Resolution
The Domain Name System (DNS) translates human-readable domain names into IP addresses. When you visit example.com, DNS resolves it to an IP like 93.184.216.34.
DNS Hierarchy
. (root)
/ \
.com .org
/ \
example mozilla
| |
www www
Record Types
| Type | Purpose | Example |
|---|---|---|
| A | IPv4 address | example.com -> 93.184.216.34 |
| AAAA | IPv6 address | example.com -> 2606:2800:... |
| CNAME | Alias | www.example.com -> example.com |
| MX | Mail server | example.com -> mail.example.com |
| NS | Name server | example.com -> ns1.example.com |
Resolution Process
- Client checks local cache
- Query recursive resolver
- Resolver queries root server -> TLD server -> authoritative server
- Response cached and returned
Your Task
Implement a DNSResolver class that simulates DNS resolution:
addRecord(domain, type, value)— adds a DNS recordresolve(domain, type)— resolves a domain, following CNAME chainsaddToCache(domain, type, value, ttl)— adds to cache with TTLresolveWithCache(domain, type, currentTime)— resolves using cache (returns null if expired)
Node.js loading...
Loading...
Click "Run" to execute your code.